Pertanyaan Berjuang antara pribumi dan fonegap, persyaratan aplikasi sederhana


Saya akan membuat asli (artinya; tidak di browser) aplikasi seluler. Karena saya pengembang web, saya berjuang untuk memutuskan apakah saya harus mencoba Phonegap atau hanya membuat aplikasi asli di java atau tujuan-c.

Persyaratan aplikasinya sederhana. Lokasi GPS / wifi, integrasi Facebook dan saya kira saya memerlukan database untuk menangani beberapa hubungan khusus Facebook-teman. Seperti highscores dalam permainan, misalnya - hal-hal seperti itu.

Saya seorang pengembang-web, dan belum mengenal java atau obyektif-c. Saya belum pernah menggunakan Phonegap sebelumnya, jadi saya tidak tahu apakah itu dapat memenuhi persyaratan saya.

Jadi pertanyaan saya adalah sebagai berikut; Dapatkah saya menggunakan Phonegap untuk aplikasi saya, atau apakah saya perlu terjun ke dalam bahasa baru?


75
2017-12-28 06:34


asal


Jawaban:


Terkait:

Versi yang lebih besar dari artikel ini juga dapat ditemukan SINI, untuk menjadi transparan itu adalah blog pribadi saya.

Aplikasi Hybrid vs Native

Aplikasi hibrida:

Pro:

  • Pengembangan lebih cepat, terutama jika Anda adalah pengembang web lama.
  • 1 bahasa dapat digunakan pada setiap platform yang tersedia. Ini, tentu saja, membutuhkan pembungkus Phonegap. Anda tidak perlu mempelajari Objective C, Java, atau C # untuk melakukan pengembangan apa pun. Anda hanya perlu memahami dasar-dasar implementasi Phonegap. Anda harus bermain dengan bahasa yang disebutkan di atas sedikit tetapi Anda tidak perlu memahaminya.
  • Phonegap dapat menawarkan beberapa kemampuan asli seperti tab bar asli iOS atau bilah tab asli Android dan banyak lagi.
  • Turunkan biaya anggaran dan komunitas besar pendukung dan pengembang.
  • Aplikasi hibrida menawarkan banyak keuntungan dari kedua pendekatan akses ke API perangkat yang paling umum, dan cakupan perangkat luas sementara tidak memerlukan keterampilan khusus, anggaran yang lebih besar, dan waktu yang lebih lama ke pasar yang lebih umum dari aplikasi asli sepenuhnya.

Cons:

  • Anda akan kencing darah setelah beberapa waktu, secara harfiah dan metaforis.
  • Ponsel (bahkan tablet saat ini) tidak cukup cepat untuk menjalankan aplikasi hibrida dengan lancar, kemampuan JavaScript seluler adalah tempat tidur terbaik. Platform Android adalah mimpi buruk, transisi halaman tidak berfungsi dengan lancar dan tidak menyebutkan implementasi CSS / CSS3 yang kurang. Jika Anda berpikir native Android 2.X dan 4.X memiliki perbedaan, lihatlah Android 2.X implementasi JavaScript / CSS yang buruk. Tarif iOS lebih baik tetapi masih memiliki implementasi CSS3 yang kurang dari transisi halaman yang jauh lebih baik. Untuk membuat aplikasi asli yang singkat ini akan selalu memiliki pengalaman pengguna yang lebih baik dan perasaan umum.
  • Anda akan menghabiskan lebih banyak waktu untuk memperbaiki aplikasi kemudian membangunnya. Membuat aplikasi untuk setiap platform adalah rasa sakit di leher. Browser di berbagai platform tidak secara seragam mendukung semua fitur dan API HTML terbaru, yang dapat membuat pengembangan dan menguji tantangan.
  • Jika Anda tidak memiliki desainer yang bagus, jangan coba-coba membuat aplikasi; terlihat adalah segalanya.
  • Jika Anda tidak tahu apa yang Anda lakukan, ada kemungkinan aplikasi Anda tidak akan mendapatkan izin untuk Apple app store. Bahkan Google Play Store akan melarang aplikasi Anda jika mereka menemukan plugin PayPal Phonegap pihak ke-3.

Aplikasi asli:

Pro:

  • Aplikasi seluler asli dapat menghasilkan pengalaman pengguna terbaik - cepat dan lancar, dapat memberi Anda akses terbaik ke fitur perangkat, dan dapat ditemukan di toko aplikasi.
  • Tanpa ragu, aplikasi asli memiliki akses penuh ke platform seluler yang mendasarinya. Aplikasi asli biasanya sangat cepat dan dipoles, membuatnya bagus untuk aplikasi atau game berkinerja tinggi. Ini lebih dari cukup.

