프로젝트 소개
go-flutter는 Flutter를 데스크톱 플랫폼으로 가져오는 비공식 오픈소스 프로젝트입니다. Flutter는 단일 코드베이스로 iOS와 Android용 네이티브 앱을 만드는 데 목적이 있으며, 이 프로젝트는 Go와 GLFW를 사용해 그 접근 방식을 Windows, macOS, Linux로 확장합니다.
Flutter 엔진 자체는 마우스 및 키보드 입력과 같은 데스크톱 플랫폼 관련 사항을 처리하지 않습니다. 대신 플랫폼이 구현할 추상화 계층을 노출합니다. go-flutter는 Windows, macOS, Linux에서 실행되는 단일 코드베이스로 Flutter의 Embedding API를 구현합니다. 렌더링에는 GLFW를 사용하는데, 이는 각 플랫폼에서 OpenGL 버퍼, 마우스, 키보드에 적합한 추상화를 제공하기 때문입니다. Go는 플랫폼 전반에서 일관된 도구를 제공하고 코드를 단순하고 읽기 쉽게 유지해 주기 때문에 선택되었으며, 이는 크로스 플랫폼 플러그인을 만들 때 도움이 됩니다.
시작하기: 권장 경로는 데스크톱에서 핫 리로드를 포함해 Flutter 앱을 설정, 빌드, 실행하기 위한 공식 go-flutter 도구인 hover를 설치하는 것입니다. 이 프로젝트는 hover 튜토리얼과 별도의 예제 저장소를 안내합니다. 더 자세한 정보는 위키에서 확인할 수 있습니다.
지원 기능에는 Linux, macOS, Windows; 핫 리로드; BinaryMessageCodec, BinaryMessageChannel, StandardMessageCodec, JSONMessageCodec, StandardMethodCodec, MethodChannel을 포함한 플러그인 시스템; 지원되는 플러그인에 대한 플러그인 감지; 사용자 정의 프로젝트에 Go 라이브러리로 가져오기; UTF-8 텍스트 입력; 클립보드 복사 및 붙여넣기; 창 제목과 아이콘; ctrl-c, ctrl-v, ctrl-x, ctrl-a, Home, End, shift-Home, shift-End, ctrl 및 shift 보조 키를 사용한 화살표 탐색, Backspace, ctrl-Backspace, Delete와 같은 표준 키보드 단축키; 마우스 오버/호버링; 마우스 버튼; 원시 키보드 이벤트; windows-msi, mac-dmg, linux-appimage 등을 포함한 배포 형식; Docker를 사용한 크로스 컴파일이 포함됩니다.
예제는 별도 저장소에 있으며, 일부 인기 플러그인은 전용 플러그인 저장소에 이미 구현되어 있습니다. 위키에는 플러그인 생성에 관한 튜토리얼이 있습니다.
버전 호환성: 이 프로젝트는 Flutter의 beta 채널과 호환성을 유지하려고 노력하며, 최신 안정 Go 릴리스와 호환되고, GLFW v3.3에는 go-gl/glfw를 사용합니다. 이 프로젝트는 BSD 3-Clause License에 따라 라이선스가 부여됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.