ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Angular 2 , React , Js 를 이용한 Native app
    Angular 2016. 11. 16. 17:44




    원래 계획대로 Angular 1 을 이용한 MeanStack 에 이어서 이번엔 Angular 2 로 MeanStack 을 만들려 합니다. 

    1 에 비해서 Component (React ?) 중심으로 다시 돌아온 2의 장점을 살펴보면 뭐니뭐니 해도 React 에게 무참히 

    패배했던 퍼포먼스와 스피드가 비약적으로 발전한 것 입니다.


    출처 : https://auth0.com/blog/more-benchmarks-virtual-dom-vs-angular-12-vs-mithril-js-vs-the-rest/

    (출처에 가면 좀 더 처참한 결과를 볼 수 있습니다. )


    그렇기에 가능하다면 Angular 2 로 갈아타야 하는데 , 우리의 구글은 Angular 2 에 TypeScript 를 

    도입하여 개발하기 시작합니다. 

    처음 Angular2 를 접할 때 TypeScript 로 개발해야 한다는 사실에 ( 순수 Javascript 로도 가능은 합니다.) '안그래도 

    공부해야 할 프레임워크,라이브러리가 계속 쏟아져 나오는데 또 다른 걸 배워야 되나'  하면서 쉽고, 빠르고 , 재밌는(?) 

    React 로 이동한 분들이 많을 겁니다.  

    엄밀히 따지면 angular 와 react 는 프레임워크와 라이브러리의 차이가 있지만 , 결국 하는 짓(?)은 비슷합니다.

    React 좋습니다.  빠르고 , 가볍고 , 배우기 쉽고 , 추가로 ReactNative 를 사용한 App 개발도 가능하고 

    .. 쓰다보니 이상하네요. 


    어쨌든 Angular2 도 충분히 빠르고 , 가볍고 (요새 다시 무거워지고 있네요..) , 배우기 쉽지는 않지만 

    할만하고 (1에 비해서는....) , 추가로 NativeScript 를 활용한 App 개발도 가능합니다. 

    블로그에는 처음부터 끝까지 올려볼 생각인데, 시간이 얼마나 걸릴지는 모르겠습니다. 


    참고로 ReactNative 와 NativeScript 는 지향하는 바가 다릅니다. 

    "Learn ones , write everywhere "

    React 가 출시하며 나온 문구인데 말그대로 React 하나를 배워놓으면 Web , mobile , native program, iot 등 

    모든 곳에서 사용할 수 있도록 React 자체의 범용성을 확장시키는 것이 페이스북의 생각입니다. 

    ReactNative 같은 경우 React 의 문법을 고대로 사용하기에 , React 를 먼저 배워두면 아주 쉽게 접근 할 수 있습니다. 

    ReactNative 의 IOS 와 android 의 코드 공유성은 80% 이상 입니다. 

    다만 ReactNative 를 이용하여 App 을 만들때는 Android 와 ios 의 네이티브 코드를 어느정도 알아야 합니다. 


    반면 NativeScript 같은 경우  

    "Write and deploy native mobile apps for ios , android from a single code base" 

    이들은 IOS , Android 의 개발 코드 공유 100% 를 목표로 달려가고 있습니다. 

    실제로 NativeScript 는 한번의 코드로 두가지 플랫폼에서 다 작동하도록 만들어져 있습니다. 

    ReactNative 와는 결과물은 비슷할지 몰라도 작동방식은 다릅니다. 

    NativeScript 같은 경우 현재 사용되는 Android 와 ios 의 Native api 를 모두 사용할 수 있습니다.  

    이 부분에 관해서는 나중에 Nativescript 를 진행하며 알아보겠습니다. 


    무엇이 좋을지 , 뭐가 빠를지에 대해서는 아직도 많은 언쟁이 있지만, 결국엔 나에게 맞는 걸 찾아서 쓰면 됩니다. 

    어짜피 Java 와 Swift 로 만든 Native App 을 이기지는 못 하거든요.  

    다만 Js로 개발을 하는 만큼 기존의 프론트엔드 개발자들이 이제 백엔드를 넘어서 App 까지도 손쉽게(?) 

    건드릴 수 있어진 걸 보면 시대가 참 많이 변했습니다. 

    번외로 MS에서 인수한 Xamarin 은 C# 으로 IOS 와 Android 를 만들 수 있습니다. 

    우와 짱이다  C# 만 배워놓으면 Web, app , Unity 등 다 할 수 있네 라고 생각하겠지만 , Xamarin 으로 

    만든코드를 보면 java 로 안드로이드를 개발하는 것 과 모양이 똑같습니다. IOS 도 마찬가지구요. 

    그냥 언어만 C# 으로 바꼈다고 보면 되기에 , Xamarin 으로 개발하기 위해서는 기존 Android 와 IOS 개발에 

    많이 익숙해야 개발이 가능합니다. 

    그래도 우월한 C# 의 기능을 적용할 수 있다는 점에서는 정말 좋아 보입니다. 


    어쨌든 시작은 Angular 와 TypeScript 입니다.  

    구글이 3월달에 Angular 4 버전을 내놓는다기에 사람들이 다소 혼란이 있었지만 

    1 에서 2로 가는 만큼의 변화는 없을 것이라고 했기에, 어느정도 진정이 된 듯 하고, 

    Angular 든 React 든 결국 가장 중요한건 이들은 Javascript 입니다. 

    여러분 Js의 기본 개념은 꼭 공부해 둡시다.  

    댓글