Saya telah bermain-main dengan mengembangkan aplikasi Android di Java untuk sementara waktu dan mulai menguasainya. Namun jika saya ingin memulai pada versi iOS saya perlu mengkodekan semuanya dari awal - yang, yah, tidak diinginkan.
Saya bertanya-tanya tentang solusi lintas platform apa yang tersedia dan seberapa baik mereka bekerja dalam praktiknya. Saya telah memikirkan tentang aplikasi web - mungkin menggunakan jQuery Mobile atau Titanium , atau Adobe Flash / Flex / Air. Saya juga belum memiliki Mac, yang mungkin harus saya investasikan.
Jadi Pertanyaan saya:
Lingkungan pengembangan lintas platform apa yang ada untuk iOS / Android (dan / atau perangkat lain)?
Apa pengalaman Anda dengan alat-alat ini? (inilah yang sangat ingin saya ketahui)
sumber
Jawaban:
Penafian: Saya bekerja untuk perusahaan, Kode Partikel, yang membuat kerangka kerja lintas platform. Ada banyak sekali perusahaan di bidang ini. Tampaknya yang baru bermunculan setiap minggu. Kabar baik untuk Anda: Anda memiliki banyak pilihan.
Kerangka kerja ini mengambil pendekatan yang berbeda, dan banyak di antaranya dirancang secara fundamental untuk memecahkan masalah yang berbeda. Beberapa fokus pada game, beberapa berfokus pada aplikasi. Saya akan menanyakan pertanyaan-pertanyaan berikut:
Apa yang ingin kamu tulis Aplikasi perusahaan, aplikasi produktivitas pribadi, permainan puzzle, penembak orang pertama?
Lingkungan pengembangan seperti apa yang Anda sukai? IDE atau editor teks biasa?
Apakah Anda memiliki perasaan yang kuat tentang bahasa pemrograman? Dari kerangka kerja yang saya kenal, Anda dapat memilih dari ActionScript, C ++, C #, Java, Lua, dan Ruby.
Perusahaan saya lebih banyak di ruang permainan, jadi saya belum banyak bermain dengan kerangka JavaScript + CSS seperti Titanium, PhoneGap, dan Sencha. Tetapi saya dapat memberi tahu Anda sedikit tentang beberapa kerangka kerja berorientasi game. Game dan aplikasi internet yang kaya adalah area di mana kerangka kerja lintas platform dapat bersinar, karena aplikasi ini cenderung lebih mementingkan keunikan visual dan tidak terlalu memadukan dengan UI asli. Berikut beberapa kerangka kerja yang harus dicari:
Unity www.unity3d.com adalah mesin game 3D. Ini benar-benar tidak seperti lingkungan pengembangan lain yang pernah saya kerjakan. Anda membangun pemandangan dengan model 3D, dan menentukan perilaku dengan melampirkan skrip ke objek. Anda dapat membuat skrip dalam JavaScript, C #, atau Boo. Jika Anda ingin membuat game berbasis fisika 3D yang akan berjalan di iOS, Android, Windows, OS X, atau konsol, ini mungkin alat untuk Anda. Anda juga dapat menulis game 2D menggunakan aset 3D - contohnya adalah game indie Max dan Magic Marker, penggulung samping berbasis fisika 2D yang ditulis dalam Unity. Jika Anda tidak mengetahuinya, saya sarankan untuk memeriksanya (terutama jika ada anak di rumah Anda). Max tersedia untuk PC, Wii, iOS dan Windows Phone 7 (meskipun versi terakhir adalah port, karena Unity tidak mendukung WinPhone). Unity hadir dengan beberapa contoh game lengkap dengan aset dan tekstur 3D, yang benar-benar membantu meningkatkan kecepatan dengan lingkungan yang cukup rumit.
Corona www.anscamobile.com/corona adalah mesin permainan 2D yang menggunakan bahasa scripting Lua dan mendukung iOS dan Android. Nilai jual Corona adalah kemampuannya untuk menulis game berbasis fisika dengan sangat cepat dalam beberapa baris kode, dan banyaknya game berbasis Corona di toko aplikasi iOS merupakan bukti keberhasilannya. Lingkungannya sangat ramping, yang akan menarik bagi sebagian orang. Muncul dengan simulator dan debugger. Anda menambahkan editor teks pilihan Anda, dan Anda memiliki lingkungan pengembangan. SDK dasar tidak menyertakan komponen UI apa pun, seperti tombol atau kotak daftar, tetapi add-on CoronaUI tersedia untuk pelanggan.
Particle SDK www.particlecode.com adalah solusi lintas platform yang sedikit lebih umum dengan latar belakang permainan. Anda dapat menulis di Java atau ActionScript, menggunakan model aplikasi MVC. Ini termasuk IDE berbasis Eclipse dengan editor UI WYSIWYG. Saat ini kami mendukung pembuatan untuk perangkat Android, iOS, webOS, dan Windows Phone 7. Anda juga dapat mengeluarkan Flash atau HTML5 untuk web. Kerangka kerja ini awalnya dikembangkan untuk game sosial multipemain online, seperti poker dan backgammon, dan sesuai dengan game dan aplikasi 2D dengan logika yang kompleks. Kerangka ini mendukung grafik 2D dan mencakup mesin fisika 2D.
NB:
Sumber
Dalam hal kurva pembelajaran, saya akan mengatakan bahwa Unity memiliki kurva pembelajaran paling curam (bagi saya), Corona adalah yang paling sederhana, dan Partikel dan Airplay ada di antara keduanya.
Hal menarik lainnya adalah bagaimana framework menangani faktor bentuk yang berbeda. Corona mendukung penskalaan dinamis, yang akrab bagi pengembang Flash. Ini sangat mudah digunakan tetapi berarti Anda akan menghabiskan ruang layar saat beralih dari layar 4: 3 seperti iPhone ke 16: 9 seperti perangkat Android qHD baru. Editor UI Particle SDK memungkinkan Anda mendesain tata letak fleksibel berskala itu, tetapi juga memungkinkan Anda menyesuaikan tata letak untuk ukuran layar individual. Ini membutuhkan lebih banyak waktu tetapi memungkinkan Anda membuat aplikasi terlihat dibuat khusus untuk setiap layar.
Tentu saja, apa yang berhasil untuk Anda bergantung pada selera dan gaya kerja Anda sendiri serta tujuan Anda - jadi saya sarankan untuk mengunduh beberapa alat ini dan mencobanya. Semua alat ini gratis untuk dicoba.
Juga, jika saya bisa memasukkan pengumuman layanan publik - sebagian besar alat ini dalam pengembangan yang sangat aktif. Jika Anda menemukan kerangka kerja yang Anda sukai, kirimkan umpan balik dan beri tahu mereka apa yang Anda suka, apa yang tidak Anda sukai, dan fitur yang ingin Anda lihat. Anda memiliki peluang nyata untuk memengaruhi apa yang masuk ke versi berikutnya dari alat ini.
Semoga ini membantu.
sumber
MonoTouch dan MonoDroid tetapi apa yang akan terjadi pada bagian Attachmate sekarang adalah dugaan siapa pun. Tentu saja bahkan dengan solusi mono Anda masih membuat tampilan non lintas platform tetapi idenya adalah penggunaan kembali logika bisnis.
Awasi http://www.xamarin.com/ akan menarik untuk melihat apa yang mereka hasilkan.
sumber
Pengalaman saya membuat sesuatu yang sangat sederhana di PhoneGap + jQuery Mobile baik-baik saja. Saya bisa melakukannya dengan cepat untuk iOS. Namun, itu tidak berfungsi di ponsel Android saya tanpa membuat beberapa perubahan. Proyek ini adalah aplikasi yang sangat sederhana untuk mengambil gambar dan mempostingnya ke situs web. Dan pada akhirnya, ini terasa "kikuk" dibandingkan dengan aplikasi asli yang sebenarnya.
Saya tidak percaya akan ada pengembangan lintas platform yang mudah. Saya pikir browser ini sedekat yang akan Anda dapatkan. Dengan memilih sesuatu seperti PhoneGap, saya pikir Anda hanya memperdagangkan satu set poin nyeri untuk satu set poin nyeri yang berbeda.
sumber
Jika Anda tidak ingin menggunakan framework lengkap untuk pengembangan lintas platform, lihat C ++ sebagai opsi. iOS sepenuhnya mendukung penggunaan C ++ untuk logika aplikasi Anda melalui Objective-C ++. Saya tidak tahu seberapa baik dukungan Android untuk C ++ melalui NDK cocok untuk menjalankan logika bisnis Anda di C ++ daripada hanya beberapa cuplikan kode yang sangat penting untuk performa, tetapi jika kasus penggunaan tersebut didukung dengan baik, Anda dapat mencobanya.
Pendekatan ini tentu saja hanya masuk akal jika logika aplikasi Anda merupakan bagian terbesar dari proyek Anda, karena antarmuka pengguna harus ditulis secara individual untuk setiap platform.
Faktanya, C ++ adalah satu-satunya bahasa pemrograman yang paling banyak didukung (dengan pengecualian C), dan oleh karena itu merupakan bahasa inti dari sebagian besar aplikasi lintas platform besar.
sumber
Meskipun saya baru saja mulai melihat area pengembangan ini, saya pikir itu tergantung pada perbedaan mendasar ini: beberapa alat mempertahankan kode asli, dan beberapa port ke asli ...
misalnya, PhoneGap hanya menyimpan kode HTML / CSS / JS yang Anda tulis, dan membungkusnya dengan kode iOS yang memadai untuk memenuhi syarat sebagai aplikasi, sedangkan Appcelerator memberi Anda proyek XCode ... jadi jika Anda tidak terbiasa dengan iOS, maka itu tidak akan benar-benar memberikan manfaat apa pun kepada Anda melalui PhoneGap, tetapi jika Anda TIDAK tahu sedikit, itu mungkin memberi Anda sedikit lebih banyak kemampuan untuk mengubah versi asli setelah upaya pengkodean Anda yang lebih besar.
Saya sendiri belum pernah menggunakan appcelerator, tetapi mengerjakan proyek beberapa minggu lalu di mana salah satu anggota tim kami membuat seluruh aplikasi iPad dalam waktu sekitar 24 jam menggunakannya.
Dan ya, untuk benar-benar tunduk pada apple, Anda harus mendapatkan mac, tetapi jika itu bukan platform kerja utama Anda, Anda bisa menjadi murah.
sumber
Cappuccino atau PhoneGap .
Terkadang meskipun mencoba mencari jalan pintas tidak menghemat waktu Anda atau memberi Anda produk akhir yang sebanding.
sumber
Ada juga MoSync Mobile SDK
GPL dan perizinan komersial. Ada gambaran bagus tentang pendekatan mereka di sini .
sumber
Jika Anda pernah menggunakan LUA, Anda mungkin mencoba Corona SDK dapat membuat aplikasi yang berjalan di iOS dan Android
https://coronalabs.com/
Saya telah mengunduhnya dan mengotak-atik beberapa, saya menemukan LUA bahasa scripting yang sangat mudah dipelajari tanpa gangguan / batasan bahasa scripting yang biasa ....
sumber
Ada juga BatteryTech yang telah kami gunakan selama 18 bulan terakhir dan telah merilis beberapa game darinya. http://www.batterypoweredgames.com/batterytech
Semua dukungan C ++, Android dan iOS, semua pengguna mendapatkan sumber lengkap. V2 baru menyertakan binding lua.
sumber