Cons:

  • Anggaran yang lebih besar, Anda akan membutuhkan setidaknya orang dengan pengetahuan Java dan Objective C, bahkan C # jika Anda menginginkan aplikasi Windows mobile. Ya, Anda dapat mempelajarinya sendiri tetapi tidak hidup di bawah ilusi Anda akan melakukannya dalam waktu singkat. Jika Anda belum pernah melakukan pengembangan apa pun, pilih Objective C (iOS masih merupakan platform yang lebih baik). Dalam kasus lain pilih Java. Java memiliki sintaks yang mirip dengan bahasa lain yang tersedia, sehingga mudah untuk melompat dari C # ke Java dan sebaliknya. Objective C adalah dunia itu sendiri. Ini memiliki sintaks yang agak tidak umum.
  • Mungkin butuh waktu lebih lama untuk mengembangkan semuanya dan waktu adalah uang. Ini tergantung pada kerumitan aplikasi.

Dalam kasus Anda, jika Anda memiliki keterampilan pengembangan / desain web yang baik dan / atau memiliki desainer yang baik, Anda harus memilih aplikasi hibrida. Pergi hanya asli jika aplikasi ini akan menjadi kompleks. Semua yang Anda inginkan dapat dilakukan dengan aplikasi hibrida. Dan Anda akan menemukan komunitas yang hebat dan mendukung.

Aplikasi hibrida

Apa yang tidak saya sebutkan sebelumnya, Anda perlu berhati-hati secara khusus di sini. Bahkan jika Anda pengembang berpengalaman Anda akan menemukan banyak masalah yang tidak dapat Anda pecahkan. Pengembangan hibrida tidak boleh disalahartikan sebagai pengembangan web dasar.

Setiap platform seluler memiliki masalah tersendiri, belum lagi ponsel berperilaku berbeda tergantung pada perangkat. Jika memungkinkan, selalu buat aplikasi yang berfungsi pada perangkat yang lebih lambat karena aplikasi asli akan berhasil bekerja di hampir semua perangkat.

Ada satu hal terakhir, ketika membuat aplikasi hibrida, pengembangan aplikasi akan membawa Anda sekitar 30% -50% dari waktu Anda, istirahat pergi ke debugging platform tertentu dan belajar. Percayalah, bahkan setelah beberapa tahun perkembangan ponsel terkadang saya menghadapi masalah yang tidak bisa saya pecahkan sendiri atau cukup cepat.

Jadi hati-hati saat memilih kerangka seluler, pilih 2-3 dan habiskan beberapa hari untuk membaca tentang mereka.

Tautan

Berikut beberapa tautan untuk membantu Anda memutuskan:

PhoneGap + jQuery Mobile 1.4 tutorial - Ini adalah tutorial langkah demi langkah untuk PhoneGap dan versi terakhir dari jQuery Mobile

PhoneGap + jQuery Mobile 1.4 tutorial - versi MacOS - Ini adalah tutorial langkah demi langkah untuk penyebaran PhoneGap di MacOS. Bagian jQuery Mobile tercakup dalam artikel sebelumnya, tidak ada gunanya mengulangi hal-hal.

jQuery Mobile vs Sencha Touch - jQuery Mobile Sencha Touch comparison

jQuery Mobile vs Kendo UI - Perbandingan jQuery Mobile Kendo UI

7 kerangka kerja seluler HTML5 yang paling dikenal - Nama menceritakan segalanya

7 kerangka kerja seluler HTML5 yang kurang dikenal - Nama menceritakan segalanya


157
2017-12-28 12:59



jika aplikasi Anda tidak memiliki efek animasi dan sederhana, saya lebih suka membuat di web (Phonegap) cz dengan jumlah waktu yang lebih sedikit yang dapat kami luncurkan di beberapa jenis OS seluler. jika aplikasi Anda berisi lebih banyak efek UI dan animasi, maka yang terbaik adalah menggunakan native ..

meskipun Anda mengembangkan di webview (Phonegap) Anda perlu mempelajari beberapa langkah dasar di Android dan iOS

Bagaimana Phonegap tampil di perangkat 

Ios Animasi dan tampilan pemuatan di ios webview terdampar dan bagus, efek animasi dapat mengaburkan dengan jelas

