Trace Id is missing
Lompati ke konten utama
Azure
orang sedang menggunakan ponsel

Apa itu pengembangan aplikasi seluler?

Jelajahi proses dan perangkat lunak yang digunakan untuk mengembangkan aplikasi seluler.

Membuat perangkat lunak untuk perangkat seluler

Definisi pengembangan aplikasi seluler dapat memiliki arti yang sangat luas—mencakup semua proses yang terlibat dalam pembuatan dan rilis aplikasi seluler—atau khusus, merujuk pada pengodean dan penyebaran dari suatu aplikasi. Artikel ini akan membahas definisi pengembangan aplikasi seluler dan fokus khususnya pada penentuan pengembangan aplikasi seluler bagi orang-orang yang membuat keputusan di sekitar atau bertanggung jawab atas cara membuat perangkat lunak.

Untuk mendefinisikan pengembangan aplikasi seluler, kita harus memulai dengan mendefinisikan perangkat seluler, yang dalam hal ini merujuk pada perangkat elektronik portabel seperti smartphone, tablet, laptop, jam tangan pintar, pembaca elektronik, dan konsol game genggam. Aplikasi ini berarti bukan hanya perangkat lunak native untuk perangkat tersebut, tetapi juga sistem operasi, platform, dan bahasa umum yang didukung perangkat tersebut. Seperti yang akan Anda pelajari, ada banyak cara untuk melakukan pengembangan aplikasi seluler dan banyak keputusan yang harus dibuat.

Orang duduk di sofa dan menggunakan pengontrol permainan dengan headphone
Seorang wanita sedang menulis di papan putih dengan spidol

Proses pengembangan aplikasi seluler

Proses untuk membuat dan merilis aplikasi seluler sering dipahami dalam serangkaian langkah atau tahap. Tahap proses pengembangan aplikasi seluler melibatkan banyak orang dan beragam disiplin dalam sebuah organisasi, termasuk bisnis, pemasaran, desain, dan rekayasa. Tahap proses pengembangan aplikasi seluler adalah:

  • Strategi
  • Perencanaan
  • Desain
  • Pengembangan
  • Pengujian
  • Rilis

Berapa lama waktu yang diperlukan untuk membuat aplikasi seluler?

Organisasi memerlukan waktu mulai dari tiga bulan hingga sembilan bulan—atau lebih lama jika diperlukan—untuk mengembangkan aplikasi seluler. Cakupan dan fitur aplikasi semuanya memengaruhi garis waktu proses pengembangan aplikasi seluler.

Strategi

Proses pengembangan aplikasi seluler dimulai dengan memahami alasan mengapa aplikasi seluler mungkin merupakan solusi yang baik untuk masalah atau pendekatan terhadap suatu peluang—lalu memutuskan apa yang harus dibuat dan caranya. Dalam tahap strategi, organisasi akan membuat tujuan dan pengukuran keberhasilan aplikasi, menganalisis pasar dan persaingan, meneliti kebutuhan pelanggan, dan menentukan pengguna dan kasus penggunaan yang akan dilayani aplikasi. Dalam tahap strategi, organisasi mungkin juga mulai menjelajahi platform pengembangan aplikasi seluler yang paling sesuai dengan tujuan dan persyaratannya. Pada tahap inilah organisasi juga mulai mempertimbangkan pemasaran sekitar rilis aplikasi.

Perencanaan

Dalam tahap perencanaan, organisasi menyetujui empat detail utama dari proses pengembangan aplikasi seluler: tim, alat, teknologi, dan garis waktu. Saat ini, organisasi memiliki gambaran tentang jenis aplikasi seluler apa yang perlu dibuat, siapa yang akan membuat aplikasi, dan platform apa yang akan digunakan. Selama tahap ini, organisasi akan menetapkan peta strategi produk—yang menentukan fitur apa yang akan dibuat dan urutan serta waktunya—menetapkan milestone, dan merancang rencana proyek yang akan memungkinkan mereka memenuhi tanggal rilis yang diinginkan. Mengetahui sumber daya dan keahlian yang tersedia bersama dengan pemahaman tentang cara menerapkan teknologi yang dipilih untuk proses tersebut sangatlah penting untuk menentukan tanggal tersebut dan mencapai rilis.

Desain

