Codename One adalah lingkungan lintas platform seluler pertama untuk pengembang Java dan Kotlin. Itu dapat mengkompilasi bytecode Java ke executable OS asli (iOS, Android, UWP, dll.). Ini adalah platform seluler lengkap yang menampilkan mesin virtual, simulator, alat desain (tema visual/pembangun/css), integrasi IDE, port ke beberapa OS dan banyak lagi. Ini memberikan akses penuh ke kode OS asli yang mendasarinya (misalnya Objective-C, C#, Dalvik/ART) melalui abstraksi portabel yang memungkinkan penggunaan kembali kode 100%.
Berbeda dengan emulator yang bisa Anda lihat di Android dll. Codename One menggunakan simulator. Ini berarti ia memulai dengan cepat bahkan ketika melakukan debug. Anda dapat menikmati fitur IDE seperti memuat ulang kode langsung untuk mengubah kode saat runtime, dll.
Ini berarti siklus debugging lebih cepat dan proses pengembangan lebih cepat!
Pilih dari banyak pilihan “skin” perangkat untuk melihat tampilan aplikasi Anda pada perangkat tertentu. Kulit memperhitungkan faktor-faktor seperti resolusi dan kepadatan perangkat untuk memberikan presentasi aplikasi Anda dengan piksel sempurna, seperti yang akan terlihat di perangkat sebenarnya. Peralihan antar perangkat hampir seketika.
Anda dapat mengedit dan menyumbangkan skin dalam proyek sumber terbuka mereka di sini.
Berinteraksi dengan API aplikasi Anda saat runtime menggunakan Konsol Groovy interaktif. Periksa status aplikasi atau bereksperimenlah dengan semua perubahan saat aplikasi sedang berjalan.
Hal ini memungkinkan Anda menyelidiki masalah dan bereksperimen bahkan tanpa mengeluarkan biaya kecil untuk kompilasi ulang.
Simulator memungkinkan Anda memanfaatkan fitur "Muat Ulang Kelas yang Diubah" di IntelliJ (bernama "Terapkan Perubahan Kode" di NetBeans) sehingga perubahan yang Anda buat pada kode sumber Java akan segera diterapkan ke aplikasi yang sudah berjalan di simulator.
Perhatikan bahwa ini sering kali lebih unggul daripada konsol interaktif tetapi ada keterbatasan seperti kemampuan untuk menambahkan metode/mengubah struktur kode. Batasan ini tidak berlaku untuk konsol interaktif!
Saat Anda membuat perubahan pada stylesheet CSS aplikasi Anda, perubahan tersebut langsung terlihat di simulator. Ini termasuk mengubah tema, gambar, font, dll. Semua perubahan langsung disegarkan saat disimpan, tidak perlu memuat ulang/menyegarkan atau hal semacam itu!
Hal ini membuat proses penataan aplikasi menjadi sangat mudah dan cepat.
Gunakan pemeriksa komponen yang canggih untuk menelusuri hierarki komponen UI di aplikasi Anda. Alat ini memudahkan Anda mengetahui dari mana bantalan tambahan itu berasal atau mengapa sesuatu tidak berjalan sesuai keinginan Anda. Anda juga dapat mengubah UIID (pemilih) komponen saat runtime untuk melihat pengaruhnya terhadap UI dan melihat komponen mana dalam hierarki yang dipetakan ke elemen dalam pohon komponen (setara DOM).
Lihat semua koneksi jaringan yang dibuat aplikasi Anda menggunakan Monitor Jaringan. Alat berharga ini berguna saat Anda mencoba mencari tahu mengapa permintaan HTTP tidak berhasil untuk Anda. Periksa header dan isi permintaan dan respons. Anda bahkan dapat membatasi jaringan untuk menyimulasikan koneksi jaringan yang lambat.
Gunakan alat Test Recorder untuk mencatat pengujian unit untuk aplikasi Anda. Setelah Anda mulai merekam, interaksi Anda akan disimpan ke dalam pengujian unit yang dapat diputar ulang nanti untuk memverifikasi bahwa perilakunya tetap benar.
Anda kemudian dapat menghubungkan pengujian yang direkam ke proses CI Anda termasuk pengujian otomatis pada perangkat.
Codename One adalah proyek sumber terbuka yang matang dan berakar pada Sun Microsystems (2006) di mana salah satu komponen inti yang mendasarinya dikembangkan dan dijadikan sumber terbuka. Anda dapat mempelajari sejarahnya dan cara kerjanya di video ini.
Aplikasi Codename One berfungsi seperti aplikasi asli, karena merupakan aplikasi asli sebenarnya.
Mereka dikompilasi secara statis ke dalam biner asli menggunakan alat pembangunan resmi platform target.
Pada platform yang tidak mendukung Java secara asli, seperti iOS, bytecode JVM aplikasi terlebih dahulu ditranspilasi ke dalam bentuk yang dapat diterima oleh alat build asli. Di iOS, bytecode JVM aplikasi diubah menjadi kode sumber C, dalam proyek xcode nyata. Di Android, karena Java didukung secara asli, transformasi seperti itu tidak diperlukan. Jar aplikasi dipaketkan langsung ke dalam proyek gradle studio Android, yang dapat dibuat langsung menggunakan alat pembangunan Android SDK.
Anda dapat mengklik gambar untuk memperbesar atau melihat versi PDF di sini.
TIPS: Saat ini kami sedang bertransisi ke Maven, dan telah menciptakan metode baru yang lebih sederhana untuk membuat proyek. Kunjungi https://start.codenameone.com untuk memulai sekarang.
Ada banyak hal yang perlu diketahui tentang Codename One, video berdurasi 3 menit ini memberikan tampilan tingkat tinggi yang sangat ringkas. Perhatikan ada video serupa untuk Eclipse, IntelliJ/IDEA dan Netbeans di sini:
Codename One dapat diperluas dengan mudah menggunakan perpustakaan pihak ketiga yang dapat menyertakan kode OS asli. Ada daftar lengkap perpustakaan ini (cn1libs) di sini. Daftar perpustakaan dibuat secara otomatis berdasarkan proyek github ini.
Anda dapat mempelajari lebih lanjut tentang Codename One dan kemampuannya di situs utama dan Anda dapat melihat daftar lengkap dokumentasi dan tutorial di sini.
Anda dapat memulai dengan biner dan pandangan mata burung di bagian unduhan. Tautan penting tambahan adalah:
CATATAN: Kami sedang dalam proses migrasi dari Ant ke Maven, yang menyederhanakan proses pembuatan dari sumber. Lihat Mulai Cepat Ant untuk petunjuk pembuatan Ant yang lama.
Penyiapannya dibahas secara mendalam dalam artikel dan video ini.
PENTING: Saat ini Building Codename One memerlukan JDK 8 . Anda tidak dapat menggunakan JDK 11 karena beberapa sub-modul harus menggunakan -source 1.5
dan -target 1.5
untuk menjaga kompatibilitas dengan bagian-bagian toolchain.
git clone https://github.com/codenameone/CodenameOne
cd CodenameOne/maven
mvn install
Ini akan membangun dan menginstal Codename One di repositori Maven lokal Anda. Proses ini dapat memakan waktu cukup lama karena secara otomatis mendownload dependensi dengan ukuran ~1GB.
Untuk membangun proyek arketipe dari sumber, Anda harus memeriksa repositori cn1-maven-archetypes dan membangunnya juga:
git clone https://github.com/shannah/cn1-maven-archetypes
cd cn1-maven-archetypes
mvn install
Sekarang Codename One telah diinstal di repositori Maven lokal, Anda dapat menggunakan versi tersebut dalam proyek, bukan versi rilis. Proyek pengujian baru dapat dibuat dengan cepat menggunakan inisialisasi Codename One.
Setelah mengunduh dan mengekstrak proyek, buka file pom.xml dan cari properti <cn1.version>
dan <cn1.plugin.version>
. Kemudian ubah ini untuk menunjuk ke versi yang terinstal ke repositori maven lokal Anda dengan mvn install
. Versi yang dibuat secara lokal biasanya adalah versi SNAPSHOT (misalnya 7.0.21-SNAPSHOT).
Mendapatkan dan Membangun Sumber
$ git clone https://github.com/codenameone/CodenameOne
$ cd CodenameOne
$ ant
Menjalankan Tes Unit
$ ant test-javase
Sampel yang Berjalan
Direktori Sampel berisi sekumpulan aplikasi sampel yang terus bertambah. Contoh ini tidak dimaksudkan sebagai demo, melainkan contoh cara menggunakan API.
Anda dapat meluncurkan contoh aplikasi runner dari baris perintah menggunakan:
$ ant samples
VM iOS Codename One cukup unik dan juga open source. Anda dapat membaca lebih lanjut tentangnya di folder khusus di repositori ini.
ParparVM adalah VM konservatif unik yang menerjemahkan bytecode Java ke kode C. Sehingga memberikan kinerja dan akses asli sambil tetap memberikan jaring pengaman. Pendekatan ini unik untuk Codename One dan penting untuk kompatibilitas di masa depan!
Apple memiliki kecenderungan untuk mengubah banyak hal secara tiba-tiba, misalnya dukungan 64bit, bitcode, dll. Karena ParparVM menghasilkan proyek Xcode standar, tidak ada perubahan kode yang diperlukan untuk pergeseran tektonik ini. Seolah-olah Anda sendiri yang membuat kode tangan untuk proyek tersebut!
Anda bahkan dapat membuka proyek yang dihasilkan dalam xcode dan men-debug atau membuat profil langsung di perangkat iOS. Ini memberikan banyak informasi berguna seperti tumpukan panggilan yang dapat dibaca dan pelacakan kinerja yang berharga/dapat ditindaklanjuti...
Kompiler tradisional gagal dalam kasus ini.
Codename One mempertahankan cabang iKVM yang merupakan JVM untuk CLR. Port yang dimodifikasi ini memungkinkan kita menjalankan implementasi Universal Windows Platform dari Codename One secara asli di perangkat Windows 10.
Kami memberikan dukungan di StackOverflow ketika Anda memberi tag menggunakan codenameone, Anda dapat menanyakan apa pun di sana dan kami mencoba untuk cukup responsif. Tautan StackOverflow juga berfungsi sebagai FAQ berbasis komunitas yang sangat baik karena secara harfiah memetakan pertanyaan pengguna ke jawaban.
Codename One memiliki grup diskusi tempat Anda dapat memposting pertanyaan. Namun, karena sifat kelompok tersebut, kami mencoba membatasi diskusi mengenai sumbernya. Forum diskusi dimaksudkan untuk penggunaan yang lebih sederhana dan peretasan kode sumber/kompilasi asli yang lebih kompleks dapat menimbulkan keributan di sana.
Terima kasih kepada orang-orang hebat ini (kunci emoji):
beazl-peter | liannacasper | sergeyCodenameOne | ThomasH99 | Javier Anton | Berlian | Francesco Galgani |
kutoman | ramsestom | Maaartinus | Durank | ddyer0 | carlosverdier | Robert Edelman |
Adalbert393 | Steve Hana | digappsep | Pavneet Singh | vprise | JrmyDev | Terry Wilkinson |
Jaanus Hansen | Yaakov Gesher | Michael Munch | Saeder | Miguel Muñoz | Ahmed Aboumalwa | Fabio |
Piotr | Teluk Matthias | Sanny Sanoff | McSym28 | Eric Leong | Hari Daud | Harga Nick |
Ahnaf Bin Azad | Octavio E Anino | Jerawat Yash | Nina | FercueNat | SegeraSrl | davideprimasc |
DB107 | Ikko Eltociear Ashimine |
Proyek ini mengikuti spesifikasi semua kontributor. Kontribusi apa pun dipersilakan! ❤️