Pengembangan mobile lintas platform - mengapa ini penting (Panduan 2018)

Pengarang: Lewis Jackson
Tanggal Pembuatan: 13 Boleh 2021
Tanggal Pembaruan: 13 Boleh 2024
Anonim
Kick-start your Cross-platform Development with Qt and QML
Video: Kick-start your Cross-platform Development with Qt and QML

Isi


Jadi, Anda memiliki ide bagus untuk permainan atau aplikasi yang menurut Anda bisa menjadi hit besar, mungkin berdampak pada industri, dan mungkin membuat Anda kaya.

Anda memiliki keterampilan pengkodean dan Anda memiliki tim dan sumber daya. Sekarang yang tersisa adalah memilih platform yang ingin Anda targetkan. Meskipun kami tidak benar-benar membicarakannya, Android bukanlah satu-satunya sistem operasi di dunia!

Jika ini adalah aplikasi seluler yang Anda buat, maka keputusan besar kemungkinan akan jatuh pada apakah Anda ingin mengembangkan untuk iOS atau Android. Masing-masing memiliki kelebihan dan kekurangan untuk pengembang; Sementara Android memiliki basis pengguna yang lebih besar, pengguna iOS sebenarnya cenderung menghabiskan lebih banyak pada aplikasi mereka (baik untuk mengunduh aplikasi itu sendiri maupun ketika melakukan pembelian dalam aplikasi).


Namun di luar itu Anda juga dapat memilih untuk membuat aplikasi untuk perangkat Windows. Mungkin Anda ingin menargetkan pengguna Surface melalui Windows store? Atau jika itu adalah permainan, Anda mungkin mempertimbangkan untuk merilisnya di Steam dan GoG sebagai judul indie - atau bahkan di konsol rumah! Ada banyak gim seperti Limbo dan Downwell yang telah menjadi hit besar di berbagai platform termasuk Android.

Skenario yang ideal? Untuk menargetkan setiap platform itu mungkin memberi Anda audiensi, sehingga memaksimalkan dampak dan penjualan Anda. Jadi, apakah itu mungkin? Apa perbedaan pengembangan lintas platform dengan pengembangan semata-mata untuk Android? Dan apa cara termudah untuk melakukannya?

Tantangan yang dihadapi selama pengembangan lintas platform

Jika Anda ingin membuat aplikasi yang murni berfokus pada Android, kemungkinan besar Anda akan menggunakan Android Studio untuk mengkodekan aplikasi Anda di Jawa menggunakan Android SDK.


Sekarang, jika Anda membuat aplikasi untuk iOS, Anda akan melakukannya menggunakan Xcode IDE dan kemungkinan memilih Swift sebagai bahasa pemrograman, menggunakan iOS SDK.

Jika kemudian Anda memutuskan untuk "port" aplikasi Anda dari satu platform ke platform lainnya, maka Anda harus menulis ulang semua kode itu. Bergantung pada sifat aplikasi Anda, ini mungkin pekerjaan kecil atau mungkin pekerjaan besar. Anda kemudian perlu mengatur proyek di IDE baru dan mengatur ulang semua tata letak, tambahkan semua gambar dll.

Tetapi setidaknya Anda dapat menggunakan spesifikasi desain dan grafik yang sama, bukan? Ya… tidak persis. Sayangnya, bahasa desain yang digunakan di iOS agak berbeda dari bahasa desain Android. Android terkenal dengan pendekatannya, sedangkan iOS memiliki tampilan dan nuansa yang sama sekali berbeda. Perangkat keras yang menjalankan iOS dan Android juga akan bervariasi. Pengembang Android mungkin terbiasa berurusan dengan fragmentasi dan beberapa ukuran layar dan resolusi yang berbeda, tetapi sekarang Anda perlu mempertimbangkan kurangnya tombol kembali dan cara pengguna terbiasa berinteraksi dengan aplikasi mereka juga.

Jika Anda menambahkan aplikasi ke Windows Store, atau Windows 10 Mobile (tentu, mengapa tidak?), Maka Anda perlu mempertimbangkan lebih banyak faktor.

Dengan kata lain? Itu sakit kepala. Jadi jawabannya adalah idealnya untuk membangun sesuatu lintas platform dari awal.

Memilih IDE lintas platform