Android
Kami harus mempertimbangkan versi perangkat dan perusahaan perangkat untuk android saat menjalankan kode html, Beberapa perangkat konfigurasi tinggi di android memberikan tampilan animasi yang lebih jelas dan efisien, tetapi beberapa perangkat (kebanyakan versi lama dan beberapa perangkat perusahaan) tidak dapat memberikan efek animasi yang baik, render efek bervariasi dari perangkat ke perangkat di android,


16
2017-12-28 06:44



Menurut pendapat saya dengan Phonegap, Anda bisa mengembangkan aplikasi sederhana, tidak lebih. Dokumentasi tidak cukup dan seperti yang dikatakan orang lain, Anda akan menghabiskan lebih banyak waktu untuk memperbaiki bug dan menemukan plugin daripada membangun aplikasi Anda. Saya akan berusaha mempelajari Android atau iOS atau apa pun, melihatnya sebagai investasi waktu anda. (Ya, komentar saya sedikit bias).


7
2017-10-23 08:13



Terakhir saya memeriksanya PhoneGap adalah semua html, css, dan javascript. Jadi, Anda mungkin merasa seperti di rumah sendiri. PhoneGap dapat menangani lokasi GPS, lihat artikel ini dari dokumentasi PhoneGap. Apakah Anda ingin mengambil Objective C atau tidak tergantung pada seberapa cepat Anda mengambil bahasa baru karena ini adalah sedikit keberangkatan dari pengembangan web.


3
2017-12-28 06:46



Itu sepenuhnya tergantung pada kebutuhan Anda

Setelah menerbitkan aplikasi pertama saya beberapa bulan (Android asli, basis data didorong, aplikasi penghubung yang tenang), saya memutuskan untuk menulis ulang aplikasi saya dengan menggunakan fonegap (karena saya ingin mengkloning aplikasi ke iOS, jadi daripada melakukannya di ObjC, mengapa tidak javascript ?)

Saat di Android, saya mengeluarkan biaya, pengembang Java, 3 minggu untuk mempelajari dan mengkodekan semuanya dari awal. Membenturkan kepalaku ke dinding beberapa kali untuk bagaimana membuat ListAdapter disinkronkan dengan Layanan Istirahat dari serverku, bagaimana membuat tema aplikasi (cukup keras menurutku, terutama ketika menyangkut efek khusus seperti transparan, perbatasan, ... ), dan juga, bagaimana menyusun basis kode Anda secara efektif (jika Anda familiar dengan Java, Anda akan menemukan bahwa semua kelas sangat berpasangan satu sama lain, karena itulah yang sebagian besar tutorial tulis tentang)

Ketika di Phonegap, semuanya dilakukan dalam 1 minggu. Css, html, dengan onsenui dan angular membuat pengembangan GUI seperti penugasan dan penugasan satu tahun siswa hanyalah sepotong kue. Saya tidak perlu menjalankannya di perangkat yang sebenarnya, cukup gunakan browser selama pengembangan, ubah kode dan refresh sudah cukup. Angular menyediakan 2 cara mengikat dengan DOM, dan ini membuat kedahsyatan besar saat mengumpulkan dan menampilkan data. Sebagai contoh:

<ul ng-each="for sentence in sentences" >
   <li>{{ sentence.title }} </li>
</ul>

Ketika variabel sentencesdiubah (diambil dari server), DOM juga diubah secara otomatis. Namun, javascript hanya javascript. Saya menemukan diri saya berjuang banyak waktu ketika debugging aplikasi, terutama ketika melakukan fungsi MapReduce dengan PouchDB (kesalahan besar, harus kembali ke cordova-sqlite-plugin malam ini) dan sebagian besar waktu, saya harus membaca log untuk mencari tahu masalah (alat Chrome dan Firebug tidak dapat menangkap breakpoint). Juga, sulit untuk merestrukturisasi aplikasi Anda (javascript, lagi) jadi jika Anda tidak mengatur dengan hati-hati basis kode Anda pada tanda pertama, Anda mungkin berakhir dengan kekacauan (dan debugging adalah rasa sakit yang nyata, lagi). PhoneGap juga berbasis Web, jadi kadang-kadang, Anda akan mendengar bahwa "karena pada platform ini, itu tidak mendukung bla bla bla itu" (misalnya, localStorage) dan Anda harus berdiri untuk itu jika Anda tidak dapat menemukan plugin yang bagus.

Kesimpulan Kecuali untuk keterbatasan penyimpanan berbasis web, PhoneGap bekerja cukup baik dengan database yang digerakkan, aplikasi GUI sederhana (dan sebagian besar aplikasi berbasis database saat ini memiliki GUI yang sederhana). Jika Anda akan mengembangkan aplikasi semacam itu, teruskan saja


