Semakin banyak platform seluler diluncurkan dan SDK tersedia untuk pengembang. Ada berbagai platform mobile yang tersedia: Android, iOS, Moblin, Windows mobile 7, RIM, symbian, bada, maemo dll.
Dan pembuatan aplikasi lintas platform membuat pusing para pengembang. Saya mencari hal-hal umum di seluruh platform yang akan membantu pengembang yang ingin mem-port aplikasi ke semua platform. Seperti apa resolusi layar diff, metode input, dukungan gl terbuka dll. Harap bagikan detail yang Anda ketahui untuk platform mana pun.
Atau apakah ada kemungkinan, dengan menulis kode dalam html (jenis widget) dan memuatnya ke dalam aplikasi asli. Saya tahu tentang android, di mana kita bisa menambahkan tampilan web ke dalam aplikasi dengan meneleponsetContentView(view)
Harap bagikan detail kelas tempat kami dapat menambahkan tampilan html ke dalam aplikasi asli dari berbagai jenis platform yang Anda ketahui.
Tujuan utas ini adalah membagikan detail umum di seluruh pengembang. menandai sebagai wiki komunitas.
Alat & pustaka lintas platform
XMLVM, Codename One dan iSpectrum (mengkompilasi silang kode Java dari aplikasi Android atau membuatnya dari awal
Phone Gap (aplikasi seluler lintas platform)
Titanium (untuk membangun aplikasi seluler dan desktop asli dengan teknologi web)
Mono Touch (C # untuk iphone)
rhomobile - http://rhomobile.com/ sampel ada di sini: http://github.com/rhomobile/rhodes-system-api-samples
Sencha Touch - Sencha Touch adalah kerangka kerja aplikasi seluler HTML5 yang memungkinkan Anda mengembangkan aplikasi web yang terlihat dan terasa asli di perangkat layar sentuh Apple iOS dan Google Android. http://www.sencha.com/products/touch/
Corona - Pustaka lintas platform aplikasi Iphone / Ipad / Android. Terlalu mengagumkan. http://anscamobile.com/corona/
Panduan untuk mem-porting aplikasi Android yang ada ke Windows Phone 7 http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers
- Kerangka Web yang Dioptimalkan untuk Sentuhan Seluler Jquery untuk Ponsel Cerdas & Tablet
sumber
Jawaban:
Jawaban saya di sini mencakup beberapa batasan teknis alat lintas-platfrom tetapi izinkan saya memperluas sedikit:
Saya pikir alat lintas platform secara historis selalu juga-rans karena alat semacam itu memiliki fokus filosofis yang salah.
Semua nilai jual untuk alat cross-plaform adalah manfaat yang mereka berikan kepada pengembang . Mereka dijual dengan gagasan bahwa mereka mengizinkan pengembang untuk menulis-sekali-dijalankan-di mana saja. Mereka dijual dengan gagasan bahwa mereka mengizinkan pengembang untuk memperluas pasar mereka tanpa mempelajari API baru. Mereka dijual dengan gagasan bahwa mereka mengizinkan pengembang untuk memangkas biaya dan waktu ke pasar.
Alat cross-plaform TIDAK dijual adalah manfaat yang mereka berikan kepada pengguna akhir .
Manfaat bagi pengguna akhir bukanlah nilai jual karena pengembangan lintas platform jarang menguntungkan bagi pengguna akhir. Pengguna akhir tidak peduli seberapa keras pengembang harus bekerja untuk membawa produk ke pasar. Mereka juga tidak peduli berapa banyak platform tempat aplikasi dapat berjalan ketika mereka tidak menggunakan kecuali satu platform. Mereka hanya peduli jika aplikasi melakukan apa yang mereka butuhkan pada perangkat keras yang mereka butuhkan untuk menjalankannya. Kecuali jika mereka memiliki kebutuhan khusus untuk menjalankan aplikasi di banyak platform berbeda, fakta bahwa hal itu tidak memberi mereka nilai.
Sebaliknya, kompromi yang tak terhindarkan dalam membuat API lintas platform berarti bahwa semua aplikasi yang dibuat oleh API akan memiliki tingkat B terbaik di setiap platform. Mereka tidak akan pernah menjadi alat terbaik untuk digunakan di setiap platform.
Semua ini berarti bahwa dalam sebagian besar kasus penggunaan, alat lintas platform memberikan produk yang lebih rendah kepada pengguna akhir dibandingkan dengan yang dibuat dengan API khusus platform. Pengguna akhir akan selalu memiliki pilihan yang lebih baik.
Anda menghasilkan uang dalam jangka panjang dengan memberi pengguna akhir alat yang paling berguna. Jika Anda tidak berkonsentrasi secara filosofis untuk membuat hidup pengguna akhir lebih mudah dan lebih produktif, Anda akan menemui ajal sejak awal. Pengguna akhir memiliki banyak pilihan dan jika alat Anda bukan salah satu yang terbaik, Anda tidak akan berhasil di pasar.
Anda sebaiknya hanya menggunakan alat lintas platform jika menurut Anda, "pengguna akan mendapatkan keuntungan dengan menjalankan aplikasi ini di banyak platform berbeda." Jika Anda mulai melihat alat lintas platform semata-mata karena alat tersebut akan membuat hidup Anda (pengembang) lebih mudah, Anda telah memilihnya untuk alasan yang salah dan alat tersebut akan lebih merugikan Anda daripada membantu.
sumber
Ada beberapa pendekatan untuk pengembangan lintas platform pada perangkat seluler. Tentu mereka semua memiliki keterbatasan. Tidak ada solusi yang berhasil memanfaatkan semua fungsi perangkat seperti yang dapat dilakukan aplikasi asli.
Menggunakan kembali kode
Meskipun semua OS seluler tidak menggunakan bahasa pengembangan dan API yang sama, Anda terkadang dapat berbagi beberapa kelas atau kode tingkat logika.
C ++ misalnya mungkin dapat digunakan kembali untuk aplikasi iOS , untuk aplikasi Android dengan menggunakan NDK , untuk aplikasi Symbian karena dikembangkan di C ++, dll.
Beberapa solusi juga menawarkan kemungkinan untuk menulis aplikasi dalam bahasa lain selain yang biasanya digunakan oleh perangkat. Yang paling terkenal (sebenarnya satu-satunya yang saya tahu) bersifat komersial dan berdasarkan proyek Mono (pengembangan C #):
Tetapi saya tidak yakin kita benar-benar dapat menyebut pengembangan lintas platform ini karena penggunaan ulang kode dibatasi tergantung pada perangkatnya:
Dan bagian UI juga tetap spesifik untuk setiap perangkat.
pengembangan web
Jawaban biasa ketika bertanya tentang pengembangan lintas platform untuk ponsel adalah pengembangan web. Kami kemudian akan membutuhkan pembungkus, yang akan menggunakan peramban seluler, untuk membuatnya terlihat dan berperilaku seperti aplikasi asli. Begitulah beberapa kerangka kerja lintas platform yang akan kita lihat lebih lanjut bekerja.
Munculnya HTML5 membawa fungsionalitas pengembangan web yang hanya dapat dilakukan dengan aplikasi asli seperti geolokasi, aplikasi off-line, penyimpanan lokal.
Kami dapat menemukan lebih banyak kerangka kerja untuk mengembangkan aplikasi web untuk seluler dengan tampilan dan nuansa asli dengan memanfaatkan standar web terbaru HTML5, CSS3, Js:
Tapi HTML5 masih sangat muda dan implementasinya mungkin berbeda dari satu browser ke browser lainnya. Sebagian besar peramban seluler default menggunakan mesin WebKit (pengecualian utamanya adalah ponsel / ponsel Windows yang menggunakan Internet Explorer) dan meskipun demikian mereka tidak selalu mendukung fungsi yang sama . Basis data lokal masih canggung untuk digunakan dan kami tidak dapat memastikan bagaimana ini akan diterapkan oleh browser yang berbeda. Selain itu, bahkan dengan HTML5, pengembangan web masih sangat terbatas dibandingkan dengan aplikasi asli. Anda tidak dapat mengakses kontak, kamera, akselerometer, dll.
Sunting: Awal bulan ini W3C telah menyampaikan beberapa peringatan tentang evolusi HTML5: Artikel dari ZDNet
Jadi itu hanya akan sesuai dengan kategori aplikasi yang terbatas.
Kerangka lintas platform
Dan kami memiliki kerangka aplikasi seluler lintas platform. Dengan itu Anda mungkin dapat mengembangkan sekali dan menerapkannya pada platform yang berbeda. Solusi ini biasanya berfokus pada iOS dan Android dan mengandalkan mesin WebKit. Mereka menawarkan lebih banyak interaksi dengan fungsi telepon sambil mengembangkan dengan teknologi web. Yang paling terkenal adalah Nitobi PhoneGap, RhoMobile Rhodes, Appcelerator Titanium. Tetapi banyak orang lain di luar sana dan tidak semua menggunakan teknik yang sama seperti MoSync yang menerjemahkan kode Anda ke bahasa perantara itu sendiri sebelum menyusunnya untuk platform yang diinginkan.
[1]
Ingatlah bahwa Apple memiliki kebijakan khusus tentang aplikasi yang ditulis untuk platform mereka. Mereka tampaknya tidak memblokir aplikasi ini pada tanggal ini, tetapi itu adalah informasi yang harus diperhitungkan.Edit: Apple telah mengubah kebijakan ini sejak 9 September.sumber
Anda mendapatkan beberapa kesamaan saat menerapkan sebagai aplikasi web (html5 seperti yang disebutkan di atas) tetapi untuk aplikasi asli yang kaya, API sangat berbeda untuk berbagai ponsel cerdas.
HTML5 mungkin sedikit meningkatkan hal-hal tetapi untuk melakukan hal-hal menarik Anda harus menjadi yang asli.
Ada kerangka kerja smartphone 'lintas platform' seperti Phonegap tetapi saya sering mendengar hal buruk tentang menggunakannya untuk pekerjaan "nyata". (banyak biaya tambahan dll)
sumber
Ya, html5 sedang menarik perhatian. Anda juga harus melihat konsorsium & platform ini di Q4. Tidak yakin tentang keberhasilan proyek itu, karena kedengarannya seperti tantangan besar, tetapi berikut detailnya:
Situs web: http://www.wholesaleappcommunity.com/default.aspx
Warta: http://news.google.de/news/search?aq=f&pz=1&cf=all&ned=us&hl=id&q=%22Wholesale+Applications+Community%22
.
sumber
Sejauh yang saya tahu, sebagian besar perangkat tersebut dapat menjalankan ini:
Java ME - Platform Aplikasi Paling Di mana-mana untuk Perangkat Seluler
Saya pikir ini bisa menjadi contoh yang baik dan buruk.
sumber