1P by ohah173 | ★ favorite | 댓글과 토론

지그로 만든 일렉트론 라이크입니다.
제목은 사실 멋있게 적었지만 그냥 zig로 만든 데스크톱 프레임워크입니다.
일렉트론은 사실 데스크탑앱을 개발하면 피할 수 없는 앱이라고 생각하는데,

특히 맥과 윈도우 환경을 동시에 고려하고, 빠른 생산성을 가져가려는 점에서 일렉트론만한 매력이 있는 프레임워크가 없다고 생각합니다.

JS 생태계를 그대로 활용할 수 있고, 시장에서 검증 받았으며(vscode, slack, discord 등)

그 범용성과 장점 만큼 사용처가 많다보니 단점도 많이 알려져있고 욕도 많이 먹는 프레임워크죠

저도 그러한 불만을 가진 유저층 중 한명인데,

그게 싫어서 타우리를 써보았지만 타우리도 시스템 웹뷰라는

고질적인 한계(?)와 백엔드 언어가 타우리를 쓰면 러스트로 제한되고,

일렉트론을 쓰면 노드로 제한되고,

웨일즈를 쓰면 Go로 제한되는게 싫었습니다.

물론 FFI 쓰면 다른 언어들도 넣을 수는 있지만..

사실 특히나 요즘 같이 언어 장벽이 많이 무너진 시대에 프레임 워크로 인해 언어 제약이 있는게 싫었습니다.

zig, rust, go, lua, node

를 각각의 백엔드 언어로 선택 할 수 있고, 동시에 여러 언어를 선택해서 백엔드 언어를 여러개로 세팅 할 수도 있습니다.

백엔드 언어는 가능한 계속 추가할 생각입니다.
pyhton이나 루비두요.

언어가 여러개 들어갈 수 있는 만큼, 각각의 백엔드 언어끼리 ipc를 통해 통신이 가능하구요.

예를 들어 sqlite를 호출 할때 노드에선

better-sqlite3를 설치해서 해야하는데, sqlite 같은경우 내장 플러그인으로 포함이 되어있기도 하고, zig에게 노드가 직접 호출해서 사용하는 특징을 가지고 있습니다.

모바일로도 빌드 가능한 상태지만 아직까지 맥을 제외한 나머지는 불안정합니다.
ios만 정책상 백엔드언어로 node 사용 불가.

현재 맥은 실제 빌드 및 제품 생산이 가능한 상태이고, 윈도우와 리눅스는 일부 보완이 필요
모바일도 지원 예정 중에 있습니다

타우리에서 겪은 시스템 웹뷰의 단점 때문에

맥에서는 시스템 웹뷰 하지 않을 생각입니다.

API나 사용법은 최대한 일렉트론의 API와 동일하게 갖추었고,

AI가 개발하기 쉬운 문서와 스펙이 있어, 사실 문서 링크만 걸어놓으면 알아서 E2E까지 검증하기 떄문에 다른 경쟁(?) 프레임워크에 비해 AI 생산성이 압도적으로 뛰어난(?) 프레임워크라고 보실 수 있습니다.

사실 그냥 일렉트론, 타우리 짜증나서 만든거고,
개인적으로 이제 DX도구나 데스크탑앱을 만들땐 suji를 사용해서 개발하는데,

제가 잘못 측정한걸수도 있지만 FFI를 통한 호출보다 이 구조가 더 빠른 형태로 언어간 통신이 가능해서 더 만족중이구요.

간단한 앱 제작 및 언어에 제약 받지 않고 무언가를 빠르게 찍어내는데 있어 일렉트론이나 타우리보다 더 빠르다고 느껴서 개인적으론 만족중인데

이게 그냥 제가 만들어서 만족 하는건지 아닌지 궁금하기도하고, 다른분들은 이러한 아이디어와 접근방법에 대해 어떻게 생각할까 듣고 싶어서 올립니다!

댓글과 토론