05 | Bagaimana Aplikasi Android Bekerja dari Proses Development Sampai Aplikasi Tersebut Running | by mashan
Pada sesi 5 kali ini, saya akan mencoba menjelaskan ulang tentang Bagaimana Aplikasi Android dapat bekerja dari saat proses development Aplikasi sampai Aplikasi tersebut Running di Ponsel ketika di install.
# Proses Development
Setiap Aplikasi Android yang berjalan pada ponsel tersebut melalui banyak proses, salah satunya yaitu Development. Aplikasi Android dapat di developt menggunakan beberapa bahasa pemrograman seperti Java, Kotlin, Javascript, dll. Yang di tulis dengan menggunakan Software IDE (Integrated Development Environment) yaitu Software komputer yang memiliki beberapa fasilitas yang diperlukan dalam development Aplikasi.
Sebuah IDE dapat melakukan untuk Editor, Compiler, dan Debugger.
Komponen Pada saat Proses Development :
- Manifest
- Resource
- Assets
Merupakan hal penting pada saat proses pembuatan aplikasi, yaitu
- Activity, ini bagian mendasar dari model aplikasi. Bagian ini yang langsung tampak dengan pengguna ketika menggunakan ponsel.
- Service, ini bagian yang mewakili aplikasi untuk melakukan proses operasi yang berjalan tanpa berinteraksi dengan pengguna atau menyediakan fungsionalitas untuk digunakan oleh aplikasi lain.
- Receiver, Bagian ini memungkinkan aplikasi menerima maksud yang dibutuhkan oleh sistem atau aplikasi lain.
- Content Provider, bagian ini membantu aplikasi untuk mengelola akses ke data yang disimpan oleh aplikasi itu sendiri atau yang disimpan oleh aplikasi lain dan menyediakan cara untuk berbagi data dengan aplikasi lain.
Ketika aplikasi sudah di Developt lalu akan di build menjadi APK yang siap jadi, dapat langsung install kepada perangkat ponsel atau di Upload ke Google Play Store.
# Proses Aplikasi Running pada Saat Diinstall
Sebelum saya menjelaskan tentang bagaimana aplikasi itu running pada saat diinstall, disini saya akan memberikan penjelasan sedikit tentang proses Booting pada Android.
- Boot ROM : Me-Loads pertama kali sistem Boot Loader ke dalam internal RAM.
- Bootloader : Menginisialisasi memori, memverifikasi Keamanan, dan memuat Kernel.
- Kernel Android : Mengatur Interrupt Controllers, Perlindungan terhadap memori, dan menjalankan proses user space.
- Proses Init : Memparsing Script Init.rc, Mounting File Sistem, Menjalankan Zygote, dan Mounting proses sistem.
- Zygote : Mengatur runtime Java dan memori init untuk setiap layanan proses, serta menjadi Parent atas semua aplikasi yang berjalan untuk membuat VM.
- Sistem Server : Komponen Java dalam sistem, dan memulai inti layanan atau service Android.
- Sistem Aplikasi : Aplikasi di luncurkan.
Ketika Aplikasi diinstall pada perangkat Android untuk pertama kalinya pada ponsel, Aplikasi akan ditangani oleh ART (Android Runtime) melalui sistem server dan memberitahu init zygote yang standby untuk membuat VM baru untuk aplikasi ketika aplikasi yang akan diinstall diubah dari file Dex menjadi Bytecode lalu oleh ART di terjemahkan menjadi bahasa mesin yang diproses sampai Aplikasi tersebut terinstall pada perangkat Ponsel.
Begitulah proses singkatnya.
Referensi :