Saya telah membangun beberapa aplikasi menggunakan PhoneGap, dan untuk apa yang disediakannya, itu hebat. Ada beberapa catatan singkat yang ingin saya tunjukkan, yang mungkin bisa membantu Anda.
Disable device-based features you're not using
Akselerometer, fitur geolokasi diaktifkan secara default. Jika Anda tidak menggunakannya, saya akan mematikannya, karena aplikasi Anda akan memuat lebih cepat (menginisialisasi) dan berjalan lebih lancar.
onDeviceReady
- Ini adalah metode yang dipanggil setelah phonegap dimuat dan siap. $ (document) .ready atau apa pun yang biasa Anda gunakan, tidak benar-benar berlaku di sini - kecuali Anda hanya melakukan antarmuka / hard-code HTML. Jika Anda berinteraksi dengan fitur iPhone, seperti GeoLocation, Anda perlu melakukan semuanya setelah onDeviceReady dipanggil.
Pick a UI/library
Ada banyak sekali pilihan untuk antarmuka / perpustakaan, jquery-mobile, sencha touch, jqtouch, dll. Masing-masing menawarkan pendekatan yang unik, dan set fitur. Lakukan riset dan gunakan salah satunya, tetapi hindari menggabungkan. Anda dapat membaca tentang beberapa opsi, alat di sini: http://www.phonegap.com/tool (tautan diperbarui)
Also, more on just mobile development in general, with PhoneGap
Jika Anda ingin membangun aplikasi, yang didistribusikan melalui pasar Android dan iPhone App Store, saya akan membaca daftar lengkap mereka untuk pedoman tentang cara mengembangkan aplikasi Anda. Misalnya, di tautan alat di atas, ada "alat / plugin" bernama Easy APNS - meskipun ini berguna untuk Android - dan secara teknis dapat dilakukan di iPhone, ini melanggar perjanjian pengembangan, karena menyatakan Anda harus menggunakan notifikasi Apple jaringan, dll .. Ini hanyalah sebuah contoh, tetapi membaca tentang hal-hal itu akan menghemat banyak sakit kepala, jika itu tujuan akhir Anda.
Secara keseluruhan, ini bagus untuk aplikasi ringan, terutama jika Anda berasal dari latar belakang pengembangan web. LocalStorage, GeoLocation, dll .. bekerja dengan sangat baik. Saya harap ini sedikit membantu ... dan merasa untuk mengajukan pertanyaan.
Edit Tambahan:
Saya benar-benar berpikir itu tergantung pada apa yang ingin Anda lakukan, dan apa yang Anda ketahui bagaimana melakukannya. Matt menunjukkan bahwa mengembangkan aplikasi asli, untuk iOS lebih baik, dll. Ya, jika Anda memiliki waktu dan pengetahuan untuk mempelajarinya - tentu saja yang asli akan lebih baik. Tetapi PhoneGap dibuat untuk pengembang web yang dapat menggunakan keahlian yang ada dan membangun aplikasi. Selain itu, PhoneGap memungkinkan Anda membuat aplikasi dengan cepat, untuk iOS, Android, Symbian, Palm, Blackberry. Dengan sedikit penyesuaian pada basis kode Anda untuk masing-masing.
Berikut adalah semua panduan Performa terbaik yang pernah saya baca untuk PhoneGap ... ada banyak hal yang harus diperhatikan untuk memastikan Anda memiliki performa yang solid dan stabil ... tetapi Anda dapat mempelajari semuanya hanya dalam satu malam membaca.
Inilah nugget terbaik:
PhoneGap / Tip Performa Web Seluler
http://forum.jquery.com/topic/ontouch-instead-of-onclick-event
http://wiki.phonegap.com/w/page/16494809/Performance-tips-for-device/
Tip Performa VIDEO untuk Sencha Touch: http://vimeo.com/17882927
Delegasi Acara di Sencha Touch: Bagaimana merancang daftar dengan satu pendengar, dan bukan satu di setiap baris. http://www.sencha.com/blog/event-delegation-in-sencha-touch/
Mengaktifkan Fungsi Baru
Arsitektur
Merancang Aplikasi Anda di Ext JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2
sumber
Sebelum mengutarakan pendapat saya tentang Phonegap, saya perlu mengeluarkan sedikit penafian yang mengatakan bahwa saya sama sekali bukan pengembang web. Bagi saya, menulis JavaScript dan CSS itu seperti mencabut gigi. Karena itu, saya tidak suka Phonegap.
Ada beberapa aspek kerangka kerja yang sangat menarik, terutama daya tarik "Write-Once-Run-Anywere" dan "I-Don't-Have-To-Learn-Objective-C?" menarik. Kerangka kerja ini bahkan dapat memberi Anda akses ke beberapa fitur perangkat keras seperti akselerometer. Semua ini valid, sampai batas tertentu.
Meskipun demikian, tidak ada aplikasi iOS hebat yang dibuat menggunakan kerangka lintas platform apa pun. Ada begitu banyak interaksi UI yang halus dan elegan yang ditangani untuk Anda oleh kontrol UIKit asli yang diterima begitu saja oleh banyak pengguna dan pengembang hingga hilang, seperti kurva animasi tampilan yang sangat detail dan pantulan gulir yang tidak ada di sana. di UI berbasis tampilan web. Anda dapat bekerja keras untuk mereproduksinya dengan sempurna, tetapi untuk investasi waktu itu, mengapa tidak menjadi asli saja?
Hal kedua yang perlu diperhatikan adalah bahwa komunitas dukungan untuk aplikasi iOS yang dibuat oleh Phonegap jauh lebih kecil daripada aplikasi yang dikembangkan secara asli. Jika Anda salah satu yang bergantung pada komunitas selama proyek, ini juga akan membuat Anda jeda.
Pada akhirnya, itu tergantung pada kualitas pengalaman yang ingin Anda berikan. Batas atas lebih rendah dengan Phonegap. Jika Anda siap menerima pengalaman pengguna yang kurang baik sebagai ganti waktu pengembangan yang berkurang dan peningkatan portabilitas, ini adalah kerangka kerja yang sangat layak.
Sebagai subteks bagi siapa pun yang tertarik, Marco Arment dan Dan Benjamin baru-baru ini membahas topik ini. Anda bisa mendengarkannya di sini .
sumber
Prosedur instalasi melibatkan sejumlah paket (Java, Apache Ant, Ruby, iOS SDK, Android SDK dan PhoneGap itu sendiri), yang semuanya harus diinstal dan diatur dengan benar. Ini bisa menjadi upaya yang besar. Agar adil, mereka memiliki sesuatu yang disebut PhoneGap Build in beta yang seharusnya membuatnya lebih mudah.
Kami menggunakannya dengan NS Basic / App Studio untuk menghasilkan aplikasi yang memenuhi syarat untuk toko aplikasi.
sumber
jika Anda tidak membuat game atau widget, hanya aplikasi yang terlihat bagus, maka peta telepon adalah pilihan Anda.
Tetapi Anda harus berhati-hati dengan JS Anda, hindari melakukan apa pun di JS misalnya jika Anda ingin melakukan animasi apa pun, hindari pengaturan timer dengan interval kecil (mis. 100 ms), hindari jquery dan animasi serupa. Misalnya, alih-alih menganimasikan fade dengan menyetel timer jangka pendek untuk mengurangi opasitas di setiap titik langkah demi langkah (begitulah cara kerja jquery fade), Anda harus menggunakan transisi css3 dari opasitas 1 ke opasitas 0.
Saran saya adalah menggunakan sesuatu seperti zeptojs.com, lagipula phonegap tidak akan berjalan ie6 :-)
Periksa beberapa tutorial tentang cara membuat JS Anda lebih ringan
http://bcksp.blogspot.com/
sumber
Jika Anda tidak memerlukan fitur atau kinerja perangkat keras apa pun selain yang disediakan HTML5 dan Phonegap, aplikasi web yang dienkapsulasi (ditambah beberapa akses terbatas ke fitur lain) adalah solusi yang bagus.
Banyak perusahaan menerapkan aplikasi web skala besar. Phonegap (atau hanya kontrol tampilan web biasa dengan konten yang disematkan) akan memungkinkan Anda menjalankan aplikasi web ini secara offline (kecuali, tentu saja, untuk data online yang diperlukan).
sumber
Satu "masalah" yang tidak disebutkan saat menerapkan di antara beberapa perangkat yang berbeda: Semakin banyak perangkat, semakin besar kurva pembelajaran. Untuk menerapkan ke perangkat iOS dengan PhoneGap, Anda perlu mempelajari dasar-dasar Xcode di Mac. Untuk menerapkan ke Android, Anda harus menginstal dan mempelajari Eclipse, Android SDK, dll. Platform lain menuntut penggunaan SDK mereka sendiri. Mempelajari beberapa Xcode, Javascript, dan Java yang belum sempurna membantu saya memahami kesalahan dan sintaks umum.
"Buat sekali, terapkan di mana saja" menyisakan BANYAK langkah!
sumber