Tampilan, fitur, dan fungsi aplikasi seluler mulai terbentuk selama tahap desain. Dalam tahap proses pengembangan aplikasi seluler ini, tim akan membuat bagan pengalaman pengguna dan membuat antarmuka pengguna serta status aplikasi pada berbagai fidelitas. Dapat dimulai menggunakan mockup dengan fidelitas rendah untuk menyediakan bukti konsep atau mengumpulkan umpan balik pelanggan pada tahap awal. Pengembang dan teknisi dapat membantu membuat prototipe atau berkonsultasi mengenai keputusan UX dan UI pada tahap ini—agar tim mengetahui persyaratan dan spesifikasi teknis platform yang telah dipilih organisasi untuk digunakan. Dengan cara ini, organisasi ketika berpindah ke bagan dengan fidelitas penuh, mereka telah merancang aplikasi yang benar-benar dapat dibuat.

Pengembangan

Kata pengembangan dalam konteks ini terkadang merujuk pada siklus hidup pengembangan perangkat lunak lengkap yang terlibat dalam pembuatan dan perilisan aplikasi seluler. Namun biasanya, pengembangan berarti tahap pengembangan perangkat lunak dari pengembangan aplikasi seluler ini. Kita akan mendefinisikan tahap ini secara lebih lengkap nanti di dalam artikel. Untuk saat ini, tahap ini dideskripsikan terbaik sebagai langkah di mana tim menetapkan arsitektur teknis dan tumpukan teknologi—termasuk front-end, back-end, dan API—menetapkan milestone pengembangan, menentukan siklus hidup pengembangan untuk aplikasi, dan membuat kode aplikasi.

Pengujian

Pengujian adalah tahap penting dari proses pengembangan aplikasi seluler. Tanpa pengujian, organisasi tidak dapat memastikan aplikasi mereka akan aman, berfungsi sesuai kebutuhan dan harapan pengguna, serta berfungsi di tempat aplikasi tersebut disebarkan. Selama tahap ini, tim memberikan jaminan kualitas, membuat kasus pengujian untuk menilai kegunaan, performa, stabilitas, dan keamanan aplikasi pada semua perangkat tempat aplikasi ditujukan untuk dijalankan. Organisasi akan sering menguji ketahanan aplikasi terhadap tekanan untuk memastikan arsitektur aplikasi dapat diskalakan untuk memenuhi permintaan yang tiba-tiba naik secara signifikan.

Rilis

Tahap akhir dalam proses pengembangan aplikasi seluler adalah rilis. Setelah aplikasi disebarkan, organisasi menyediakan dukungan kepada pelanggan yang menggunakannya serta melakukan pemantauan dan pemeliharaan berkelanjutan untuk memastikan aplikasi tersedia dan berfungsi sebagaimana mestinya. Kampanye dan aktivitas pemasaran untuk mendorong adopsi aplikasi sering kali ada dalam tahap ini. Jika organisasi memutuskan untuk membuat penyempurnaan atau perubahan pada aplikasi di luar cakupan perubahan yang dapat ditangani siklus hidup pengembangannya, organisasi dapat memutuskan untuk memulai proses pengembangan aplikasi seluler baru.

Seseorang menggunakan ponsel dengan desktop di atas mejanya

Pengembangan perangkat lunak dalam proses pengembangan aplikasi seluler

Tugas pertama dari tahap pengembangan ini adalah menetapkan arsitektur teknis aplikasi seluler. Sering kali tertukar dengan tumpukan teknis—yang mencakup front-end, back-end, dan API—arsitektur teknis adalah aturan dan pola yang mengatur pengembangan aplikasi seluler.

Arsitektur teknis

Arsitektur teknis sering kali memiliki tiga lapisan:

Lapisan presentasi

Ini adalah lapisan aplikasi yang dapat dilihat dan berinteraksi dengan pelanggan. Lapisan presentasi mencakup antarmuka pengguna dan semua elemen aplikasi yang membentuk pengalaman pengguna.

Lapisan bisnis

Logika yang mengatur alur kerja, pertukaran data, dan operasi berada di dalam lapisan bisnis. Aspek inti dari aplikasi seluler seperti keamanan, cache, pengelogan, dan penanganan pengecualian ditangani di dalam lapisan ini.

Lapisan data