3
2018-05-20 19:22



periksa menggunakan ionik, didukung oleh angular.js untuk mengimbangi beberapa kontra yang disebutkan dalam jawaban yang diterima. Tutorial untuk meluncurkan aplikasi direktori karyawan: http://coenraets.org/blog/2014/02/sample-mobile-application-with-ionic-and-angularjs/


2
2018-03-11 13:57



@Gajotres menulis tanggapan yang luar biasa, tetapi kinerja aplikasi hibrid telah berjalan jauh sejak 2012. Saya menjawab a pertanyaan terkait yang mencakup perbedaan antara pengembangan aplikasi hibrida dan asli pada tahun 2017.

Moral dari cerita ini adalah bahwa pengembangan aplikasi hibrida telah meningkat pesat dalam beberapa tahun terakhir, tetapi masih tidak dapat menandingi penduduk asli untuk kasus penggunaan tertentu.

Dengan alat seperti Ionic (dirilis pertama kali di 2013) dan React Native (pertama kali dirilis pada tahun 2008) 2015) lebih mudah dari sebelumnya untuk membuat aplikasi hibrida dengan komponen asli. Aplikasi hibrida sekarang lebih cepat, kurang buggy, dan mampu berinteraksi lebih dalam dengan UI asli.

Ambang batas untuk kinerja aplikasi hybrid jauh lebih tinggi daripada beberapa tahun yang lalu, tetapi masih ada titik di mana Anda mungkin perlu mengembangkan aplikasi dalam bahasa asli.

Jawaban Asli:

Ya, sentimen umum adalah bahwa aplikasi Hybrid lebih rendah dari Native   aplikasi. Meskipun hal ini dapat membuat frustasi bagi pengembang yang lebih akrab dengannya   teknologi web, itu datang karena alasan yang bagus:

  1. Ketidakmampuan untuk berinteraksi dengan komponen asli: Meskipun plugin seperti cordova-plugin-statusbar ada, ada batasan   berinteraksi dengan dan memanipulasi komponen asli menggunakan web   teknologi. Satu masalah besar (dan membuat frustrasi) yang saya alami sendiri   adalah ketidakmampuan untuk memiliki input di bagian atas keyboard mereka sebagai   keyboard menjiwai. Ini terdengar seperti nonissue sampai Anda melihat   di aplikasi di mana ini adalah fitur penting seperti di aplikasi obrolan   seperti Slack.
  2. Penundaan 300ms: Meskipun browser modern mulai fase ini   di luar,   fraksi penundaan kedua hadir di aplikasi Hybrid membuat aplikasi   merasa lambat dan tidak asli. Masalah ini menjadi kurang dari faktor sebagai   lebih banyak pengguna mengadopsi solusi seperti    FastClick.js dan beberapa   kerangka kerja seperti Ionik hilangkan itu   secara default.
  3. Pembenci benar (semacam): Meskipun pengembangan aplikasi Hybrid telah berjalan jauh, masih ada gangguan kecil dan laggy   fungsi yang tidak ada dalam aplikasi Native. Layar   transisi, peralihan aplikasi, dan masa pakai baterai masih merupakan area umum   untuk bug muncul dan kemungkinan akan untuk beberapa waktu, bahkan jika mereka   mulai menjadi kurang dan kurang terlihat.
  4. Ada beberapa solusi Native yang bagus: Dengan bahasa baru seperti Apple Cepat itu menjadi lebih mudah   kode dalam bahasa asli. Itu dikatakan, alat seperti Reaksi   Asli jatuh ke abu-abu   area antara Native dan Hybrid dengan memungkinkan pengembang untuk mengkodekan   teknologi ramah seperti JavaScript tetapi dikompilasi ke kode asli.

Moral dari cerita ini adalah bahwa hal itu sangat tergantung pada apa yang penting   kasus penggunaan khusus Anda. Aplikasi hibrida telah menjadi opsi yang layak dan   tidak lagi menjadi acara sampingan yang memalukan. Sebaliknya, masih ada   aspek minor dalam berinteraksi dengan Native UX yang belum   mungkin kecuali dengan aplikasi Native.

Secara keseluruhan, saya sarankan memetakan proyek Anda dan menentukan apakah Anda   aplikasi membutuhkan manfaat apa pun dari aplikasi Native. Dengan alat seperti    Ionic View aplikasi mudah untuk mengumpulkan   maket dasar aplikasi Anda dan uji pada perangkat nyata apakah atau tidak   Aplikasi hybrid akan bekerja untuk Anda.


