답변:
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 PhoneGap
Android 마켓과 iPhone App Store를 통해 배포되는 앱을 빌드하려는 경우 앱 개발 방법에 대한 지침에 대한 전체 목록을 읽어 보겠습니다. 예를 들어, 위의 도구 링크에는 Easy APNS 라는 "도구 / 플러그인" 이 있습니다. 이는 Android에 유용하지만 iPhone에서는 기술적으로 가능하지만 Apple 알림을 사용해야한다고 명시되어 있으므로 개발 계약을 위반합니다. 네트워크 등. 이것은 단지 예일뿐입니다.하지만 최종 목표라면 그 내용을 읽어 보면 많은 골칫거리를 줄일 수 있습니다.
대체로, 특히 웹 개발 배경에서 온 경우 경량 앱에 적합합니다. LocalStorage, GeoLocation 등은 정말 잘 작동합니다. 이 정보가 도움이 되었기를 바랍니다. 질문을하고 싶습니다.
추가 편집 :
당신이하고 싶은 일과 할 줄 아는 것에 달려 있다고 생각합니다. Matt는 iOS 용 네이티브 앱을 개발하는 것이 더 좋다고 지적했습니다. 예, 배울 시간과 지식이 있다면 물론 네이티브 앱이 더 좋을 것입니다. 그러나 PhoneGap은 기존 기술을 활용하고 앱을 구축 할 수있는 웹 개발자를 위해 만들어졌습니다. 또한 PhoneGap을 사용하면 iOS, Android, Symbian, Palm, Blackberry 용 앱을 빠르게 빌드 할 수 있습니다. 각각에 대한 코드베이스를 약간 조정했습니다.
다음은 내가 PhoneGap에 대해 읽은 최고의 성능 가이드입니다. 견고하고 안정적인 성능을 보장하기 위해주의해야 할 사항이 많이 있습니다.하지만 하루 저녁에 모든 것을 읽을 수 있습니다.
최고의 너겟은 다음과 같습니다.
http://forum.jquery.com/topic/ontouch-instead-of-onclick-event
http://wiki.phonegap.com/w/page/16494809/Performance-tips-for-device/
Sencha Touch를위한 비디오 성능 팁 : http://vimeo.com/17882927
Sencha Touch의 이벤트 위임 : 모든 라인에 하나가 아닌 단일 리스너로 목록을 디자인하는 방법. http://www.sencha.com/blog/event-delegation-in-sencha-touch/
Ext JS 4에서 앱 설계 : http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2
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은 최근이 주제에 대해 논의했습니다. 여기서 들을 수 있습니다 .
설치 절차에는 여러 패키지 (Java, Apache Ant, Ruby, iOS SDK, Android SDK 및 PhoneGap 자체)가 포함되며, 모두 올바르게 설치 및 설정되어야합니다. 이것은 큰 노력이 될 수 있습니다. 공정하게 말하면 베타 버전의 PhoneGap Build라는 것이 있습니다.
NS Basic / App Studio와 함께 사용하여 앱 스토어에 적합한 앱을 제작합니다.
당신이 게임이나 위젯을 만드는 것이 아니라면 평범한 멋진 앱이라면 phonegap이 당신의 선택입니다.
그러나 JS를 조심해야합니다. 예를 들어 애니메이션을 수행하려면 작은 간격 (예 : 100ms)의 타이머 설정을 피하고 jquery 및 유사 애니메이션을 피하십시오. 예를 들어 단계별로 각 지점에서 불투명도를 감소시키는 단기간 타이머를 설정하여 페이드를 애니메이션하는 대신 (이것이 jquery 페이드가 작동하는 방식입니다), 불투명도 1에서 불투명도 0으로 css3 전환을 사용해야합니다.
내 조언은 모든 phonegap이 ie6 실행되지 않은 후 zeptojs.com과 같은 것을 사용하는 것입니다. :-)
JS를 더 가볍게 만드는 방법에 대한 튜토리얼을 확인하십시오.