자유
안드로이드 클리앙 앱을 만들어 보았습니다.
조회 1,461 · 공감 1 · 댓글 0
안녕하세요. 클리앙을 아주 오랫동안 눈팅만 하던 개발자입니다^^ (old 셀빅xg 유져)
그동안 다른 커뮤니티 앱을 사용하였는데, 신도심도 생기고 몇가지 가려운 점들이 있어서 직접 만들어 보았습니다.
그리고 이왕 만드는 김에 세상의 모든 커뮤니티들을 단순화(?)할 수 없을까 해서,
보안과 UI/UX에 신경 쓴다고, 설계가 좀 과도한 면이 있습니다^^;
개발 스택은 Flutter(dart) + golang 이고, Frontend(View), Backend(Engine), Parser(Script)을 완벽히 분리한 구조로 만들었습니다.
그래서,
* dart 에서 grpc service를 만들고, UI(View) 관련된 API 디자인.
* golang 에서 grpc service를 만들고, Backend API 디자인. 각각 서로 grpc client를 만들어서 FFI로 통신합니다.
(주의! 네트워크 아님, in-process에서 CABI, JNI대신 grpc 사용. 이걸 위해서 별도 라이브러리를 오픈소스로 만들었습니다. https://github.com/ivere27/synurang 다음에 설명글 올려보겠습니다.)
* golang 에서 extention(javascript. fetch&paser logic)을 관리합니다.
주요 기능으로는
* 익명 - 어떠한 개인정보도 수집하지 않습니다. 모든 파싱은 클라이언트 단에서 합니다(중간에 다른 미들서버 없습니다)
* 파서 - 기존 앱들의 문제는 파서가 하드코딩되어 있습니다. 그래서, 웹사이트가 변경되면 앱이 먹통이 된 경우가 많아요. 파서를 직접 추가/수정할 수 있습니다.
* UI/UX - 커뮤니티마다 동일한 화면을 사용합니다. (화려한 웹사이트보다 그저 Post 컨텐츠에 집중합니다.)
* 익스텐션 - 원하는 대상 커뮤니티가 있다면, 직접 추가할 수 있습니다. 국내 top10 커뮤니티는 직접 만들어 올려놨습니다. 오픈소스!
https://github.com/tempage/synura 클론해서, 코딩에이전트한테 "clien.js 참고해서 대상 <domain> 파서만들고 synurart 로 검증해줘" 해보세요
(javascript extention은 github같은 공개된 repo에 올리셔야 합니다. private gist 이용하셔도 됩니다.)
* 동영상 - 백그라운드 재생 지원합니다!!(rss+cputime 을 최소화 하기 위해 가장 시간이 많이 들어갔습니다만, 아직 버그가 있어요 ㅠㅠ)
다른 게시판에 올려보고 싶지만, 광고가 될거같아 '개발한당'에 올립니다.ㅎㅎ
사용해 보시고, 많은 피드백 부탁드립니다^^
* Play Store: https://play.google.com/store/apps/details?id=io.tempage.synura -> 확장프로그램-> clien 선택
* Doc & Opensource : https://github.com/tempage/synura
감사합니다.

댓글 0