{"id":9929,"date":"2022-02-17T14:19:22","date_gmt":"2022-02-17T07:19:22","guid":{"rendered":"https:\/\/crocodic.com\/?p=9929"},"modified":"2023-10-06T07:08:13","modified_gmt":"2023-10-06T00:08:13","slug":"cross-platform-development-berkenalan-dengan-kotlin-multiplatform-mobile","status":"publish","type":"post","link":"https:\/\/crocodic.com\/id\/cross-platform-development-berkenalan-dengan-kotlin-multiplatform-mobile\/","title":{"rendered":"Cross-platform Development : Berkenalan dengan Kotlin Multiplatform Mobile"},"content":{"rendered":"<p>Pada umumnya, pengembangan <a href=\"https:\/\/crocodic.com\/id\/flutter-vs-react-native-mana-yang-lebih-cocok-untuk-proyekmu\/\">mobile apps<\/a> terbagi menjadi dua, yakni pengembangan dengan Native platform dan Multi-platform. Pengembangan <a href=\"https:\/\/crocodic.com\/id\/mobile-app-apa-yang-paling-dibutuhkan-pada-tahun-2025\/\">aplikasi<\/a> dengan Native berarti pengembangan yang menggunakan bahasa pengembangan yang spesifik untuk platform tertentu; jika Android menggunakan Kotlin, sedangkan iOS menggunakan Swift. Sedangkan pengembangan aplikasi Multi-platform, menggunakan satu bahasa dan <a href=\"https:\/\/crocodic.com\/id\/data-science-framework-definisi-manfaat-dan-jenisnya\/\">framework<\/a> yang hasil kodingannya dapat digunakan di beberapa platform sekaligus; contohnya adalah React Native dan Flutter.<br><\/p>\n\n\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-kelebihan-dan-kekurangan-native-dan-multi-platform-mobile-apps\">Kelebihan dan kekurangan Native dan Multi-platform Mobile Apps<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-native-apps\">Native Apps<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-kelebihan-native-apps\">Kelebihan Native Apps :<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-cross-platform-apps\">Cross-platform Apps<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-kelebihan-cross-platform-mobile-apps\">Kelebihan cross-platform mobile apps<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-kekurangan-dari-cross-platform\">Kekurangan dari cross-platform<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-apa-itu-kotlin-multiplatform-mobile\">Apa itu Kotlin Multiplatform Mobile?<\/a><\/li><\/ul><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-kelebihan-dan-kekurangan-native-dan-multi-platform-mobile-apps\">Kelebihan dan kekurangan Native dan Multi-platform Mobile Apps<\/h2>\n\n\n\n<p>Baik Native dan Multi-platform mobile apps mempunyai kekurangan dan kelebihan masing-masing.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-native-apps\">Native Apps<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-kelebihan-native-apps\">Kelebihan Native Apps : <\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Performa lebih cepat<\/li><\/ul>\n\n\n\n<p>Karena bahasa pemrograman Native secara resmi dikembangkan oleh platform Android dan iOS khusus untuk kebutuhan platform tersebut, pada dasarnya secara performa akan lebih unggul dibandingkan dengan pengembangan aplikasi dengan bahasa dan framework dari pihak ketiga. Selain itu, di aplikasi Native, library yang digunakan hanya untuk platform tertentu saja. Sehingga ketika mobile apps terkait dijalankan, butuh waktu yang singkat dibandingkan dengan aplikasi cross-platform.<br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Up to date sesuai perkembangan OS<\/li><\/ul>\n\n\n\n<p>Sekali lagi, karena teknologi Native dikembangkan oleh si empunya platform, tentu akan mendapat prioritas jika ada perkembangan OS. Misalnya jika Android memperbarui versi terbaru, maka library untuk bahasa pemrogramannya juga akan segera di <em>update<\/em>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-cross-platform-apps\">Cross-platform Apps<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-kelebihan-cross-platform-mobile-apps\">Kelebihan cross-platform mobile apps<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Single code untuk berbagai platform<\/li><\/ul>\n\n\n\n<p>Hanya diperlukan satu <em>codebase <\/em>yang dapat digunakan untuk berbagai platform.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Biaya pengembangan dan <a href=\"https:\/\/crocodic.com\/id\/jangan-anggap-remeh-ini-alasan-kenapa-maintenance-website-itu-penting\/\">maintenance<\/a> lebih rendah<\/li><\/ul>\n\n\n\n<p>Jika hanya dibutuhkan sekali proses coding untuk kemudian digunakan oleh beberapa platform sekaligus, maka biaya pengembangannya pasti akan lebih murah bukan? Kita hanya membutuhkan team programmer yang menguasai development cross-platform, dibandingkan dengan Native yang membutuhkan programmer untuk masing-masing platform.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Deployment lebih cepat<\/li><\/ul>\n\n\n\n<p>Jika customer kita berada di platform Android dan iOS, dengan sekali coding maka mobile apps kita akan siap digunakan di kedua platform.&nbsp;<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-kekurangan-dari-cross-platform\">Kekurangan dari cross-platform&nbsp;<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Dukungan platform di masa depan<\/li><\/ul>\n\n\n\n<p>Pada umumnya SDK cross-platform dikembangkan oleh pihak ketiga dan bukan oleh pemilik platform seperti Google dan Apple. Oleh karena itu, jika ada upgrade <em>operating system<\/em> maka kita harus menunggu update library terkait. Bisa saja nanti di masa depan, pihak ketiga tidak lagi menambahkan library terupdate, sehingga kita akan kesulitan untuk melanjutkan pengembangan mobile apps yang mendukung perkembangan <em>operating system<\/em>.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ukuran mobile apps lebih besar<\/li><\/ul>\n\n\n\n<p><em>Cross-platform <\/em>apps membutuhkan library untuk kedua platform secara bersamaan di dalam satu apps. Oleh karenanya, ukuran mobile apps akan lebih besar, sehingga membutuhkan kapasitas penyimpanan yang lebih besar. Begitu juga apabila apa <em>update<\/em>, ukuran file yang harus di<em>download <\/em>akan lebih besar.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Development yang lebih kompleks<\/li><\/ul>\n\n\n\n<p><a href=\"https:\/\/crocodic.com\/id\/5-kesalahan-yang-sering-dilakukan-developer-mobile-apps\/\">Developer<\/a> aplikasi <em>cross-platform<\/em> harus menguasai kedua platform dengan baik, termasuk perbedaan-perbedaan minor antara satu platform dengan yang lain. Kemudian, developer juga harus memperhatikan bagaimana agar mobile apps kita dapat berfungsi secara optimal di kedua platform, termasuk menyesuaikan design, dll.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-apa-itu-kotlin-multiplatform-mobile\">Apa itu Kotlin Multiplatform Mobile?<\/h2>\n\n\n\n<p>Development cross-platform mobile apps semakin populer, karena mampu menghemat banyak waktu dan biaya. Cross-platform development akan sangat berguna jika kita mengejar waktu <em>deployment<\/em> untuk mobile apps.&nbsp;<br><\/p>\n\n\n\n<p>Kotlin Multiplatform Mobile (KMM) adalah salah satu cross-platform development kit yang terbaru, yang banyak menjadi perbincangan saat ini. Jika sebelumnya kita mengenal Kotlin sebagai bahasa pemrograman untuk Native Apps <em>mobile yang maksimal<\/em>, dengan adanya KMM sebagai <a href=\"https:\/\/crocodic.com\/id\/ai-bukan-kotak-hitam-membongkar-cara-mengukur-roi-ai-pada-bisnis\/\">software development<\/a> kit, kita dapat menggunakan single codebase untuk business logic, yang dapat digunakan pada pengembangan aplikasi Android dan iOS di waktu yang sama. Kita hanya membutuhkan untuk menuliskan <em>coding<\/em> untuk masing-masing platform untuk implementasi Native UI di mobile apps kita, atau untuk implementasi API yang hanya ditemukan di platform tertentu. KMM dikembangkan oleh Jetbrain, rilis pada tahun 2016, dan pada tahun 2021 masih dalam tahap Alpha, sehingga masih membutuhkan banyak pengembangan kedepannya.<br><\/p>\n\n\n\n<p>Kelebihan KMM&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Menghemat waktu untuk mengembangkan <em>coding<\/em> untuk dua platform yang berbeda (Android dan iOS)<\/li><li>Performa serupa dengan Native apps, dan kompatibel dengan Java programming.<\/li><li>Familiaritas programmer Android lebih tinggi<\/li><\/ol>\n\n\n\n<p><br><\/p>","protected":false},"excerpt":{"rendered":"<p>Pada umumnya, pengembangan mobile apps terbagi menjadi dua, yakni pengembangan dengan Native platform dan Multi-platform. Pengembangan aplikasi dengan Native berarti pengembangan yang menggunakan bahasa pengembangan yang spesifik untuk platform tertentu; jika Android menggunakan Kotlin, sedangkan iOS menggunakan Swift. Sedangkan pengembangan aplikasi Multi-platform, menggunakan satu bahasa dan framework yang hasil kodingannya dapat digunakan di beberapa platform [&hellip;]<\/p>\n","protected":false},"author":43,"featured_media":9935,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[355,470,1],"tags":[478,359],"class_list":["post-9929","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-crocodic-dec","category-mobile-apps-development","category-uncategorized","tag-kotlin-multiplatform-mobile","tag-mobile-apps-development"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/posts\/9929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/comments?post=9929"}],"version-history":[{"count":2,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/posts\/9929\/revisions"}],"predecessor-version":[{"id":11463,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/posts\/9929\/revisions\/11463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/media\/9935"}],"wp:attachment":[{"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/media?parent=9929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/categories?post=9929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crocodic.com\/id\/wp-json\/wp\/v2\/tags?post=9929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}