네이티브 애플리케이션 개발을위한 Phonegap 사용 [닫기]


97

나는 최근에 Phonegap만났다 . 누구든지 그것을 시도해보십시오. 개발자가 Sencha touch 및 Jquery와 같은 HTML 5 기반 프레임 워크를 사용하여 동시에 전화의 기본 기능에 액세스 할 수 있다고 주장하는 놀라운 도구입니다. 또한 코드는 약간의 노력으로 Android에서 Iphone으로 이식 가능합니다. 들어가기 전에 Phonegap에 대한 포럼의 경험이 무엇인지 알고 싶습니다. 문제점은 무엇이며 엔터프라이즈 수준의 애플리케이션 개발을 위해 실제로 확장 가능합니까?

답변:


95

PhoneGap을 사용하여 몇 가지 응용 프로그램을 만들었으며 제공하는 기능에 대해 훌륭합니다. 제가 지적하고 싶은 몇 가지 간단한 메모가 있습니다. 도움이 될 것입니다.

Disable device-based features you're not using 가속도계, 위치 정보 기능은 기본적으로 켜져 있습니다. 사용하지 않는 경우 앱이 더 빨리로드 (초기화)되고 더 원활하게 실행되므로이 ​​기능을 끄겠습니다.

onDeviceReady-phonegap이로드되고 준비가되면 호출되는 메서드입니다. $ (document) .ready 또는 익숙한 모든 것이 여기에 적용되지 않습니다-인터페이스 / 하드 코딩 된 HTML 작업 만 수행하지 않는 한. GeoLocation과 같은 iPhone 기능과 상호 작용하는 경우 onDeviceReady가 호출 된 모든 작업을 수행해야합니다 .

Pick a UI/library 인터페이스 / 라이브러리, jquery-mobile, sencha touch, jqtouch 등에 대한 수많은 옵션이 있습니다. 이들은 각각 고유 한 접근 방식과 기능 세트를 제공합니다. 조사를하고 하나를 사용하되 결합은 피하십시오. 여기에서 더 많은 옵션과 도구에 대해 읽을 수 있습니다. http://www.phonegap.com/tool (링크 업데이트 됨)

Also, more on just mobile development in general, with PhoneGapAndroid 마켓과 iPhone App Store를 통해 배포되는 앱을 빌드하려는 경우 앱 개발 방법에 대한 지침에 대한 전체 목록을 읽어 보겠습니다. 예를 들어, 위의 도구 링크에는 Easy APNS 라는 "도구 / 플러그인" 이 있습니다. 이는 Android에 유용하지만 iPhone에서는 기술적으로 가능하지만 Apple 알림을 사용해야한다고 명시되어 있으므로 개발 계약을 위반합니다. 네트워크 등. 이것은 단지 예일뿐입니다.하지만 최종 목표라면 그 내용을 읽어 보면 많은 골칫거리를 줄일 수 있습니다.

대체로, 특히 웹 개발 배경에서 온 경우 경량 앱에 적합합니다. LocalStorage, GeoLocation 등은 정말 잘 작동합니다. 이 정보가 도움이 되었기를 바랍니다. 질문을하고 싶습니다.

추가 편집 :

당신이하고 싶은 일과 할 줄 아는 것에 달려 있다고 생각합니다. Matt는 iOS 용 네이티브 앱을 개발하는 것이 더 좋다고 지적했습니다. 예, 배울 시간과 지식이 있다면 물론 네이티브 앱이 더 좋을 것입니다. 그러나 PhoneGap은 기존 기술을 활용하고 앱을 구축 할 수있는 웹 개발자를 위해 만들어졌습니다. 또한 PhoneGap을 사용하면 iOS, Android, Symbian, Palm, Blackberry 용 앱을 빠르게 빌드 할 수 있습니다. 각각에 대한 코드베이스를 약간 조정했습니다.


2
개발자들은 Phonegap에서 분열 된 것 같습니다.
SaKet 2011 년

8
하루가 끝날 때 Android 및 iOS 용 기본 앱을 빌드하기 위해 다양한 언어를 배울 시간과 돈이 있다면 꼭 그렇게하세요. :)하지만 우리 대부분은 알고있는 것을 사용하여 실행되는 앱을 빌드합니다. 여러 장치에서 정말 잘 작동합니다.
TNC

easyapns는 iPhone 알림 전용 (안드로이드 아님)이며 Apple 알림 네트워크를 사용합니다. 개발자 계약을 위반한다는 아이디어를 어디서 얻을 수 있는지 확실하지 않습니다.
Traveling_Monk

좋은 설명 .. 감사합니다 :)
Mrunal

좋은 디버거는 가장 친한 친구입니다. 원격 디버그 아이폰 OS에이 체크 아웃 : stackoverflow.com/questions/7242997/...
JoshuaDavid

52

다음은 내가 PhoneGap에 대해 읽은 최고의 성능 가이드입니다. 견고하고 안정적인 성능을 보장하기 위해주의해야 할 사항이 많이 있습니다.하지만 하루 저녁에 모든 것을 읽을 수 있습니다.

최고의 너겟은 다음과 같습니다.

PhoneGap / 모바일 웹 성능 팁

새로운 기능 활성화

건축물

Ext JS 4에서 앱 설계 : http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2


1
훌륭한 문서 모음 .. 정말 도움이되는 감사합니다 :)
Mrunal

29

Phonegap에 대한 내 의견을 표현하기 전에 나는 결코 웹 개발자가 아니라는 약간의 면책 조항을 발행해야합니다. 저에게 JavaScript와 CSS를 작성하는 것은 마치 이빨을 당기는 것과 같습니다. 즉, 나는 Phonegap을 좋아하지 않습니다.