Lapisan data melayani persyaratan aplikasi itu sendiri, menyediakan utilitas data, komponen akses data, dan pembantu atau agen layanan. Lapisan ini juga yang memvalidasi dan mengelola data serta mendukung transaksi data.

Tumpukan teknologi

Demikian pula, tumpukan teknologi juga memiliki tiga bagian seperti yang disebutkan. Namun, bagian-bagian ini mewakili pilihan tertentu yang digunakan untuk membuat dan mendukung aplikasi, bukan sebagai panduan pembuatannya.

Front-end

Terkait erat dengan lapisan presentasi, alat dan bahasa yang digunakan untuk membuat kode front-end aplikasi seluler sangat bergantung pada perangkat tempat aplikasi akan disebarkan. Ada banyak opsi, dan sebagian besar perangkat seluler memiliki native bahasa tertentu.

Back-end

Back-end adalah bagian dari aplikasi yang meliputi database dan objek serupa lainnya yang berada pada server dan mendukung fungsi dari aplikasi seluler. Tim tidak terlalu mempertimbangkan perangkat ketika memilih teknologi back-end seluler dan sering kali dapat menemukan solusi back-end bawaan.

API

Aplikasi berkomunikasi antara back-end dan front-end melalui API—yang memungkinkan aplikasi untuk berintegrasi dan berinteraksi dengan aplikasi dan layanan lain.

Namun, sebelum tim dapat memilih tumpukan teknologi—atau bahkan membuat arsitektur teknis—tim terlebih dahulu perlu memutuskan jenis aplikasi seluler yang akan mereka buat.

Seseorang memeriksa statistik di tabletnya

Jenis aplikasi seluler

Dalam hal mengembangkan aplikasi untuk perangkat seluler, organisasi memiliki beberapa jenis aplikasi seluler yang dapat dipilih. Dalam hal ini, jenis aplikasi seluler tidak merujuk pada apa yang akan dilakukan pengguna menggunakan aplikasi tersebut tetapi cara aplikasi ini akan dibuat.

Aplikasi native

Aplikasi yang spesifik untuk perangkat atau platform tertentu—seperti Android atau iOS—disebut aplikasi native. Aplikasi ini berjalan langsung di sistem operasi perangkat, menggunakan bahasa dan kerangka kerja yang disediakan platform, dan disebarkan melalui bursa atau marketplace khusus untuk sistem operasi tersebut. Aplikasi native biasanya memiliki akses penuh ke semua fitur dan perangkat keras perangkat tempat aplikasi berjalan.

Aplikasi lintas platform

Tim dapat membuat kode di aplikasi dalam bahasa dan kerangka kerja pilihannya, lalu menyusun kode untuk setiap sistem operasi yang dimaksudkan untuk menjalankan aplikasi dengan menggunakan platform seperti Xamarin. Aplikasi lintas platform, sebutan dari aplikasi semacam ini, memungkinkan tim untuk menjalankan di berbagai perangkat dan menggunakan ulang sebagian besar kode—meskipun penyambungan kode memerlukan lebih banyak pekerjaan daripada mengembangkan hanya untuk satu platform.

Aplikasi web progresif

Seperti aplikasi web, aplikasi web progresif berjalan di browser seluler dan biasanya dibuat menggunakan JavaScript, CSS, dan HTML5. Yang membuat aplikasi web progresif adalah kemampuannya untuk memberikan pemberitahuan push, gerakan sentuhan yang lebih baik, serta interaksi perangkat keras dengan menggunakan kemampuan browser tingkat lanjut. Tidak ada SDK untuk membantu membuat aplikasi web progresif, tetapi aplikasi web progresif dapat disebarkan tanpa melalui marketplace.

Aplikasi hibrid

Campuran antara aplikasi native dan aplikasi web progresif, aplikasi hibrid pada dasarnya adalah kontainer yang dikode secara native yang menjalankan aplikasi web. Kombinasi ini memungkinkan aplikasi memiliki lebih banyak akses ke fitur dan perangkat keras dari perangkat dan berjalan di lebih banyak jenis perangkat—sekaligus mempertahankan satu basis kode. Untuk semua keunggulannya, aplikasi hibrid biasanya tidak dapat mencapai performa seperti didapatkan aplikasi seluler jenis lain.

Jenis aplikasi seluler mana yang akan dibuat

