Toolchain untuk menjalankan Aplikasi Chrome di perangkat seluler masih dalam pratinjau awal developer. Jangan ragu untuk memberikan masukan kepada kami menggunakan pelacak masalah GitHub, forum developer Aplikasi Chrome, di Stack Overflow, atau halaman Developer G+.
Ringkasan
Anda dapat menjalankan Aplikasi Chrome di Android dan iOS melalui toolchain berdasarkan Apache Cordova, framework pengembangan seluler open source untuk membuat aplikasi seluler dengan kemampuan native menggunakan HTML, CSS, dan JavaScript.
Apache Cordova menggabungkan kode web aplikasi Anda dengan shell aplikasi native dan memungkinkan Anda mendistribusikan aplikasi web hybrid melalui Google Play dan/atau Apple App Store. Untuk menggunakan Apache Cordova
dengan Aplikasi Chrome yang ada, Anda menggunakan alat command line
cca
(c ordova c hrome a pp).
Referensi lainnya
- Ada beberapa pertimbangan khusus yang harus Anda perhatikan saat mengembangkan dengan Cordova; kami telah mencantumkannya di bagian pertimbangan.
- Untuk melihat API Chrome yang didukung di perangkat seluler, buka halaman Status API.
- Untuk melihat pratinjau Aplikasi Chrome di perangkat Android tanpa toolchain, gunakan Alat Developer Aplikasi Chrome (ADT).
Mari kita mulai.
Langkah 1: Instal alat pengembangan Anda
Aplikasi Chrome untuk toolchain seluler dapat menargetkan iOS 6+ dan Android 4.x+.
Dependensi pengembangan untuk semua platform
Node.js versi 0.10.0 (atau yang lebih baru) dengan
npm
wajib diisi:- Windows: Instal Node.js menggunakan file yang dapat dieksekusi penginstalan yang dapat didownload dari nodejs.org.
- OS X atau Linux: File yang dapat dieksekusi penginstalan juga tersedia dari nodejs.org. Jika Anda ingin menghindari kebutuhan akan akses root, sebaiknya instal melalui nvm. Contoh:
curl https://raw.github.com/creationix/nvm/master/install.sh | sh source ~/.bash_profile || source ~/.profile || source ~/.bashrc nvm install 0.10 nvm alias default 0.10
Menargetkan Android
Saat mengembangkan aplikasi untuk Android, Anda juga perlu menginstal:
- Java JDK 7 (atau yang lebih baru)
- Android SDK versi 4.4.2 (atau yang lebih tinggi)
- Instal Android SDK dan Android Developer Tools yang disertakan dalam Android ADT Bundle.
- Tambahkan
sdk/tools
dansdk/platform-tools
ke variabel lingkungan PATH Anda. - OS X: Versi Eclipse yang disertakan dengan Android SDK memerlukan JRE 6. Jika Anda tidak diminta untuk menginstal JRE 6 saat membuka Eclipse.app, dapatkan aplikasi tersebut melalui Mac App Store.
- Linux: Android SDK memerlukan library dukungan 32 bit. Di Ubuntu, dapatkan ini melalui:
apt-get install ia32-libs
.
- Apache Ant
- Tambahkan
apache-ant-x.x.x/bin
ke variabel lingkungan PATH Anda.
- Tambahkan
Menargetkan iOS
Perhatikan bahwa pengembangan iOS hanya dapat dilakukan di OS X. Selain itu, Anda harus menginstal:
- Xcode 5 (atau yang lebih baru) yang mencakup alat command line Xcode
- ios-deploy (diperlukan untuk men-deploy ke perangkat iOS)
npm install -g ios-deploy
- ios-sim (diperlukan untuk men-deploy ke Simulator iOS)
npm install -g ios-sim
- Opsional: Daftar sebagai developer iOS
- Hal ini diperlukan untuk pengujian di perangkat sungguhan dan untuk mengirimkan ke app store.
- Anda dapat melewati pendaftaran jika hanya berencana menggunakan simulator iPhone/iPad.
Menginstal alat command line cca
Instal cca
melalui npm:
npm install -g cca
Untuk mengupdate toolchain nanti dengan rilis baru: npm update -g cca
.
Pastikan semuanya diinstal dengan benar dengan menjalankan perintah ini dari command line:
cca checkenv
Anda akan melihat nomor versi cca
yang di-output dan konfirmasi tentang penginstalan SDK Android atau iOS
Anda.
Langkah 2: Buat project
Untuk membuat project Aplikasi Chrome seluler default di direktori bernama YourApp
, jalankan:
cca create YourApp
Jika telah mem-build Aplikasi Chrome dan ingin mem-port-nya ke platform seluler, Anda dapat menggunakan
tanda --link-to
untuk membuat symlink ke aplikasi tersebut:
cca create YourApp --link-to=path/to/manifest.json
Jika ingin menyalin file Aplikasi Chrome yang ada, Anda dapat menggunakan flag --copy-from
:
cca create YourApp --copy-from=path/to/manifest.json
Belum memiliki Aplikasi Chrome Anda sendiri? Coba salah satu dari banyak contoh Aplikasi Chrome dengan dukungan seluler.
Langkah 3: Mengembangkan
Anda dapat mem-build dan menjalankan aplikasi dengan dua cara:
- Opsi A: Dari command line, menggunakan alat
cca
, atau - Opsi B: Dengan menggunakan IDE, seperti Eclipse atau Xcode. Penggunaan IDE sepenuhnya opsional (tetapi sering kali berguna) untuk membantu meluncurkan, mengonfigurasi, dan men-debug aplikasi seluler hybrid Anda.
Opsi A: Mengembangkan dan mem-build menggunakan command line
Dari root folder project Anda yang dibuat oleh cca
:
Android
- Untuk menjalankan aplikasi di Android Emulator:
cca emulate android
- Catatan: Anda harus menyiapkan emulator. Anda dapat menjalankan
android avd
untuk menyiapkannya. Download image emulator tambahan dengan menjalankanandroid
. Untuk membuat image intel berjalan lebih cepat, instal Intel's HAXM.
- Catatan: Anda harus menyiapkan emulator. Anda dapat menjalankan
- Untuk menjalankan aplikasi di perangkat Android yang terhubung:
cca run android
iOS
- Untuk menjalankan aplikasi di Simulator iOS:
cca emulate ios
- Untuk menjalankan aplikasi di perangkat iOS yang terhubung:
cca run ios
- Catatan: Hal ini mengharuskan Anda menyiapkan Profil Penyediaan untuk perangkat.
Opsi B: Mengembangkan dan membangun aplikasi menggunakan IDE
Android
- Di Eclipse, pilih
File
->Import
. - Pilih
Android
>Existing Android Code Into Workspace
. - Impor dari jalur yang baru saja Anda buat dengan
cca
.- Anda akan memiliki dua project untuk diimpor, salah satunya adalah
*-CordovaLib
.
- Anda akan memiliki dua project untuk diimpor, salah satunya adalah
- Klik tombol Play untuk menjalankan aplikasi Anda.
- Anda harus membuat Konfigurasi Run (seperti semua aplikasi Java). Anda biasanya akan diminta melakukan hal ini untuk pertama kalinya secara otomatis.
- Anda juga perlu mengelola perangkat/emulator untuk pertama kalinya.
iOS
Buka project di Xcode dengan mengetik perintah berikut di jendela terminal:
cd YourApp open platforms/ios/*.xcodeproj
Pastikan Anda mem-build target yang tepat.
Di kiri atas (di samping tombol Run dan Stop), terdapat menu dropdown untuk memilih project dan perangkat target. Pastikan
YourApp
dipilih, bukanCordovaLib
.Klik tombol Play.
Membuat perubahan pada kode sumber aplikasi
File HTML, CSS, dan JavaScript Anda berada dalam direktori www
folder project cca.
Penting: Setelah melakukan perubahan pada www/
, Anda harus menjalankan cca prepare
sebelum men-deploy
aplikasi. Jika Anda menjalankan cca build
, cca run
, atau cca emulate
dari command line, langkah persiapan akan dilakukan secara otomatis. Jika Anda mengembangkan menggunakan Eclipse/XCode, Anda harus menjalankan
cca prepare
secara manual.
Proses Debug
Anda dapat men-debug Aplikasi Chrome di perangkat seluler dengan cara yang sama seperti men-debug aplikasi Cordova.
Langkah 4: Langkah Berikutnya
Setelah Anda memiliki Aplikasi Chrome seluler yang berfungsi, ada banyak cara untuk meningkatkan pengalaman di perangkat seluler.
Manifes Seluler
Ada setelan Aplikasi Chrome tertentu yang hanya berlaku untuk platform seluler. Kami telah membuat
file www/manifest.mobile.json
untuk menampung ini, dan nilai spesifik dirujuk di seluruh
dokumentasi plugin dan panduan ini.
Anda harus menyesuaikan nilai di sini.
Ikon
Aplikasi seluler memerlukan beberapa resolusi ikon lainnya dibandingkan Aplikasi Chrome desktop.
Untuk Android, ukuran berikut diperlukan:
- 36 piksel, 48 piksel, 78 piksel, 96 piksel
Untuk aplikasi iOS, ukuran yang diperlukan berbeda-beda bergantung pada apakah Anda mendukung iOS 6 vs iOS 7. Jumlah minimum ikon yang diperlukan adalah:
- iOS 6: 57 piksel, 72 piksel, 114 piksel, 144 piksel
- iOS 7: 72 piksel, 120 piksel, 152 piksel
Daftar ikon lengkap akan terlihat seperti ini di file manifest.json
Anda:
"icons": {
"16": "assets/icons/icon16.png",
"36": "assets/icons/icon36.png",
"48": "assets/icons/icon48.png",
"57": "assets/icons/icon57.png",
"72": "assets/icons/icon72.png",
"78": "assets/icons/icon78.png",
"96": "assets/icons/icon96.png",
"114": "assets/icons/icon114.png",
"120": "assets/icons/icon120.png",
"128": "assets/icons/icon128.png",
"144": "assets/icons/icon144.png",
"152": "assets/icons/icon152.png"
}
Ikon akan disalin ke tempat yang sesuai untuk setiap platform setiap kali Anda menjalankan
cca prepare
.
Layar Pembuka
Aplikasi di iOS menampilkan layar pembuka singkat saat aplikasi dimuat. Kumpulan layar pembuka Cordova default
disertakan dalam platforms/ios/[AppName]/Resources/splash
.
Ukuran yang diperlukan adalah:
- 320 piksel x 480 piksel + 2x
- 768 piksel x 1024 piksel + 2x (potret iPad)
- 1024 piksel x 768 piksel + 2x (lanskap iPad)
- 640 x 1146 piksel
Gambar layar pembuka saat ini tidak diubah oleh cca
.
Langkah 5: Publikasikan
Di direktori platforms
project, Anda memiliki dua project native lengkap: satu untuk Android, dan
satu untuk iOS. Anda dapat mem-build versi rilis project ini dan memublikasikannya ke Google Play atau
App Store iOS.
Publikasikan ke Play Store
Untuk memublikasikan aplikasi Android ke Play Store:
Perbarui dua ID versi Android, lalu jalankan
cca prepare
:android:versionName
ditetapkan menggunakan kunciversion
diwww/manifest.json
(tindakan ini juga menetapkan versi aplikasi paket desktop Anda).android:versionCode
disetel menggunakan kunciversionCode
diwww/manifest.mobile.js
.
Edit (atau buat)
platforms/android/ant.properties
serta tetapkan propertikey.store
dankey.alias
(seperti yang dijelaskan dalam dokumen developer Android).Build project Anda:
./platforms/android/cordova/build --release
Temukan .apk yang ditandatangani yang terletak di dalam
platforms/android/ant-build/
.Upload aplikasi yang ditandatangani ke konsol developer Google Play.
Memublikasikan ke iOS App Store
- Update versi aplikasi dengan menetapkan kunci
CFBundleVersion
diwww/manifest.mobile.js
, lalu jalankancca prepare
. Buka file project Xcode yang ada di direktori
platforms/ios
Anda:buka platforms/ios/*.xcodeproj
Ikuti Panduan App Distribution Apple.
Pertimbangan khusus
Jika Anda baru menggunakan Aplikasi Chrome, masalah terbesarnya adalah beberapa fitur web dinonaktifkan. Namun, beberapa di antaranya saat ini berfungsi dalam Cordova.
Aplikasi Chrome mungkin tidak berfungsi secara otomatis di perangkat seluler. Beberapa masalah umum terkait transfer ke perangkat seluler:
- Masalah tata letak dengan layar kecil, terutama saat dalam orientasi potret.
- Solusi yang disarankan: Gunakan kueri media CSS untuk mengoptimalkan konten Anda untuk layar yang lebih kecil.
- Ukuran jendela Aplikasi Chrome yang ditetapkan melalui chrome.app.window akan diabaikan, dan sebagai gantinya menggunakan
dimensi native perangkat.
- Perbaikan yang disarankan: Hapus dimensi jendela yang di-hardcode; desain aplikasi Anda dengan mempertimbangkan berbagai ukuran.
- Tombol dan link kecil akan sulit diketuk dengan jari.
- Solusi yang disarankan: Sesuaikan target sentuh Anda menjadi minimal 44 x 44 poin.
- Perilaku yang tidak terduga saat mengandalkan pengarahan kursor mouse yang tidak ada di layar sentuh.
- Perbaikan yang disarankan: Selain pengarahan kursor, aktifkan elemen UI seperti dropdown dan tooltip saat diketuk.
- Penundaan ketuk 300 mdtk.
- Perbaikan yang disarankan: Gunakan polyfill JavaScript FastClick by FT Labs.
- Baca artikel HTML5Rocks ini untuk mengetahui beberapa info latar belakang.
API Chrome yang Didukung
Kami telah menyediakan banyak Chrome API inti untuk Aplikasi Chrome untuk Seluler, termasuk:
- identity - pengguna login menggunakan OAuth2
- pembayaran - jual barang virtual dalam aplikasi seluler Anda
- pushMessaging - mengirim pesan ke aplikasi Anda dari server
- soket - mengirim dan menerima data melalui jaringan menggunakan TCP dan UDP
- notifications (khusus Android) - mengirim notifikasi lengkap dari aplikasi seluler Anda
- storage - menyimpan dan mengambil data nilai kunci secara lokal
- syncFileSystem - menyimpan dan mengambil file yang didukung oleh Google Drive
- alarm - menjalankan tugas secara berkala
- idle - mendeteksi saat status tidak ada aktivitas mesin berubah
- power - mengganti fitur pengelolaan daya sistem
Namun, tidak semua Chrome JavaScript API diimplementasikan. Selain itu, tidak semua fitur Chrome Desktop tersedia di perangkat seluler:
- tidak ada tag
<webview>
- tidak ada IndexedDB
- tidak ada getUserMedia()
- tidak ada NaCl
Anda dapat melacak progres dari halaman Status API kami.
Alat Developer Aplikasi Chrome
Alat Developer Aplikasi Chrome (ADT) untuk Android adalah aplikasi Android mandiri yang memungkinkan Anda mendownload dan menjalankan Aplikasi Chrome tanpa menyiapkan toolchain pengembangan seperti yang dijelaskan di atas. Gunakan Chrome ADT saat Anda ingin melihat pratinjau Aplikasi Chrome yang ada dengan cepat (yang sudah dikemas sebagai .crx) di perangkat Android Anda.
ADT Chrome untuk Android saat ini dalam rilis pra-alfa. Untuk mencobanya, lihat catatan rilis ChromeADT.apk untuk mendapatkan petunjuk penginstalan dan penggunaan.