Mobil cihazlarda Chrome Uygulamalarını çalıştırmak için kullanılan araç zinciri, erken geliştirici önizlemesindedir. GitHub sorun izleyicisini, Chrome Uygulamaları geliştirici forumumuzu, Stack Overflow'u veya G+ Geliştiriciler sayfamızı kullanarak geri bildirimlerinizi bizimle paylaşabilirsiniz.
Genel Bakış
Chrome uygulamalarınızı, HTML, CSS ve JavaScript'i kullanarak yerel özelliklere sahip mobil uygulamalar oluşturmak için açık kaynak bir mobil geliştirme çerçevesi olan Apache Cordova'ya dayalı bir araç seti aracılığıyla Android ve iOS'te çalıştırabilirsiniz.
Apache Cordova, uygulamanızın web kodunu yerel bir uygulama kabuğuna sarar ve karma web uygulamanızı Google Play ve/veya Apple App Store üzerinden dağıtmanıza olanak tanır. Apache Cordova'yı mevcut bir Chrome uygulamasıyla kullanmak için cca
(c ordova c hrome a pp) komut satırı aracını kullanırsınız.
Ek kaynaklar
- Cordova ile geliştirirken göz önünde bulundurmanız gereken birkaç özel husus vardır. Bunları dikkat edilmesi gerekenler bölümünde listeledik.
- Mobil cihazlarda hangi Chrome API'lerinin desteklendiğini görmek için API Durumu sayfasını ziyaret edin.
- Chrome uygulamanızı Android cihazda araç zinciri olmadan önizlemek için Chrome Uygulamaları Geliştirici Aracı'nı (ADT) kullanın.
Haydi başlayalım.
1. adım: Geliştirme araçlarınızı yükleyin
Mobil cihazlar için Chrome uygulamaları araç zinciri, iOS 6 ve sonraki sürümleri ve Android 4.x ve sonraki sürümleri hedefleyebilir.
Tüm platformlar için geliştirme bağımlılıkları
npm
ile 0.10.0 (veya daha yeni) sürüm Node.js gereklidir:- Windows: nodejs.org adresinden indirilebilen yükleme yürütülebilir dosyalarını kullanarak Node.js'yi yükleyin.
- OS X veya Linux: Yürütülebilir yükleme işlemleri, nodejs.org adresinden de edinilebilir. Kök erişimi ihtiyacından kaçınmak isterseniz nvm aracılığıyla yükleme işlemini daha kolay gerçekleştirebilirsiniz. Örnek:
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
Android hedefleniyor
Android için uygulama geliştirirken aşağıdakileri de yüklemeniz gerekir:
- Java JDK 7 (veya daha yeni)
- Android SDK 4.4.2 (veya sonraki sürümler)
- Android ADT Bundle ile birlikte gelen Android SDK'yı ve Android Geliştirici Araçları'nı yükleyin.
sdk/tools
vesdk/platform-tools
'yi PATH ortam değişkeninize ekleyin.- OS X: Android SDK'sı ile birlikte gelen Eclipse sürümünün JRE 6 sürümü gerekir. Eclipse.app'i açtığınızda JRE 6'yı yüklemeniz istenmezse Mac App Store'dan edinin.
- Linux: Android SDK için 32 bit destek kitaplıkları gerekir. Ubuntu'da bunları şuradan edinin:
apt-get install ia32-libs
.
- Apache Ant
apache-ant-x.x.x/bin
öğesini PATH ortam değişkeninize ekleyin.
iOS'i hedefleme
iOS geliştirmenin yalnızca OS X'te yapılabileceğini lütfen unutmayın. Ayrıca şunları da yüklemeniz gerekir:
- Xcode komut satırı araçlarını içeren Xcode 5 (veya sonraki sürümler)
- ios-deploy (iOS cihaza dağıtım yapılması gerekir)
npm install -g ios-deploy
- ios-sim (iOS Simülasyon Aracı'na dağıtmak için gereklidir)
npm install -g ios-sim
- İsteğe bağlı: iOS geliştiricisi olarak kaydol
- Bu, gerçek cihazlarda test etmek ve uygulama mağazasına göndermek için gereklidir.
- Yalnızca iPhone/iPad simülasyon araçlarını kullanmayı planlıyorsanız kaydı atlayabilirsiniz.
cca
komut satırı aracını yükleme
cca
'ı npm üzerinden yükleme:
npm install -g cca
Araç setini daha sonra yeni sürümlerle güncellemek için: npm update -g cca
.
Komut satırından şu komutu çalıştırarak her şeyin doğru şekilde yüklendiğini onaylayın:
cca checkenv
cca
sürüm numarasını ve Android veya iOS SDK'nızın yüklenmesi ile ilgili onay mesajını görürsünüz.
2. Adım: Bir proje oluşturun
YourApp
adlı bir dizinde varsayılan bir mobil Chrome uygulaması projesi oluşturmak için:
cca create YourApp
Daha önce bir Chrome uygulaması oluşturduysanız ve bu uygulamayı mobil bir platforma taşımak istiyorsanız --link-to
işaretçisini kullanarak uygulamaya symlink oluşturabilirsiniz:
cca create YourApp --link-to=path/to/manifest.json
Bunun yerine mevcut Chrome uygulaması dosyalarınızı kopyalamak istiyorsanız --copy-from
işaretini kullanabilirsiniz:
cca create YourApp --copy-from=path/to/manifest.json
Henüz kendi Chrome Uygulamanız yok mu? Mobil destekli birçok örnek Chrome uygulamasından birini deneyin.
3. Adım: Geliştirme
Uygulamanızı iki şekilde derleyip çalıştırabilirsiniz:
- A seçeneği: Komut satırından
cca
aracını kullanarak veya - B seçeneği: Eclipse veya Xcode gibi bir IDE kullanarak. Karma mobil uygulamanızı başlatmanıza, yapılandırmanıza ve hata ayıklamanıza yardımcı olmak için IDE kullanmak tamamen isteğe bağlıdır (ancak genellikle yararlıdır).
Seçenek A: Komut satırını kullanarak geliştirme ve oluşturma
cca
tarafından oluşturulan proje klasörünüzün kökünden:
Yapay Zeka
- Uygulamanızı Android Emulator'da çalıştırmak için:
cca emulate android
- Not: Bunun için bir emülatör ayarlamanız gerekir. Bunu ayarlamak için
android avd
komutunu çalıştırabilirsiniz.android
komutunu çalıştırarak ek emülatör resimleri indirin. Intel imajlarının daha hızlı çalışmasını sağlamak için Intel'in HAXM sürümünü yükleyin.
- Not: Bunun için bir emülatör ayarlamanız gerekir. Bunu ayarlamak için
- Uygulamanızı bağlı bir Android cihazda çalıştırmak için:
cca run android
iOS
- Uygulamanızı iOS simülasyon aracında çalıştırmak için:
cca emulate ios
- Uygulamanızı bağlı bir iOS cihazda çalıştırmak için:
cca run ios
- Not: Bunun için cihazınızda bir Temel Hazırlık Profili oluşturmuş olmanız gerekir.
B seçeneği: IDE kullanarak geliştirme ve derleme
Yapay Zeka
- Eclipse'te
File
->Import
'ü seçin. Android
>Existing Android Code Into Workspace
'i seçin.cca
ile yeni oluşturduğunuz yoldan içe aktarın.- Biri
*-CordovaLib
olmak üzere içe aktarılacak iki projeniz olması gerekir.
- Biri
- Uygulamanızı çalıştırmak için Oynat düğmesini tıklayın.
- Tüm Java uygulamalarında olduğu gibi bir Çalıştırma Yapılandırması oluşturmanız gerekir. Bu istem genellikle ilk defa otomatik olarak istenir.
- Cihazlarınızı/emülatörlerinizi ilk kez de yönetmeniz gerekir.
iOS
Terminal penceresine aşağıdakileri yazarak projeyi Xcode'da açın:
cd YourApp open platforms/ios/*.xcodeproj
Doğru hedefi oluşturduğunuzdan emin olun.
Sol üstte (Çalıştır ve Durdur düğmelerinin yanında), hedef projeyi ve cihazı seçebileceğiniz bir açılır menü bulunur.
CordovaLib
yerineYourApp
'ün seçili olduğundan emin olun.Oynat düğmesini tıklayın.
Uygulamanızın kaynak kodunda değişiklik yapma
HTML, CSS ve JavaScript dosyalarınız, cca proje klasörünüzün www
dizininde bulunur.
Önemli: www/
dosyasında değişiklik yaptıktan sonra uygulamanızı dağıtmadan önce cca prepare
dosyasını çalıştırmanız gerekir. cca build
, cca run
veya cca emulate
'yi komut satırından çalıştırıyorsanız hazırlama adımı otomatik olarak gerçekleştirilir. Eclipse/XCode kullanarak geliştirme yapıyorsanız cca prepare
dosyasını manuel olarak çalıştırmanız gerekir.
Hata ayıklama
Mobil cihazlarda Chrome uygulamanızda Cordova uygulamalarında hata ayıklama işlemini yaptığınız gibi hata ayıklama yapabilirsiniz.
4. adım: Sonraki adımlar
Çalışan bir mobil Chrome uygulamanız olduğuna göre mobil cihazlardaki deneyimi iyileştirmenin birçok yolu vardır.
Mobil Manifest
Yalnızca mobil platformlar için geçerli olan belirli Chrome uygulaması ayarları vardır. Bunları içerecek bir www/manifest.mobile.json
dosyası oluşturduk. Bu değerlere, eklenti dokümanlarında ve bu kılavuzda referans verilmektedir.
Buradaki değerleri buna göre ayarlamanız gerekir.
Simgeler
Mobil uygulamalar, masaüstü Chrome uygulamalarından birkaç tane daha fazla simge çözünürlüğüne ihtiyaç duyar.
Android için şu boyutlar gereklidir:
- 36 piksel, 48 piksel, 78 piksel, 96 piksel
iOS uygulamaları için gereken boyutlar, iOS 6'yı mı yoksa iOS 7'yi mi desteklediğinize bağlı olarak değişir. Gereken minimum simge sayısı:
- iOS 6: 57 piksel, 72 piksel, 114 piksel, 144 piksel
- iOS 7: 72 piksel, 120 piksel, 152 piksel
manifest.json
dosyanızdaki tam simge listesi şöyle görünür:
"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"
}
cca prepare
uygulamasını her çalıştırdığınızda simgeler her bir platform için uygun yerlere kopyalanır.
Başlangıç Ekranları
iOS'teki uygulamalar yüklenirken kısa bir açılış ekranı gösterir. platforms/ios/[AppName]/Resources/splash
, varsayılan Cordova açılış ekranları içerir.
Gerekli boyutlar:
- 320 piksel x 480 piksel + 2x
- 768 piksel x 1024 piksel + 2x (Dikey iPad)
- 1024 piksel x 768 piksel + 2x (iPad yatay)
- 640 piksel x 1.146 piksel
Açılış ekranı resimleri şu anda cca
tarafından değiştirilmiyor.
5. Adım: Yayınlayın
Projenizin platforms
dizininde, biri Android ve diğeri iOS için olmak üzere eksiksiz iki yerel projeniz var. Bu projelerin yayın sürümlerini derleyip Google Play'de veya iOS App Store'da yayınlayabilirsiniz.
Play Store'da yayınlama
Android uygulamanızı Play Store'da yayınlamak için:
İki Android sürüm kimliğini güncelleyin ve ardından
cca prepare
'ü çalıştırın:android:versionName
,www/manifest.json
içindeversion
anahtarı kullanılarak ayarlanır (bu, masaüstü paket uygulamanızın sürümünü de belirler).android:versionCode
,www/manifest.mobile.js
içindekiversionCode
anahtarı kullanılarak ayarlandı.
platforms/android/ant.properties
öğesini düzenleyin (veya oluşturun) vekey.store
vekey.alias
özelliklerini ayarlayın (Android geliştirici dokümanlarında açıklandığı şekilde).Projenizi oluşturun:
./platforms/android/cordova/build --release
platforms/android/ant-build/
içinde bulunan imzalı .apk dosyanızı bulun.İmzaladığınız uygulamayı Google Play Developer Console'a yükleyin.
iOS App Store'da yayınlama
www/manifest.mobile.js
'daCFBundleVersion
anahtarını ayarlayarak uygulama sürümünü güncelleyin ve ardındancca prepare
'yi çalıştırın.platforms/ios
dizininizde bulunan Xcode proje dosyasını açın:açık platformlar/ios/*.xcodeproj
Apple'ın Uygulama Dağıtım Kılavuzu'nu uygulayın.
Dikkat edilmesi gereken özel noktalar
Chrome uygulamalarında yeniyseniz en büyük sorun, bazı web özelliklerinin devre dışı bırakılmasıdır. Ancak bunların birçoğu şu anda Cordova'da çalışmaktadır.
Chrome uygulamaları mobil cihazlarda kutudan çıkar çıkmaz çalışmayabilir. Mobil cihaza taşımayla ilgili yaygın sorunlardan bazıları:
- Özellikle dikey yöndeyken küçük ekranlarda düzen sorunları.
- Önerilen çözüm: İçeriğinizi küçük ekranlar için optimize etmek üzere CSS medya sorgularını kullanın.
- chrome.app.window aracılığıyla ayarlanan Chrome Uygulaması pencere boyutları yok sayılır. Bunun yerine, cihazın yerel boyutları kullanılır.
- Önerilen düzeltme: Sabit kodlanmış pencere boyutlarını kaldırın ve uygulamanızı farklı boyutları göz önünde bulundurarak tasarlayın.
- Küçük düğmelere ve bağlantılara parmağınızla dokunmak zordur.
- Önerilen düzeltme: Dokunma hedeflerinizi en az 44 x 44 punto olacak şekilde ayarlayın.
- Dokunmatik ekranlarda bulunmayan fareyle üzerine gelme özelliğine güvenildiğinde beklenmeyen davranış.
- Önerilen düzeltme: Fareyle üzerine gelmenin yanı sıra, dokunma ile açılır listeler ve ipuçları gibi kullanıcı arayüzü öğelerini etkinleştirin.
- 300 ms'lik bir dokunma gecikmesi.
- Önerilen çözüm: FT Labs tarafından geliştirilen FastClick JavaScript polyfill'ini kullanın.
- Arka plan bilgileri için bu HTML5Rocks makalesini okuyun.
Desteklenen Chrome API'leri
Temel Chrome API'lerinin çoğunu Mobil Cihazlar İçin Chrome Uygulamaları'nda kullanıma sunduk. Örneğin:
- identity: OAuth2'yi kullanarak oturum açan kullanıcılar
- ödemeler: Mobil uygulamanızın içinde sanal ürünler satma
- pushMessaging: Sunucunuzdan uygulamanıza push mesajları gönderme
- soket: TCP ve UDP kullanarak ağ üzerinden veri gönderip alma
- notifications (yalnızca Android): Mobil uygulamanızdan zengin bildirimler gönderin
- storage: Anahtar/değer çifti verilerini yerel olarak depolama ve alma
- syncFileSystem: Google Drive tarafından desteklenen dosyaları depolama ve alma
- Alarmlar: Görevleri düzenli olarak çalıştırın.
- idle: Makinenin boşta kalma durumunun değiştiğini algılama
- güç: Sistemin güç yönetimi özelliklerini geçersiz kılar.
Ancak tüm Chrome JavaScript API'leri uygulanmaz. Chrome masaüstündeki tüm özellikler mobil cihazlarda kullanılamaz:
<webview>
etiketi yok- IndexedDB yok
- getUserMedia() yok
- NaCl yok
İlerleme durumunu API Durumu sayfamızdan takip edebilirsiniz.
Chrome Uygulamaları Geliştirici Aracı
Android için Chrome Uygulama Geliştirici Aracı (ADT), yukarıda açıklandığı gibi geliştirme araç zincirini ayarlamadan Chrome Uygulaması indirip çalıştırmanıza olanak tanıyan bağımsız bir Android uygulamasıdır. Android cihazınızda mevcut bir Chrome uygulamasını (.crx olarak paketlenmiş) hızlıca önizlemek istediğinizde Chrome ADT'yi kullanın.
Android için Chrome ADT şu anda alfa öncesi sürümündedir. Denemek için yükleme ve kullanım talimatları için ChromeADT.apk sürüm notlarını inceleyin.