-
Angular 2 , React , Js 를 이용한 Native appAngular 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의 기본 개념은 꼭 공부해 둡시다.
'Angular' 카테고리의 다른 글
5장) Angular 2 -HeroEditor- (2) (7) 2017.01.08 4장) Angular 2 -HeroEditor- (1) (1) 2017.01.05 3장) Angular 2 프로젝트 폴더구조 살펴보기 (7) 2017.01.03 2장) Angular 2 작동방식 살펴보기 (0) 2017.01.02 1장) Angular 2 개발을 위한 환경설정 (0) 2017.01.01