Jenis aplikasi seluler yang dipilih organisasi memiliki implikasi berat atas alat, platform, kerangka kerja, bahasa yang tersedia untuk tim mereka, distribusi aplikasi, jumlah basis kode yang harus dipertahankan, perangkat yang akan menjalankan aplikasi, dan bahkan apa yang dapat dilakukan oleh aplikasi tersebut.

Saat Anda memutuskan jenis aplikasi seluler yang akan dibuat, akan sangat membantu untuk mempertimbangkan siapa pengguna Anda dan apa yang mereka butuhkan dari aplikasi. Misalnya, jika sebagian besar dari pengguna menggunakan satu jenis perangkat atau sistem operasi, aplikasi native mungkin pilihan terbaik. Aplikasi yang tidak bergantung pada sensor perangkat keras atau GPS mungkin sangat cocok sebagai aplikasi web progresif atau aplikasi hibrid—tetapi mungkin tidak jika pengguna Anda tidak memiliki konektivitas yang baik. Jika pengguna adalah anggota dari bisnis atau organisasi, Anda mungkin ingin mempertimbangkanstrategi seluler yang berbeda. Dan tentu saja, semuanya kembali lagi kepada keahlian yang tersedia di dalam organisasi Anda atau melalui mitra.

Bagan ini menguraikan perbedaan dan kemiripan lain antara berbagai jenis aplikasi seluler untuk membantu Anda mempertimbangkan tipe aplikasi yang harus Anda kembangkan.

Dua orang berbicara di aula

Membandingkan jenis aplikasi seluler

Aplikasi native Aplikasi lintas platform Aplikasi web progresif Aplikasi hibrid
Jumlah basis kode Satu per platform Satu, tetapi dikompilasi untuk setiap platform Satu total Satu untuk aplikasi, satu lagi untuk kontainer
Bahasa dan kerangka kerja Hanya native Pilihan tim Hanya web Web dan native
Akses ke SDK dan API Ya Ya Tidak Terbatas
Performa Tertinggi Tinggi Terendah Rendah
Akses ke perangkat keras perangkat Selesai Paling Sangat sedikit Beberapa
Responsivitas terhadap input pengguna Baik Baik Terburuk Buruk
Interaktivitas Tinggi Tinggi Terendah Rendah
Penggunaan sumber daya perangkat Tinggi Tinggi Rendah Sedang
Memerlukan konektivitas Tidak Tidak Ya Ya
Biaya untuk membuat dan mempertahankan Tertinggi Tinggi Terendah Lebih rendah
Tempat aplikasi disimpan Perangkat Perangkat Server Perangkat dan server
Disebarkan melalui Marketplace Marketplace Browser Marketplace
Memerlukan persetujuan pihak luar Ya Ya Tidak Ya

Platform dan perangkat lunak pengembangan aplikasi seluler

Setelah memutuskan jenis aplikasi seluler yang akan Anda buat—atau mungkin saat mempertimbangkan jenis—Anda harus mengevaluasi platform pengembangan aplikasi seluler. Berikut adalah platform pengembangan aplikasi yang akan Anda gunakan untuk mengembangkan, membangun, menguji, melakukan debug, mengelola, dan dalam beberapa kasus bahkan menyebarkan aplikasi seluler sepanjang siklus hidupnya. Sebagian besar perangkat lunak pengembangan aplikasi menyertakan alat front-end untuk membuat antarmuka, alat back-end untuk menangani data, alat API, alat pengujian, dan alat-alat untuk kolaborasi dan analisis kode.

Sebagian besar platform aplikasi seluler bertujuan untuk menyediakan semua hal yang diperlukan pengembang untuk membuat aplikasi seluler. Hal ini memungkinkan pengembang menghindari masalah yang muncul dari berpindah di antara beberapa perangkat lunak pengembang seluler—dan menangani masalah yang muncul di antaranya, seperti integritas kode, inkompatibilitas, dan kehilangan data. Platform pengembangan aplikasi seluler juga dapat mengurangi biaya, waktu, sumber daya, dan keahlian yang diperlukan organisasi untuk membuat aplikasi seluler. Sementara beberapa organisasi memilih untuk membuat platform mereka sendiri, banyak organisasi lain yang memilih salah satu dari banyak alternatif pengembangan aplikasi yang tersedia.

