React Native 연동은 아직 쉽지 않네요

155 views
Skip to first unread message

CH

unread,
Oct 18, 2015, 8:51:42 PM10/18/15
to Korean Clojure User Group
선현들의 작업을 개조해서 샘플 프로젝트를 만들었습니다만,
뭔가 깔끔하게 구성돼 내가 필요한 부분만 코딩하는 Bootstrap 템플릿은 아직 충분하지 않군요.
그게 필요한가? 하실지도 모르겠지만, 뭐든 세팅이 번잡하면 결국 보급이 느려집니다.

Om을 이용한 것은 원스탑 패키지가 나오긴 해습니다. 
natal

reagent는 두가지 데모가 있습니다.

정말.. 그냥 실행은 됩니다. 근데 어떤 원리로 이게 작동되는지 신기해요. out폴더 지우고 cljs 재빌드만 해도 더이상 실행이 안됨. 제가 뭘 잘못한 건지도?

위의 것에 Ambly 를 추가한 겁니다. REPL이 되는데 대신 에디터에서 실시간 cljs 수정하다가 코드를 잘못 치고 저장하면 바로 앱이 죽는 문제가 있습니다.
뭐가 문제지? 하시겠지만 ,
REPL이면 개발자의 코딩실수는 오류만 표시하고 개발환경 자체는 살아있어야 한다고 보는데, 앱 자체가 그냥 죽어요.
REPL을 쓰는 이유가 try & error 라 생각하는데 그걸 안된다는게...

Om VS Reagent 는 .. Reagent 가 더 쓰기 편하다는 의견이 많긴 한데요. 실제 써보신 분들 의견도 듣고 싶습니다.

JUNG-LAE JO

unread,
Oct 18, 2015, 9:42:50 PM10/18/15
to cloju...@googlegroups.com
안녕하세요. 오랜만에 발언을 해보네요. (기억 못 하실테지만!;)

저는 reagent 를 선호하는 편인데요, 배우기 쉽고 원하는 동작을 구현하는 데 걸림돌이 되는 요소가 없기 때문입니다.

아래 유틸? 성 코드 조금 수정하고(:component-did-mount, :component-did-update) extern 으로 뺀 interop 이면 다 되더라고요.



2015년 10월 19일 오전 9:51, CH <apps...@gmail.com>님이 작성:

--
이 메일은 Google 그룹스 'Korean Clojure User Group' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 clojure-kr+...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 cloju...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/clojure-kr/c8602f42-8a1a-49e6-938e-307dbe0167c7%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

박상규

unread,
Oct 19, 2015, 7:07:40 AM10/19/15
to cloju...@googlegroups.com
React-Native 관련해서는 어떤지 모르겠습니다만,
Om과 Reagent에 관해서라면 단연코 Reagent가 더 쓰기 편한 것 확실합니다.


이유는 Om과 Reagent의 개발 시기와 관련이 있습니다.
둘 다 페이스북의 ReactJS를 Clojurescript로 랩핑인데,
Om은 JSX가 ReactJS가 들어가기 전에 개발된 것이라는 점입니다.

JSX는 페이스북이 ReactJS를 만들어 사용하다보니 component 만드는 것이 좀 불편해서 좀 더 편하게 하기 위해 만든 DSL입니다. 덕분에 ReactJS component를 만드는데 필요한 생명주기라든가 state&prop에 대해서 잘 몰라도 component 만들 수 있는 추상화 도구가 생긴 것이죠.

Om은 JSX가 나오기 이전의 ReactJS를 Clojurescript로 랩핑한 것이라, component를 만들려면 생명주기라든가 state&prop들을 관리해 주어야 하는 이슈가 발생합니다.

반면 Reagent는 JSX를 기반으로 하기 때문에 생명주기나 state&prop을 몰라도 됩니다. 물론 나중에 좀 더 고급한 사용을 위해서는 그런 지식이 필요한데, 그때는 그에 따라 생명주기에 맞추어서 개발하는 것도 가능한 방법을 제공해 줍니다.

또한 Reagent는 Ratom이라는 개념이 마치 일종의 Flux 개념을 포함해 주는 면도 있어서, ReactJS + Flux의 이점도 바로 누릴 수 있습니다. 물론 완전하게 하려면... re-frame 같은 것이 필요할 것 같고요.

하지만 Om이 경우에는 app state의 변화가 component에 반영되기 위해서는 ReactJS의 로직을 따라야 하기 때문에 좀 제약이 생길 수 있을 듯 하구요.


2015년 10월 19일 오전 9:51, CH <apps...@gmail.com>님이 작성:
선현들의 작업을 개조해서 샘플 프로젝트를 만들었습니다만,

CH

unread,
Oct 19, 2015, 10:54:35 PM10/19/15
to Korean Clojure User Group
인터넷 검색 해보면 Om 썼다가 Reagent 로 바꿨다. 얘기도 나와서.. 
처음 시작하기에는 Reagent 가 나을 것 같군요.

현재 작업은,
ObjC로 만든 네이티브 프로젝트를 React Native프로제트로 바꿔 포팅하고 , 이걸 다시 Reagent 로 바꾸고 있습니다. 
하지만 React Native에 Reagent 붙이는 작업이 best practice 가 없네요.

Reply all
Reply to author
Forward
0 new messages