프레임 워크에는 매우 매력적인 몇 가지 측면이 있습니다. 주로 "Write-Once-Run-Anywere"호소와 "I-Don't-Have-To-Learn-Objective-C?"입니다. 항소. 프레임 워크는 가속도계와 같은 일부 하드웨어 기능에 대한 액세스를 제공 할 수도 있습니다. 이 모든 것들은 어느 정도 유효합니다.

즉, 어떤 종류의 크로스 플랫폼 프레임 워크를 사용하여 빌드 된 훌륭한 iOS 앱은 없습니다. 기본 UIKit 컨트롤에 의해 처리되는 미묘하고 우아한 UI 상호 작용이 너무 많아서 많은 사용자와 개발자가 누락 될 때까지 당연한 것으로 여기고 있습니다. 웹뷰 기반 UI에서. 완벽하게 재현하기 위해 노력할 수 있지만 그 시간 투자를 위해 왜 네이티브로 이동하지 않습니까?

두 번째로 주목할 점은 Phonegap 기반 iOS 애플리케이션에 대한 지원 커뮤니티가 기본적으로 개발 된 애플리케이션보다 훨씬 작다는 것입니다. 프로젝트를 진행하는 동안 커뮤니티에 의존하는 사람이라면 잠시 멈춰야합니다.

결국 제공하려는 경험의 질에 달려 있습니다. 상한은 Phonegap에서 하한입니다. 개발 시간을 단축하고 이식성을 높이는 대가로 탁월하지 않은 사용자 경험을 받아 들일 준비가 되었다면 매우 실행 가능한 프레임 워크입니다.

관심있는 사람을위한 구절로 Marco Arment와 Dan Benjamin은 최근이 주제에 대해 논의했습니다. 여기서 들을 수 있습니다 .


5
+1 커뮤니티 규모에 대한 훌륭한 포인트.
David Tang

5
+1 사용자 경험에 대한 좋은 점. iOS에서 정말 중요합니다.

1
phonegap에서도 동일한 사용자 경험을 만들 수 있습니다. 나는 그것이 단지 학습 목표의 문제라고 생각하지 않는다. c. 다른 모바일 OS가 대중화됨에 따라 : Androi, 이제 Windows Mobile 및 Firefox OS에 어떤 일이 발생하는지 살펴 보겠습니다. iOS가 가질 x % 시장 점유율에 제한되지 않으려면 크로스 플랫폼 솔루션이 솔루션이 될 것입니다.
memical

1
@memical, Facebook 개발 팀은 당신과 동의하지 않을 것입니다. 나는 그것이 시장 커버리지 관점에서 말이되지 않는다고 말하는 것이 아니라 네이티브만큼 성능이 좋지 않다고 말하는 것입니다. 당신의 말에도 불구하고 그것은 사실입니다.
Matt Wilding

4

설치 절차에는 여러 패키지 (Java, Apache Ant, Ruby, iOS SDK, Android SDK 및 PhoneGap 자체)가 포함되며, 모두 올바르게 설치 및 설정되어야합니다. 이것은 큰 노력이 될 수 있습니다. 공정하게 말하면 베타 버전의 PhoneGap Build라는 것이 있습니다.

NS Basic / App Studio와 함께 사용하여 앱 스토어에 적합한 앱을 제작합니다.


PhoneGap Build 는 Adobe가 원래 개발자 인 Nitobi를 인수 한 지 6 개월이 지난 1 년이 지난 지금도 베타 버전입니다.
DOK

2

당신이 게임이나 위젯을 만드는 것이 아니라면 평범한 멋진 앱이라면 phonegap이 당신의 선택입니다.

그러나 JS를 조심해야합니다. 예를 들어 애니메이션을 수행하려면 작은 간격 (예 : 100ms)의 타이머 설정을 피하고 jquery 및 유사 애니메이션을 피하십시오. 예를 들어 단계별로 각 지점에서 불투명도를 감소시키는 단기간 타이머를 설정하여 페이드를 애니메이션하는 대신 (이것이 jquery 페이드가 작동하는 방식입니다), 불투명도 1에서 불투명도 0으로 css3 전환을 사용해야합니다.

내 조언은 모든 phonegap이 ie6 실행되지 않은 후 zeptojs.com과 같은 것을 사용하는 것입니다. :-)

JS를 더 가볍게 만드는 방법에 대한 튜토리얼을 확인하십시오.

http://bcksp.blogspot.com/


실제로 이제 게임도 만들 수 있습니다
memical

1

HTML5 및 Phonegap이 제공하는 것 이상의 하드웨어 기능이나 성능이 필요하지 않은 경우 캡슐화 된 웹 앱 (다른 기능에 대한 일부 제한된 액세스 포함)이 훌륭한 솔루션입니다.

많은 기업이 대규모 웹 앱을 배포합니다. Phonegap (또는 포함 된 콘텐츠가있는 일반 웹보기 컨트롤)을 사용하면 이러한 웹 앱을 오프라인에서 실행할 수 있습니다 (물론 필요한 온라인 데이터 제외).


0

여러 장치에 배포 할 때 언급되지 않은 한 가지 "고통": 장치가 많을수록 학습 곡선이 커집니다. PhoneGap을 사용하여 iOS 장치에 배포하려면 Mac에서 Xcode의 기본 사항을 배워야합니다. Android에 배포하려면 Eclipse, Android SDK 등을 설치하고 배워야합니다. 다른 플랫폼에서는 자체 SDK를 사용해야합니다. 기본적인 Xcode, Javascript 및 Java를 배우면 오류와 일반 구문을 이해하는 데 도움이됩니다.

"한 번 생성하고 모든 곳에 배포"는 많은 단계를 생략합니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.