728x90
반응형

Pynecone

Pynecone 소개 (피네콘)

피네콘은 웹앱을 만들고 배포하기 위한 풀스택 프레임워크 이다.

(한국분들이 파인콘이라고 읽는데 피네콘이 맞는 발음이다)

댓글에 파인콘이라고 읽기도 한다고 하셔서 검색해보니 파인콘이라고 발음을 하네요.

일단 파인콘이라고 발음하는걸로 수정하겠습니다. 감사합니다.

 

Pynecone 풀스택 프레임워크의 장점

  • Pure Python (파이썬만 사용) : 다른 언어를 학습하지 않고 순수 파이썬 언어로 개발 가능
  • Easy to Learn (배우기 쉬움) : 별도의 웹개발 경험이 없이도 빠르게 웹앱을 개발 가능
  • Full Flexibility (유연함) : 작은 데이터 사이언스 앱 부터 대규모 다중 페이지 웹사이트 까지 구축이 가능
  • Batteries included (필요한 도구 모두 제공) : 앱개발에 필요한 프론트엔드,백엔드, 배포를 모두 처리 가능

 

 

Pynecone 설치

  • Python 3.7 이상
  • NodeJS 12.22.0 이상

 

 

가상 환경 (필요 시 설치)

 

 

개발환경 설치

pip install pynecone-io

많은것을 설치하는데 시간이 좀 걸린다. 멈춰있다고 종료하지 말고 충분히 기다리자.

 

프로젝트 생성

mkdir hello

cd hello

pc init

 

 

앱 실행

pc run

디버깅모드 실행 하려면

pc run --log-level debug

pc 는 pynecone 의 약어

웹서버가 구동되고 나면 웹브라우저를 실행 후 http://localhost:3000 접속

port는 default로 3000으로 설정되어 있으나 pcconfig.py에 port 를 변경 설정이 가능하다.

app 명칭은 hello 이다.

내부적으로 sqlite db 를 사용하는 것도 확인할 수 있다.

javascript  라이브러리 관리 모듈로 bun 을 사용하는것도 확인할 수 있다.

 

 

프로젝트 구조

 

.web 디렉토리

python으로 작성된 코드를 compile 하게되면 nextJS 형태의 소스로 전환해주어 .web 폴더에 생성해 준다.

nextJS 는 React 기반의 프레임워크이다.

개발자는 이 디렉토리의 파일들을 건들 필요가 없지만 디버깅시 유용하게 사용할 수 있다.

 

 

Assets 디렉토리

대부분 그렇듯이 Assets 디렉토리에는 정적인 데이터들이 보관된다. 예를 들면 이미지 파일, 폰트 같은 것들이 정적인 데이터들이다. 컴파일이 되면 .web/public 폴더에 저장 된다.

 

 

Config 파일

 

 

간략하게 Pynecone를 개발하기 위한 설치 방법과 디렉토리 구조를 확인해 봤다.

다음에는 프로젝트에서 사용되는 컴포넌트들에 대해서 작성해보겠다.

 

 

이 글은 Pynecone 공식홈페이지 Learn 문서를 번역/수정 했다.

https://pynecone.io/docs/getting-started/introduction

 

728x90
728x90
반응형

Electron
https://www.electronjs.org

 

Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS.

Build cross-platform desktop apps with JavaScript, HTML, and CSS.

www.electronjs.org

특징 : Chrominum 을 기반으로 여러 Frontend Framework 를 조합해서 개발

Tauri
https://tauri.app/

 

Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps

Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface.

tauri.app

특징 : Rust 언어로 만들어진 Form 에 여러 Frontend Framework 를 조합해서 개발

WAILS
https://wails.io

 

The Wails Project | Wails

Build beautiful cross-platform applications using Go

wails.io

특징 : Go 기반에 여러 Frontend Framework 를 조합해서 개발

===================================

대표적인 Cross Plaform Application 개발 기술들이다.

Electron이 가장 오래되었고 각종 유명한 프로그램들이 Electron을 기반으로 만들어졌다.

가장 대표적인건 VS Code 이다. 

하지만 Chrominum 자체 배포에 용량이 크다는 문제점이 제기되는데 대안으로 Rust 언어로 만들어진 Tauri가 차츰 조명을 받으며 부상하고 있다. 

그리고 Tauri와 WAILS 의 비교를 보면 Tauri가 현재 좀더 핫하긴한데 특이한건 Wails의 성장속도가 꽤 가파르다는 사실이다. 아무래도 Rust 언어의 학습곡선보다 훨씬 낮은 Go 언어의 장점이 개발자들에거 더 어필하고 있는것 같다. Wails의 특장점은 아직 자세하게 파악되지 않았다. 그래서 다음 링크를 대체하려고 한다.

https://www.libhunt.com/compare-tauri-vs-wails

 

tauri vs Wails - compare differences and reviews? | LibHunt

First of all, I do like sciter, it's fresh air in wails,webview,electron & tauri.There are several cases why I prefer an electron: BrowserView, FileSystem api, newer css feature(Interop 2022 are greate), and all the newer js feature I use but I don't know

www.libhunt.com

 

728x90

+ Recent posts