PhoneGap 및 Cordova 이후 모바일 앱 개발

Todd Anglin은 Progress의 제품 전략 및 개발자 관계 담당 부사장입니다.

거의 10 년 동안 PhoneGap은 웹 개발자에게 기본 장치 기능에 액세스 할 수있는 모바일 앱을 만들기위한 마찰이 적은 경로를 제공했습니다. PhoneGap을 사용하면 많은 개발자가 이미 알고 있고 좋아하는 기술과 JavaScript 라이브러리를 사용하여 iOS 및 Android (한동안 Windows Phone 및 BlackBerry까지) 용 앱을 만들 수 있습니다. 이러한 웹 기술과 기본 장치 액세스 (일반적으로 "하이브리드"라고 함)의 조합은 모바일 앱 개발에 대한 기본 접근 방식 중 하나로 확고하게 뿌리를 내리고 있습니다.

이제 진화하는 PhoneGap (및 관련 Apache Cordova 오픈 소스 프로젝트)에 대한 작업이 느려지면서 하이브리드 모바일 개발의 다음 단계는 무엇일까요?

분명히 오픈 소스 프로젝트 인 Apache Cordova는 곧 사라지지 않을 것입니다. 많은 회사가 Cordova에 막대한 투자를하고 있으며 Cordova 커뮤니티는 기업 커미터가 급격히 감소함에 따라 계속해서 공백을 메우고 있습니다.

그러나 PhoneGap은 궁극적으로 쓸모 없게 될 명백한 의도로 만들어진 프로젝트였으며 그 순간이 우리에게 올 수 있습니다.

지난 10 년 동안 PhoneGap과 "하이브리드 1.0"을 대신 할 준비가 된 두 가지 우수한 옵션이 등장했습니다. 이들은 점진적 웹 앱과 JavaScript 기반 네이티브 앱입니다.

프로그레시브 웹 앱

PhoneGap은 항상 웹 개발자가 모바일 웹 브라우저의 한계에 도달했을 때 모바일 장치에서 더 많은 작업을 수행 할 수 있도록 도와줍니다. PhoneGap은 HTML, CSS, JavaScript와 같은 웹의 모든 것을 재사용하고 JavaScript를 통해 특정 기본 장치 기능에 액세스하기 위해 네이티브 코드 (Objective-C, Swift, Java)로 작성된 플러그인에 의존합니다. 시간이 지남에 따라 이것은 축복이자 저주임이 입증되었습니다. 학습 곡선은 매우 낮지 만 PhoneGap 앱에 내장 된 웹 브라우저는 종종 성능 문제로 어려움을 겪습니다 (Apple 덕분에 오랫동안 기본 Android 웹보기가 아니 었습니다). 그럼에도 불구하고 PhoneGap은 많은 사람들에게 "충분히 좋은"결과를내는 작업 솔루션이었습니다.

한편 웹 표준은 지속적으로 발전해 왔으며 지난 3 ~ 4 년 동안 오프라인에서 지원되는 고성능 모바일 앱을 만드는 데 필요한 웹 표준을 개선하려는 노력은 '진보적 웹 앱'이라는 용어로 촉진되었습니다.

프로그레시브 웹 앱을 통해 웹 플랫폼은 또 다른 큰 발전을 이룹니다. 이제 웹 앱이 네트워크 스택을 완전히 제어 할 수 있으므로 고급 캐싱 및 오프라인 작업을 수행 할 수 있습니다. 또한 웹 앱이 기본 모바일 앱과 관련된 다른 작업 (예 : 스플래시 화면 실행, 푸시 알림 전송, 사용자에게 결제 정보 요청)을 수행하도록 돕는 새로운 API도 있습니다. 가속도계, 카메라 등에 대한 액세스와 같이 브라우저에 탑재 된 다른 모든 "HTML5"API에이를 추가하면 여러 종류의 앱을위한 매우 유능한 웹 플랫폼이 있습니다.

이러한 모든 기능에는 PhoneGap이 생성되었을 때 기본 앱이 필요했지만 이제 브라우저가 따라 잡았습니다. 하이브리드 트레이닝 휠을 벗을 수 있습니다.

여전히 웹에는 한계가 있습니다. 느리게 움직이는 표준 기반 플랫폼의 특성 일뿐입니다. 프로그레시브 웹 앱은 큰 진전이지만 모든 앱을 완벽하게 대체하지는 않습니다. 그렇다면 웹 개발자는 여전히 네이티브 디바이스 API에 대한 전체 액세스가 필요한 경우 하이브리드 이후에 무엇을해야할까요? JavaScript 기반 기본 앱을 입력하십시오.

JavaScript 기반 네이티브 앱

약 5 년 전 여러 회사에서 하이브리드 모바일 앱을 괴롭히는 빈번한 성능 문제에 대한 해결책을 찾기 시작했습니다. 목표 : "진정한 네이티브"성능과 풍부한 UI를 제공 할 수있는 프레임 워크를 만들면서도 여전히 크로스 플랫폼이며 웹 개발자에게 친숙합니다. 이 작업을 통해 React Native (Facebook의)와 NativeScript (Progress의)라는 두 가지 인기있는 옵션이 등장했습니다.