Untungnya, frustrasi ini tidak luput dari perhatian dan ada banyak IDE yang dibuat khusus untuk menargetkan masalah pengembangan mobile lintas platform. Sebuah IDE (Lingkungan Pengembangan Terpadu) memungkinkan Anda mengatur proyek Anda, menjalankan kode Anda, dan banyak lagi. Android Studio dan Xcode IDE adalah contoh dari IDE.

Ada banyak IDE yang dibuat khusus untuk menargetkan masalah pengembangan mobile lintas platform

Tetapi ada IDE lain di luar sana yang menggunakan bahasa pemrograman yang berbeda, memiliki fitur yang berbeda, dan menargetkan perangkat yang berbeda. Beberapa telah dikembangkan secara khusus untuk menyelesaikan masalah pengembangan lintas platform.

Berikut adalah beberapa yang terbaik untuk semua jenis aplikasi:

Xamarin

Xamarin mungkin merupakan pilihan paling populer untuk pengembangan lintas platform di luar permainan dan memiliki komunitas besar, banyak dukungan, dan banyak fitur berguna. Xamarin dibundel dengan Visual Studio (Microsoft IDE), dan memungkinkan Anda membuat kode dengan C #, yang mungkin disukai beberapa pengembang untuk Java.

Anda kehilangan sedikit dukungan Google dan integrasi tingkat lanjut. Mengakses perpustakaan yang ditulis dalam Java juga akan melibatkan beberapa langkah lebih banyak dari sebelumnya. Tapi selain itu, ada sedikit yang bisa Anda lakukan di Android Studio yang tidak bisa Anda lakukan di Xamarin dan itu adalah proses yang cukup sulit untuk diatur. Tentu saja sorotan sebenarnya adalah sifat lintas-platform Xamarin, dan Anda bahkan dapat menguji aplikasi Anda pada platform yang berbeda menggunakan Xamarin Test Cloud.

Ini adalah betapa mudahnya untuk mulai membangun aplikasi Android di Visual Studio 2015

Baca Selanjutnya: Pengantar pengembangan aplikasi lintas platform Xamarin

Berdebar

Flutter adalah proyek terbaru dari Google yang berupaya merampingkan pengembangan lintas platform dan menyediakan basis kode tunggal untuk UI Anda. Flutter akan berintegrasi dengan Java, Objective C dan Swift, yang berarti Anda tidak perlu sepenuhnya menemukan kembali aplikasi Anda, dan dilengkapi dengan fitur-fitur bermanfaat seperti 'hot reload' untuk pengujian cepat. Namun itu berarti belajar Dart, yang merupakan bahasa pemrograman lain untuk menggerakkan kepala Anda. Untungnya, Android Studio telah mendedikasikan plugin Flutter dan Dart, sehingga sangat mudah untuk memulai. Dan itu baru saja keluar dari beta!

B4A

Saya tidak merahasiakan cintaku pada B4A dari Anywhere Software. Inilah yang membuat saya memulai dalam Pengembangan Android. Saya masih menggunakannya sampai hari ini ketika saya ingin mendapatkan sesuatu dan berjalan secepat mungkin. B4A memungkinkan Anda mengembangkan Aplikasi Android menggunakan bahasa yang disebut BASIC (karenanya B), yang sangat mudah dibaca dan ditulis. Ini juga memiliki sejumlah fitur yang dirancang untuk membantu mempercepat proses pembuatan aplikasi Anda.

Sekolah Dasar Tua!

B4A sendiri bukan cross platform. Namun, Anywhere Software juga menawarkan alat serupa yang disebut B4i dan melakukan apa yang Anda harapkan (Dasar untuk iOS, jika Anda melewatkannya). Ini adalah satu-satunya alat pengembangan yang memungkinkan Anda membuat aplikasi iOS asli tanpa komputer Mac, yang merupakan klaim terkenal. Terlebih lagi, karena bahasa pemrogramannya sama, Anda akan merasa jauh lebih cepat untuk berpindah dari satu platform ke platform lainnya. Banyak perpustakaan yang sama bahkan akan berfungsi! Bagi mereka yang juga ingin mengembangkan untuk komputer desktop, B4J (Basic for Java) telah Anda liput.

Namun itu tidak sempurna. Sebagai permulaan, ini tidak gratis. Kedua, agak sulit untuk membuat aplikasi yang akan memiliki nuansa Desain Material modern lengkap. Banyak perpustakaan yang perlu diubah agar dapat berjalan dan tentu saja, Anda kehilangan dukungan penting Google itu lagi. Tapi ini tentu masih merupakan pilihan yang baik bagi mereka yang menemukan IDE yang lebih kompleks menakutkan.