1
2018-05-09 22:09



Ada juga AppGyver Steroid yang menyatukan PhoneGap dan Native UI dengan sangat baik.

Dengan Steroid Anda dapat menambahkan hal-hal seperti tab asli, bilah navigasi asli, animasi dan transisi asli, jendela modal asli, panel / laci asli (menu sisi facebook), dll. Ke aplikasi PhoneGap Anda. Pada dasarnya, di mana saja CSS + JS tidak memotongnya, Steroid mencapai lapisan asli untuk melakukan aksinya.

Juga, dengan steroid, Anda dapat (meskipun Anda tidak perlu) menggunakan arsitektur multi-halaman (beberapa tampilan web) daripada tunggal. Dengan satu halaman aplikasi, semua hal seperti transisi hanya CSS workarounds, dan seperti kata Mani, bahkan tablet dan ponsel modern tidak cukup cepat untuk membuatnya halus. Itu selalu jelas ketika itu adalah aplikasi fonegap, terutama ketika Anda memiliki banyak proses yang sedang berjalan, atau jika Anda menggulir karena proses JS disembunyikan (diperbaiki di iOS 8).

Menggunakan arsitektur multi-halaman berarti Anda mendapatkan kinerja asli 100% (karena sebenarnya bagian tersebut adalah asli). Dan tidak seperti fonegap, Anda akan mendapatkan perilaku antarmuka pengguna yang konsisten dan debugging yang lebih mudah (dengan satu aplikasi halaman, seringkali sulit untuk membuat ulang keadaan tertentu di aplikasi Anda). Multi halaman membuatnya jauh lebih mudah untuk mengembangkan dan memelihara aplikasi Anda karena basis kode Anda tetap bersih.

Periksa demo: http://youtu.be/oXWwDMdoTCk?t=20m17s


0
2017-08-01 10:22



Saya juga menemukan setiap artikel bagus di sini http://www.comentum.com/phonegap-vs-native-app-development.html, membandingkan kedua cara ini dalam berbagai kategori.

Ringkasannya adalah sebagai berikut:

  1. Desain Antarmuka (Sama)
  2. Biaya (Hybrid memiliki Keuntungan)
  3. Timeline Pengembangan (Hybrid memiliki Keuntungan)
  4. Pengalaman dan Kinerja Pengguna  (Native memiliki Keuntungan)
  5. Maintainability  (Sama)
  6. Tanpa Batasan (Native memiliki Keuntungan)
  7. Keamanan (Sama)
  8. Dukungan dan Sumber Daya (Native memiliki Keuntungan)
  9. Alat dan Debugging (Native memiliki Keuntungan)
  10. Platform Independen (Hybrid memiliki Keuntungan)
  11. Kepopuleran  (Sama)

0
2018-05-15 04:16



Salah satu yang terlewatkan dari pilihan hebat di sini adalah pengembangan dengan Xamarin.

Meskipun tidak membantu untuk memanfaatkan keterampilan pengembang web OP, ia memiliki banyak kelebihan dibandingkan dengan PhoneGap dan hampir tidak ada kontra.

Xamarin vs PhoneGap Pros:

  • Kerangka yang matang memberikan akses ke sebagian besar (jika tidak semua) asli fitur perangkat seluler.
  • Pelajari hanya satu bahasa (C # untuk kebanyakan pengembang) untuk semua ponsel platform.
  • Memiliki kinerja aplikasi asli di iOS / Windows Mobile (karena aplikasi dikompilasi ke dalam kode asli) dan sangat dekat dengan Android (masih dikompilasi ke APK asli, tetapi harus memiliki pembungkus tipis yang menerjemahkan .NET class library API ke dalam API kelas Android saat runtime).
  • Dipertahankan oleh Microsoft yang mendukung keseluruhan kualitas murah hati platform itu sendiri dan alat pengembangan. Misalnya, Anda akan menggunakan Visual Studio dan mungkin itu adalah IDE terbaik di sekitar dan sekarang memiliki edisi Komunitas gratis dengan setiap fitur yang tersedia yang Anda perlukan untuk pengembangan Xamarin.

Xamarin vs PhoneGap Cons:

  • Perlu beberapa waktu investasi untuk pengembang web murni untuk beralih ke C # dan API perpustakaan kelas Xamarin.

Oleh karena itu, Xamarin adalah pilihan yang sangat kuat untuk pengembangan lintas platform saat ini.


0
2017-09-01 16:33