이러한 새로운 프레임 워크를 통해 개발자는 웹 기술을 계속 재사용 할 수 있지만, PhoneGap처럼 단순히 웹 브라우저를 네이티브 앱 셸로 래핑하는 대신 이러한 새로운 접근 방식은 네이티브 UI를 생성합니다. 그 결과 "원시"단일 플랫폼 네이티브 앱처럼 느껴지고 성능이 향상되는 동시에 크로스 플랫폼 생산성이 유지되는 모바일 애플리케이션이 탄생했습니다.

이 접근 방식을 설명하는 몇 가지 이름이 있습니다. "하이브리드 2.0", "네이티브 하이브리드", "크로스 플랫폼 네이티브"등이 있습니다. Forrester는 "자바 스크립트 기반의 네이티브 앱"이라는 용어를 도입했습니다.이 용어는 정확히 말로 표현되지는 않지만 적어도 정확하고 설명적인 이름입니다.

자바 스크립트 기반 네이티브 앱 프레임 워크를 통해 웹 개발자는 PhoneGap에 대해 좋아하는 대부분의 기능을 사용할 수 있지만 훨씬 더 강력한 성능과 성능을 제공합니다. 예를 들어 Angular 및 Vue와 긴밀하게 통합 된 NativeScript는 개발자에게 JavaScript를 통해 모든 기본 API에 대한 전체 액세스 권한을 제공합니다. 그들 모두. 네이티브 앱에서 수행 할 수있는 경우 NativeScript에서 수행 할 수 있으며 크로스 플랫폼 모듈을 사용하면 대부분의 작업을 한 번만 코딩하고 iOS와 Android에서 모두 작동 할 수 있습니다. 스테로이드의 PhoneGap 플러그인과 같습니다.

React Native와 NativeScript는 모두 번창하는 오픈 소스 프로젝트이며, 둘 다 진보적 인 웹 앱이 비용에 맞지 않는 경우를 위해 "하이브리드 1.0"의 자연스러운 진화가 될 준비가되어 있습니다.

당신은 무엇을 선택합니까?

PhoneGap이 사라지지 않았지만, 진보적 인 웹 앱 및 JavaScript 기반 네이티브 앱과 같은 옵션이 존재하는 오늘날 PhoneGap으로 새로운 프로젝트가 시작되는 이유를 상상하기 어렵습니다. 두 옵션 모두 미래를 위해 구축 된 경로를 나타내며 이미 하이브리드 앱 개발에 익숙한 웹 개발자에게 채택하기가 상대적으로 간단합니다.

옵션 중에서 선택하는 것도 간단해야합니다.

  1. 앱에 많은 디바이스 API 액세스가 필요하지 않고 앱 스토어에있을 필요도없고 iOS에서 일부 추가 제한으로 사용할 수있는 경우 (현재로서는) 프로그레시브 웹 앱을 빌드하십시오.
  2. 앱의 요구 사항이 프로그레시브 웹 앱의 한계를 초과하는 경우 JavaScript 기반 기본 앱 플랫폼 중 하나를 선택하십시오.
    1. React Shop이라면 React Native를 선택하세요.
    2. Angular 또는 Vue 상점 인 경우 NativeScript를 선택하십시오. 

이러한 오픈 소스 프레임 워크를 구상하는 많은 회사는 기꺼이 도움을 주며 대부분은 PhoneGap에서 프레임 워크로 마이그레이션하기위한 기술 지침을 제공합니다. 마이그레이션 여정을 시작할 장소를 찾고 있다면 전문가와 상담하는 것이 항상 좋은 생각입니다.

문제가 발생하거나 타사 전문가와 대화하는 것을 선호하는 경우 개발자 커뮤니티에서 사용할 수있는 훌륭한 리소스가 많이 있습니다. 분명하고 가장 인기있는 선택은 GitHub입니다. 그러나 개발자가 한동안 PhoneGap 및 하이브리드에서 프로그레시브 웹 앱으로 마이그레이션하는 데 도움이되는 다른 많은 포럼이 만들어졌으며 몇 가지 훌륭한 조언을 제공합니다.

궁극적으로 PhoneGap은 그 이름에 걸 맞았습니다. 이를 통해 웹 개발자는 거의 10 년 동안 모바일 앱 개발 "격차"를 극복 할 수있었습니다. 그것은 모든 표준에 의해 인상적인 실행입니다. 이제 점진적 웹 앱과 JavaScript 기반 네이티브 앱 프레임 워크가 맨틀을 선택하고 개발자를 미래로 이끌 때입니다.

하이브리드 (1.0)가 죽었습니다. 롱 라이브 하이브리드 (2.0).

Todd Anglin은 Progress의 제품 전략 및 개발자 관계 담당 부사장입니다. 

New Tech Forum은 새로운 엔터프라이즈 기술을 전례없이 깊이 있고 폭넓게 탐구하고 논의 할 수있는 장을 제공합니다. 선택은 우리가 중요하고 독자들에게 가장 큰 관심을 가지고 있다고 생각하는 기술을 선택하여 주관적입니다. 는 게시를위한 마케팅 자료를 허용하지 않으며 제공되는 모든 콘텐츠를 편집 할 권리를 보유합니다. 모든 문의 사항은 [email protected]으로 보내주십시오  .