PhoneGap

Baik Xamarin dan B4A akan memungkinkan pengembang untuk membuat aplikasi asli. Itu berarti mereka akan berjalan seolah-olah mereka dibangun menggunakan IDE resmi dan akan memiliki akses ke semua fitur perangkat keras dan perangkat lunak dari perangkat yang mereka jalankan.

PhoneGap adalah contoh dari pendekatan yang berbeda. Ini adalah alat untuk membangun aplikasi menggunakan HTML, CSS, dan JavaScript - bahasa yang biasanya digunakan dalam pengembangan web. Dengan kata lain, aplikasi dapat berjalan seolah-olah mereka adalah halaman web, yang berarti mereka akan bekerja dengan hampir semua perangkat modern. Ini bukan pengembangan "asli", dan sebagai hasilnya Anda akan kehilangan cukup banyak fungsi. Anda tentu tidak ingin menempuh rute ini untuk membangun permainan, kecuali jika itu berupa noughts dan crosses atau hangman. Yang mengatakan, Anda masih dapat mengakses banyak fitur ponsel seperti kamera, kompas, media dll. Dan jika visi Anda adalah untuk sesuatu yang cukup mendasar, maka ini sudah cukup. Misalnya, jika Anda ingin membangun aplikasi bisnis dengan investasi finansial minimal, maka Anda dapat membuat aplikasi statis dengan beberapa informasi dan peta dengan cara ini.

Kesatuan

Jika Anda membuat game, maka pengembangan lintas platform jauh lebih mudah. Bahkan, sebagian besar alat yang Anda gunakan untuk membuat game sudah memiliki dukungan lintas platform, dan ini membuat penerbitan ke sistem operasi yang berbeda semudah mencentang kotak yang tepat.

Salah satu proyek kesayangan saya!

Unity adalah mesin game dan IDE di balik proporsi game terbesar di Play Store. Ini benar-benar adalah alat yang sangat sederhana dan kuat yang membuat pengembangan mudah bagi pemula, namun masih memberi Anda semua fleksibilitas untuk membuat apa pun yang dapat Anda bayangkan. Anda memiliki opsi untuk mengembangkan menggunakan C # atau Java, dan dimungkinkan untuk membuat sesuatu yang mengesankan dengan pengkodean yang relatif minimal. Ada komunitas besar dan banyak dukungan yang tersedia jika Anda macet, serta banyak pilihan aset yang dibuat oleh pengguna lain untuk Anda tambahkan ke gim Anda sendiri.

Unity sebenarnya menawarkan dukungan untuk sejumlah besar platform, termasuk semua platform mobile utama, Windows, Mac, Linux, konsol rumah, dan bahkan VR. Dan jika Anda mau, tidak ada yang menghentikan Anda membuat aplikasi lintas platform yang bukan permainan seperti ini.

Baca Selanjutnya: Buat game Android dasar pertama Anda hanya dalam 7 menit (dengan Unity)

Tidak nyata

Unreal menawarkan proposisi yang mirip dengan Unity, menyediakan mesin game 3D yang berfungsi penuh dan IDE yang ramah pengguna. Perbedaan utama adalah dalam kinerja dan fleksibilitas. Unity sedikit lebih cocok untuk membuat game 2D dengan lebih banyak dukungan bawaan, yang mungkin membuatnya sedikit lebih populer untuk pengembangan ponsel. Apa yang Unreal lakukan adalah kinerja grafis yang lebih baik, yang membuatnya sedikit lebih unggul untuk pengembang yang menginginkan framerate paling detail dan tertinggi di PC. Ini kemungkinan tidak akan menjadi masalah bagi pengembangan ponsel tetapi jika rencana Anda adalah untuk membangun PC terlebih dahulu dan mendukung seluler nanti dengan versi yang dikurangi, maka Anda dapat mempertimbangkan Unreal sebagai gantinya.

Baca Selanjutnya: Mana yang lebih baik? Unity vs Unreal Engine untuk pengembangan game Android

Studio GameMaker

