자바스크립트

아이오닉 앵귤러를 써보면서 장점, 단점

마리오64 2021. 9. 10. 03:25

.앵귤러를 쓰게 될줄은 꿈에도 몰랐습니다

사실 앵귤러는 전부터 꾸준히 점유율이 하락하고 있었고 신규로 쓰는곳이 있을까?

이런 생각이였거든요.

입사하고 보니 하이브리드앱이 앵귤러 JS와 앵귤러5 그리고 외주로 시작된 앵귤러10 이렇게 있네요

장점 - 

앵귤러를 쓰기에 타입스크립트를 써야하고 아이오닉 프레임워크도 5버전은 비동기 컴포넌트위주로 되어있어

로딩이 개선되었습니다.

앵귤러의 RxJS 를 이용하여 스트림형태의 데이터를 구독하는 방식으로 쓸 수 있었습니다.

- 리엑트에서는 RxJS는 리엑트의 생명주기랑 충돌되서 안맞다고 하더군요.

앵귤러의 주의사항은

AOT 컴파일을 하지않았을때 최적화 되지않아 속도가 상당히 느리다는 점이였습니다.

AOT 컴파일을 하기위한 조건을 맞추려면 클래스 맴버변수를 public으로 해야하는등 코드를 수정해야됩니다.

담당앱의 Package.json

 

아이오닉기반 하이브리드앱의 단점

네이티브기능을 쓰기위해서 cordova 패키지들을 가져다 쓸 수있었는데요

문제는 상당수의 cordova 패키지들이 관리되지 않아서 새로운 안드로이드 / IOS 버전에 대응하지않았고 

패키지를 수정해야되는데 결국 안드로이드 / IOS 구조와 java, swift등의 언어를 알아야합니다.

담당앱의 pakage.json

특히 푸시메시지관련이 안드로이드 8버전, IOS 12이후로 안되고있어서 찾아보고

sim 모듈도 수정하게 되었네요

플루터/리엑트네이티브쪽은 사용자가 많아서 해당프로젝트의 개발(컨트리뷰트 등)도 활발하고 관리가 잘되고있다고 합니다.

 

아이오닉쪽에는 cordova 말고도 capacitor.js 가 있습니다.

캐패시터쪽 모듈은 해당재단에서 쭉 관리해서인지 최신 OS 지원이 잘되고 있던데요

기본 모듈을 제외하면 cordova 모듈을 써야하는건 마찬가지입니다.

안드로이드는 그동안 한게있어서 그나마 수월했지만 IOS 쪽은 오브젝티브C에다가 첨보는게 많아서

삽질 많이 했네요.

 

요약: 하이브리드 앱도 네이티브플랫폼과 해당 플랫폼 언어를 알아야한다.

하이브리드 앱 플랫폼은 생태계가 활발한 리엑트네이티브와 플루터를 선택하자. 입니다.