크로스 플랫폼 소개 Ionic Framework

타이타늄으로 개발하시는 분들이기에 크로스 플랫폼에 다들 관심이 있으시리라 생각되어 올립니다.
여기 오시는 분들께서는 소프트웨어를 개발하는 회사를 운영하거나 개발자들이 있으실텐데요.
이번에 Ionic 로 개발하는 프로젝트가 있어 사용하다보니 앱을 쉽게 개발할 수 있는 장점이 있더군요.

Ionic은 native로 감싸진 모바일웹 툴입니다. PhoneGap(Cordova) + Angular 가 혼합된 툴이예요.
사용해보니 이미 갖추어진 UI, 애니메이션, 그리고 개발 속도면에서 좋더군요.

일단 저의 경우 타이타늄으로 개발하다보면 iOS는 별다른 문제가 없는데 Android 디버깅하는데 시간이 많이 소요되곤 했었는데요. 저의 경우 아직 타이타늄에 익숙해 더 편합니다만 기본적으로 WebApp이다보니 플랫폼에 상관없이 잘 돌아가니 시간이 많이 절약됩니다.

성능에 대해 궁금하시는 분들이 있으리라 생각되는데요.
저도 지금 개발하며 테스트해보고 있는데 비교적 간단한 앱이라 아직 큰 차이는 느끼지 못하겠네요.
나중에 개발이 끝난 후 궁금하신 분들이 있으면 더 나눌께요.

소프트웨어 개발회사에서 일하시다보면 개발시간은 곧 비용 이고 어떤 클라이언트는 툴에 관계 없이 저렴한 비용에 집중하는 클라이언트도 있고 앱에 따라 적용해야 하는 기능과 툴이 다를수 있기 때문에 다향한 툴을 다룰수 있다면 많은 도움이 되시리라 생각되네요.

Ionic : 아이오닉 website

Ionic으로 개발 되어진 앱들

1개의 좋아요

저도 Ionic으로 앱을 하나 만들어 봤습니다. angular.js 학습에 부담이 있지만, 충분히 배울 가치가 있는 것 같네요.
cordova plugin을 Ionic에서 쓰기 쉽도록 ngCordova라는 플러그인 wrapping project가 있어서 생산성이 잘 나오는 편입니다. 그럼에도 불구하고, 뭐랄까 configuration이 제 각각이고 가령 폴더 구조나 이런 것이 convention이 없이 마음대로입니다. 자유가 주어졌지만, 그 자유를 누리기 힘든 저 같은 사람에게는 ember.js 가 더 좋아 보이기도 합니다. (convention over configuration)
제가 rails로 개발하는 취향이 있어서 ember 궁합이 더 맞는 것 같아요.

작년 말부터 ES6문법을 앞세워서 angular 2 기반의 Ionic 2가 나왔습니다. 기존에 억지로 객체지향을 구현하려고 하던 것들이 좀 더 편리하게 구현할 수 있게 됩니다. 새로 시작한다면 2버전으로 시작해도 좋을 것 같네요.

udemy같은 사이트에서, Ionic관련 강좌들이 많이 있어서 시작하는 분들은 동영상 강좌로 시작하는 것을 추천합니다.

최근의 크로스 플랫폼 동향을 볼 수 있는 흥미로운 트윗이 있습니다.(@maxlynch)

그림에서 보듯이 Titanium이나 Intel XDK 같은 Cordova 기반의 cross platform의 약진이 계속 되고 있습니다.(3년사이에 2배) 아울러, Xamarin이나 Unity처럼 .net기반의 runtime library를 지원하는 케이스 역시 많이 성장했습니다. 아쉽게도 Titanium은 절반 수준으로 줄어들고 있네요. 최근에 인수된 이유야 여러가지가 있겠지만 자체 성장이 안되기 때문이 아닐까 짐작해봅니다.

생산성 측면에서는 점점 크로스 플랫폼으로 갈 수 밖에 없는 상황이니 계속해서 수효는 있을 것이지만, 개발 환경의 변화는 계속 공부해야 하게 만드는 것 같네요.

tidev포럼에 정말 오랫만에 로그인해서 글 써봅니다. 다들 안녕들하시지요? :slightly_smiling:

최피디님 안녕하세요. :smile: 오랜만입니다.

위 그래프에서 %가 뭘 의미하는 건지 궁금하네요. :confused:
그리고 Appcelerator의 인수는 어떤 의미일지 궁금하고요.
몇달 이내에 자세한 내용에 대해서 알려준다고 하니 기다려지네요.~ ti sdk 6.0에서의 hyperloop와의 더 긴밀한 통합도 기다려지고요.

계속 소식 알려주세요~.

저도 확실하진 않지만, 개발자들이 사용하는 비율이 아닐까요?(market share) 출처가 Vision Mobile’s Cross-Platform Development report published in July 2015 이니 이 리포트를 한 번 들춰보면 더 자세한 내용이 나올 것 같아요.

현재 미국에서 가장 큰 통신회사인 Verizon이 Ionic으로 자사의 비지니스앱을 만드네요.
제가 3월중에 프로젝트에 참여 할 것 같은데요. 그곳의 개발방법과 사용하는 방식이 궁금해지네요.

1개의 좋아요

Ionic을 쓰면 크게 다를 게 없을 겁니다. 다만 레거시가 Ionic 1.x 일 가능성이 많지요.
앞으로 새로 개발하게 된다면 2.x로 개발하는게 맞을 것 같기도 합니다.

질문이 있습니다.
혹시 ionic 기반으로 android / ios 를 개발한다면
네이티브 측면에서 접근할 수 있는 코어부분에 대한 제약이 있을거라 생각하는데
ex) 잠금화면 컨트롤, GCM 등…
이런 부분에 작업이 필요한 경우는 ionic 을 도입하기 어려울가요?

ionic으로 개발한다는 건, cordova 위에서 angular.js로 개발한다는 말을 포함하는 것입니다.
따라서, cordova의 native지원에 의존적입니다. 즉, cordova로 되는 것들은 ionic개발할 때 모두 가능하다고 보면 될 것 같습니다.

답변감사합니다.
의존적이지만 그래도 네이티브 전체 기능을 구현하는데는 어느정도 제약이있고
그 제약으로 인해 아이오닉 도입으로 완벽히 해결할 수는 없는 부분도 있는건가요?

네에 맞습니다.
Cordova로 만든 앱들이 네이티브와 똑같이 움직일 수 없지요. 제가 접해본 바로는 앞서 말씀하신 ‘잠금화면 컨트롤’ 경우 cordova로 제어할 수 있는 앱을 본적은 없네요.

1개의 좋아요

https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/