GameMaker Studio adalah alternatif Unity atau Unreal yang lebih ramah pengguna. Pengembangan dijaga agar tetap ramping dan super mudah, dan banyak sumber daya disediakan untuk menghemat waktu dan upaya Anda. Masih ada kontrol yang lebih dalam tersedia bagi mereka yang lebih suka menggali sedikit di bawah tenda. Permainan yang sukses suka Hyper Light Drifter telah dibangun dengan cara ini. Tentu saja Anda akan mendapatkan lebih sedikit kekuatan dan fleksibilitas daripada dengan Unity atau Unreal sekalipun.

Game yang sukses seperti Hyper Light Drifter telah dibangun menggunakan GameMaker Studio

Apa pun yang Anda pilih, menggunakan salah satu platform ini untuk pengembangan game akan menghemat banyak waktu dan kemungkinan menghasilkan produk akhir yang lebih baik. Ini hanya bonus fantastis bahwa Anda akan mendapatkan dukungan lintas platform yang sudah jadi secara default juga.

Dan masih banyak lagi…

Ada banyak opsi di luar sana untuk memulai dengan pengembangan mobile lintas platform. Pilihan populer termasuk Cordova, Ionic, Corona, Appcelerator, dan Sencha Touch. Lakukan riset dan lihat mana yang menarik bagi Anda.

Jika Anda menginginkan saran saya, maka Anda harus tetap menggunakan Xamarin untuk utilitas dan Unity atau Unreal untuk game. Jika Anda menunda dengan banyak kode dan mengatur, maka Anda dapat mencoba GameMaker Studio, atau mungkin B4A. Mereka yang tidak memiliki minat dalam pengkodean mungkin mempertimbangkan untuk menggunakan pembuat aplikasi seperti PhoneGap, meskipun dalam kasus itu Anda selalu bisa hanya outsourcing pengembangan.

Beberapa tips

Kabar baiknya bagi para pengembang game adalah bahwa lintas platform melibatkan rintangan yang jauh lebih sedikit daripada membangun alat produktivitas. UI dalam game tidak harus sesuai dengan prinsip-prinsip desain sistem operasi lainnya dan juga tidak mungkin memerlukan hal-hal seperti niat untuk meluncurkan aplikasi lain, atau bahkan akses ke fitur perangkat keras yang unik.

Satu-satunya pertimbangan yang perlu Anda buat dalam hal mendesain aplikasi Anda adalah sistem monetisasi terbaik untuk platform itu dan siapa target audiensnya. Misalnya, Anda akan menemukan lebih banyak "gamer hardcore" di PC atau konsol, sementara pengguna iOS lebih senang membayar lebih untuk aplikasi di muka. Apakah ini mengubah cara Anda menyajikan dan mengemas aplikasi Anda?

Tetapi untuk utilitas dan non-game lainnya, semuanya menjadi sedikit lebih rumit. Alat seperti Xamarin membuatnya relatif mudah untuk mendukung beberapa platform tetapi jangan biarkan ini membuat Anda puas.Anda masih perlu mempertimbangkan sensibilitas desain yang berbeda yang akan berkembang di setiap platform. Adalah kesalahan untuk menjaga versi aplikasi Anda yang berbeda tetap sama dan Anda bahkan mungkin kesulitan untuk mempublikasikan aplikasi Anda di iOS jika Anda tidak mematuhi beberapa pedoman.

Dan perlu diingat bahwa Anda kemungkinan akan membutuhkan banyak mesin (Anda akan membutuhkan Mac untuk dikembangkan untuk iOS dalam kebanyakan kasus, serta perangkat iOS), banyak SDK dan banyak penguji jika Anda akan menyeberang -peron. Itu masih sedikit lebih menantang daripada menargetkan satu platform saja, jadi pastikan Anda tahu persis siapa yang Anda targetkan sebelum Anda mulai! Setelah Anda memiliki rencana aksi yang konkret, Anda dapat memilih IDE yang tepat dan menguraikan perbedaan antara versi yang berbeda.

Memaang Kodi di Firetick atau Fire TV emudah pie - tidak diperlukan pengetahuan tekni. Ada ejumlah cara untuk melakukannya, tiga di antaranya dapat Anda lihat di bawah....

Pada aat ini, ebagian bear orang tahu bahwa martphone Huawei Mate 30 dan Huawei Mate 30 Pro tidak akan dikirimkan berama aplikai Google. Awalnya, kami pikir Anda akan dapat membuka kunci bootloader un...

Populer Di Portal