Alternatif pengembangan aplikasi seluler terbaik untuk digunakan organisasi bervariasi tergantung pada jenis aplikasi seluler yang ingin dibuat, bahasa apa yang dapat digunakan untuk membuat kode, dan perangkat apa yang ingin mereka layani. Beberapa alternatif pengembangan aplikasi seluler meliputi:

  • Alat lintas platform seperti Xamarin yang memungkinkan pengembang membuat aplikasi Android dan iOS menggunakan .NET dan C#.
  • Alat Visual Studio untuk Xamarin, yang menggunakan satu basis kode bersama untuk aplikasi seluler Android, iOS, dan Windows.
  • Alat rendah kode atau tanpa kode seperti Power Apps. Rendah kode adalah cara sederhana untuk membuat aplikasi tingkat profesional tanpa perlu pelatihan atau keahlian teknis. Pelajari selengkapnya.

 

Sumber daya pengembangan aplikasi seluler

Jelajahi dokumen Azure untuk pengembang seluler

Temukan informasi yang Anda perlukan untuk mengembangkan aplikasi seluler di Azure. Pelajari tentang pemberitahuan push, autentikasi, analitik, dan SDK.

Coba buat aplikasi seluler sekarang

Siapkan alur integrasi dan penyediaan berkelanjutan untuk aplikasi Android. Sambungkan ke repo Git apa pun dan siapkan tim Anda dalam hitungan menit.

Tanya jawab umum tentang pengembangan aplikasi seluler

  • Definisi pengembangan aplikasi seluler dapat memiliki arti yang sangat luas—mencakup semua proses yang terlibat dalam pembuatan dan rilis aplikasi seluler—atau khusus, merujuk pada pengodean dan penyebaran dari suatu aplikasi.

    Pelajari selengkapnya

  • Tahap proses pengembangan aplikasi seluler adalah strategi, perencanaan, desain, pengembangan, pengujian, dan rilis.

    Pelajari selengkapnya

  • Saat Anda memutuskan jenis aplikasi seluler yang akan dibuat, akan sangat membantu untuk mempertimbangkan siapa pengguna Anda dan apa yang mereka butuhkan dari aplikasi.

    Pelajari selengkapnya

  • Alternatif pengembangan aplikasi seluler terbaik untuk digunakan organisasi bervariasi tergantung pada jenis aplikasi seluler yang ingin dibuat, bahasa apa yang dapat digunakan untuk membuat kode, dan perangkat apa yang ingin mereka layani.

    Pelajari selengkapnya

  • Organisasi memerlukan waktu mulai dari tiga bulan hingga sembilan bulan—atau lebih lama jika diperlukan—untuk mengembangkan aplikasi seluler.

    Pelajari selengkapnya

  • Meskipun perlu waktu berbulan-bulan untuk sepenuhnya mengembangkan aplikasi seluler, berikut lima tips dari Microsoft untuk memulai pengembangan aplikasi seluler sekarang.

    Pelajari lima tips untuk membuat aplikasi seluler

  • DevOps menggabungkan kata "pengembangan" dan kata "opearsi" dan didefinisikan sebagai penyatuan orang, proses, dan teknologi untuk terus memberikan nilai kepada pelanggan. Budaya, alat, dan praktik DevOps dapat membantu memungkinkan peran yang sebelumnya tertutup—seperti pengembangan, operasi TI, rekayasa kualitas, dan keamanan—untuk berkoordinasi dan berkolaborasi guna menghasilkan aplikasi seluler yang lebih baik dan lebih dapat diandalkan. DevOps membantu tim pengembangan menjadi lebih responsif terhadap kebutuhan pelanggan, meningkatkan keyakinan dalam aplikasi yang mereka kembangkan, dan untuk mencapai tujuan bisnis tim dengan lebih cepat.

    Pelajari selengkapnya tentang DevOps

  • Pengembang biasanya fokus pada kapabilitas teknis dan proses penyedia cloud, seperti: kemudahan penyebaran, manajemen, dan peningkatan, apakah menggunakan antarmuka dan API standar, apakah memiliki sistem formal untuk manajemen kejadian yang terintegrasi dengan sistem pemantauan/manajemennya, apakah memiliki proses manajemen perubahan yang terdokumentasi dengan baik, dan apakah mendukung kemampuan hibrid.

    Pelajari selengkapnya tentang memilih penyedia cloud