Chrome Uygulamalarını mobil cihazlarda çalıştırma araç zinciri, ilk geliştirici önizlemesindedir. GitHub sorun izleyiciyi, Chrome Uygulamaları geliştirici forumumuzu, Stack Overflow'u veya G+ Geliştiricileri sayfamızı kullanarak bize geri bildirimlerinizi iletebilirsiniz.
Genel bakış
Android ve iOS'te Chrome Uygulamalarınızı; HTML, CSS ve JavaScript kullanarak yerel özelliklere sahip mobil uygulamalar oluşturmak için tasarlanan açık kaynaklı bir mobil geliştirme çerçevesi olan Apache Cordova'ya dayalı bir araç zinciri aracılığıyla çalıştırabilirsiniz.
Apache Cordova, uygulamanızın web kodunu yerel bir uygulama kabuğuyla sarmalar 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ştirme yaparken aklınızda bulundurmanız gereken birkaç özel nokta vardır. Bunları dikkat edilmesi gereken noktalar bölümünde listeledik.
- Mobil cihazlarda desteklenen Chrome API'lerini görmek için API Durumu sayfasını ziyaret edin.
- Chrome Uygulamanızı araç zinciri olmadan bir Android cihazda önizlemek için Chrome Uygulama 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 Android 4.x+ sürümlerini hedefleyebilir.
Tüm platformlar için geliştirme bağımlılıkları
npm
ile Node.js sürüm 0.10.0 (veya üzeri) gereklidir:- Windows: nodejs.org adresinden indirilebilen yürütülebilir yükleme dosyalarını kullanarak Node.js'yi yükleyin.
- OS X veya Linux: Yükleme yürütülebilir dosyalarına nodejs.org adresinden de erişilebilir. Kök erişimi ihtiyacından kaçınmak isterseniz nvm aracılığıyla yükleme yapmanız daha uygun olabilir. Ö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'i hedefleme
Android için bir uygulama geliştirirken şunları da yüklemeniz gerekir:
- Java JDK 7 (veya üstü)
- Android SDK 4.4.2 (veya üzeri) sürümü
- Android ADT Bundle ile birlikte verilen Android SDK'sını ve Android Geliştirici Araçları'nı yükleyin.
- PATH ortam değişkeninize
sdk/tools
vesdk/platform-tools
ekleyin. - OS X: Android SDK ile gelen Eclipse sürümü JRE 6 gerektirir. Eclipse.app'i açmak JRE 6'yı yüklemenizi istemiyorsa uygulamayı Mac App Store'dan edinin.
- Linux: Android SDK için 32 bit destek kitaplıkları gerekir. Ubuntu'da bu kaynakları şu adresten edinebilirsiniz:
apt-get install ia32-libs
.
- Apache Karınca
- PATH ortam değişkeninize
apache-ant-x.x.x/bin
ekleyin.
- PATH ortam değişkeninize
iOS hedefleniyor
iOS geliştirmenin yalnızca OS X'te yapılabileceğini lütfen unutmayın. Ayrıca, şunları yüklemeniz gerekir:
- Xcode komut satırı araçlarını içeren Xcode 5 (veya üstü)
- ios-deploy (iOS cihaza dağıtım gerekir)
npm install -g ios-deploy
- ios-sim (iOS Simülatör'e dağıtım gerekir)
npm install -g ios-sim
- İsteğe bağlı: iOS geliştiricisi olarak kaydolma
- Bu, gerçek cihazlarda test yapmak ve uygulama mağazasına göndermek için gereklidir.
- Yalnızca iPhone/iPad simülatörlerini kullanmayı planlıyorsanız kayıt adımını atlayabilirsiniz.
cca
komut satırı aracını yükleyin
npm üzerinden cca
uygulamasını yükle:
npm install -g cca
Araç zincirini 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 bir şekilde yüklendiğini onaylayın:
cca checkenv
cca
sürümünün çıkışını ve Android veya iOS SDK yüklemenizin onayını görürsünüz.
2. Adım: Bir proje oluşturun
YourApp
çalıştırması adlı bir dizinde varsayılan bir mobil Chrome uygulaması projesi oluşturmak için:
cca create YourApp
Zaten bir Chrome Uygulaması oluşturduysanız ve bunu bir mobil platforma taşımak istiyorsanız --link-to
işaretini kullanarak bu uygulamayla bir sembolik bağlantı oluşturabilirsiniz:
cca create YourApp --link-to=path/to/manifest.json
Bunun yerine mevcut Chrome uygulama dosyalarınızı kopyalamak isterseniz --copy-from
işaretini kullanabilirsiniz:
cca create YourApp --copy-from=path/to/manifest.json
Henüz kendi Chrome Uygulamanız yok mu? Mobil destekli örnek Chrome Uygulamalarından birini deneyin.
3. Adım: Geliştirme
Uygulamanızı iki şekilde derleyip çalıştırabilirsiniz:
- Seçenek A: Komut satırından
cca
aracını kullanarak veya - Seçenek B: Eclipse veya Xcode gibi bir IDE kullanarak. IDE kullanımı, karma mobil uygulamanızı başlatmak, yapılandırmak ve hata ayıklamak için tamamen isteğe bağlı olsa da genellikle kullanışlı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 dizininden:
Android
- Uygulamanızı Android Emülatör'de çalıştırmak için:
cca emulate android
- Not: Bunun için bir emülatör ayarlamış olmanız gerekir. Bunun kurulumunu yapmak için
android avd
komutunu çalıştırabilirsiniz.android
çalıştırarak ek emülatör resimleri indirebilirsiniz. Intel görüntülerin daha hızlı çalışmasını sağlamak için Intel'in HAXM'sini yükleyin.
- Not: Bunun için bir emülatör ayarlamış olmanız gerekir. Bunun kurulumunu yapmak için
- Uygulamanızı bağlı bir Android cihazda çalıştırmak için:
cca run android
iOS
- Uygulamanızı iOS Simülatör'de çalıştırmak için:
cca emulate ios
- Bağlı bir iOS cihazında uygulamanızı çalıştırmak için:
cca run ios
- Not: Bunun için cihazınız için bir Temel Hazırlık Profili ayarlamış olmanız gerekir.
Seçenek B: IDE kullanarak geliştirme ve derleme
Android
- Eclipse'te
File
->Import
seçeneğini belirleyin. Android
>Existing Android Code Into Workspace
seçeneklerini belirleyin.cca
ile oluşturduğunuz yoldan içe aktarın.- İçe aktarılacak iki proje olacaktır. Bunlardan biri
*-CordovaLib
.
- İçe aktarılacak iki proje olacaktır. Bunlardan 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. Genellikle bu işlem ilk kez otomatik olarak istenir.
- Ayrıca, cihazlarınızı/emülatörlerinizi ilk kez yönetmeniz gerekir.
iOS
Bir terminal penceresine şunu 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 proje ve cihazı seçmeniz için bir açılır liste bulunur.
CordovaLib
yerineYourApp
öğesinin seçildiğinden emin olun.Oynat düğmesini tıklayın.
Uygulama kaynak kodunuzda değişiklik yapma
HTML, CSS ve JavaScript dosyalarınız cca proje klasörünüzün www
dizininde bulunur.
Önemli: www/
üzerinde değişiklikler yaptıktan sonra, uygulamanızı dağıtmadan önce cca prepare
öğesini çalıştırmanız gerekir. Komut satırından cca build
, cca run
veya cca emulate
çalıştırıyorsanız hazırlık adımı otomatik olarak tamamlanır. Eclipse/XCode kullanarak geliştirme yapıyorsanız cca prepare
dosyasını manuel olarak çalıştırmanız gerekir.
Hata ayıklama
Mobil cihazlardaki Chrome Uygulamanızın hatalarını ayıklama işlemini, Cordova uygulamalarında hata ayıkladığınız şekilde yapabilirsiniz.
4. Adım: Sonraki Adımlar
Artık çalışan bir mobil Chrome Uygulamanız olduğuna göre, mobil cihazlardaki deneyimi iyileştirmenin birçok yolu var.
Mobil Manifest
Yalnızca mobil platformlar için geçerli olan belirli Chrome uygulaması ayarları vardır. Bunları içeren bir www/manifest.mobile.json
dosyası oluşturduk. Eklenti belgelerinde ve bu kılavuzda belirli değerlere referans verilmiştir.
Buradaki değerleri buna göre ayarlamanız gerekir.
Simgeler
Mobil uygulamaların, masaüstü Chrome Uygulamalarından birkaç tane daha fazla simge çözünürlüğüne ihtiyacı vardır.
Android için şu boyutlar gereklidir:
- 36 piksel, 48 piksel, 78 piksel, 96 piksel
iOS uygulamalarında, gerekli boyutlar, iOS 6 ve iOS 7'yi destekleme durumunuza bağlı olarak farklılık gösterir. Gerekli minimum simge sayısı:
- iOS 6: 57 piksel, 72 piksel, 114 piksel, 144 piksel
- iOS 7: 72 piksel, 120 piksel, 152 piksel
Tam simge listesi manifest.json
dosyanızda şöyle görünecektir:
"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 platform için uygun yerlere kopyalanır.
Başlangıç Ekranları
iOS'teki uygulamalar yüklenirken kısa bir başlangıç ekranı gösterilir. Bir dizi varsayılan Cordova başlangıç ekranı platforms/ios/[AppName]/Resources/splash
dahilindedir.
Gerekli boyutlar:
- 320 piksel x 480 piksel + 2x
- 768 piksel x 1024 piksel + 2x (iPad dikey)
- 1024 piksel x 768 piksel + 2x (iPad yatay)
- 640 piksel x 1146 piksel
Başlangıç ekranı resimleri şu anda cca
tarafından değiştirilmemektedir.
5. Adım: Yayınlama
Projenizin platforms
dizininde biri Android, diğeri iOS için olmak üzere iki eksiksiz yerel projeniz vardır. Bu projelerin sürüm sürümlerini oluşturup Google Play veya iOS App Store'da yayınlayabilirsiniz.
Play Store'da yayınla
Android uygulamanızı Play Store'da yayınlamak için:
İki Android sürümü kimliğini güncelleyip
cca prepare
komutunu çalıştırın:android:versionName
,www/manifest.json
içindeversion
anahtarı kullanılarak ayarlanır (bu işlem, masaüstü paket uygulamanızın sürümünü de ayarlar).android:versionCode
,www/manifest.mobile.js
içindeversionCode
anahtarı kullanılarak ayarlandı.
platforms/android/ant.properties
öğesini düzenleyin (veya oluşturun) vekey.store
ilekey.alias
özelliklerini ayarlayın (Android geliştirici belgelerinde açıklandığı gibi).Projenizi oluşturun:
./platforms/android/cordova/build --release
İmzalı .apk'nizi
platforms/android/ant-build/
klasöründe bulabilirsiniz.İmzalanmış uygulamanızı Google Play Geliştirici Konsolu'na yükleyin.
iOS App Store'da yayınla
www/manifest.mobile.js
uygulamasındaCFBundleVersion
anahtarını ayarlayarak uygulama sürümünü güncelleyin, ardındancca prepare
komutunu çalıştırın.platforms/ios
dizininizin altında bulunan Xcode proje dosyasını açın:açık platformlar/ios/*.xcodeproj
Apple'ın App Distribution Guide'daki talimatları uygulayın.
Dikkat edilmesi gereken noktalar
Chrome Uygulamalarını kullanmaya yeni başladıysanız en büyük avantajı bazı web özelliklerinin devre dışı bırakılmasıdır. Ancak, bunlardan bazıları şu anda Cordova'da çalışmaktadır.
Chrome Uygulaması mobil cihazlarda hemen çalışmayabilir. Mobil cihaza taşıma işlemiyle ilgili bazı yaygın sorunlar:
- Özellikle dikey yöndeyken küçük ekranlarda düzen sorunları var.
- Önerilen düzeltme: İçeriğinizi daha küçük ekranlar için optimize etmek üzere CSS medya sorgularını kullanın.
- chrome.app.window üzerinden ayarlanan Chrome Uygulaması pencere boyutları, cihazın yerel boyutları yerine
yoksayılır.
- Önerilen düzeltme: Sabit kodlu pencere boyutlarını kaldırın; uygulamanızı farklı boyutları göz önünde bulundurarak tasarlayın.
- Küçük düğmelere ve bağlantılara parmağınızla dokunmak zor olur.
- Önerilen düzeltme: Dokunma hedeflerinizi en az 44 x 44 punto olacak şekilde ayarlayın.
- Dokunmatik ekranlarda olmayan fareyle üzerine gelme kullanılırken beklenmeyen davranış.
- Önerilen düzeltme: Fareyle üzerine gelmeye ek olarak, dokunarak açılır listeler ve ipuçları gibi kullanıcı arayüzü öğelerini etkinleştirin.
- 300 ms. dokunma gecikmesi.
- Önerilen düzeltme: FastClick by FT Labs JavaScript çoklu dolgusunu kullanın.
- Bazı arka plan bilgileri için bu HTML5Rocks makalesini okuyun.
Desteklenen Chrome API'leri
Aşağıdakiler de dahil olmak üzere temel Chrome API'larının birçoğunu Mobil Cihazlar için Chrome Uygulamaları'nda kullanıma sunduk:
- kimlik: OAuth2 kullanarak oturum açan kullanıcılar
- ödemeler: mobil uygulamanızda sanal ürünler satma
- pushMessaging - Sunucunuzdan uygulamanıza mesaj aktarın
- sockets - TCP ve UDP kullanarak ağ üzerinden veri gönderin ve alın
- bildirimler (yalnızca Android) - Mobil uygulamanızdan zengin bildirimler gönderin
- storage - Anahtar/değer verilerini yerel olarak depolayın ve alın
- syncFileSystem - Google Drive tarafından yedeklenen dosyaları depolayın ve alın
- alarms: Görevleri düzenli aralıklarla çalıştırma
- idle (boşta) - Makinenin boşta kalma durumunun ne zaman değiştiğini algıla
- güç - Sistemin güç yönetimi özelliklerini geçersiz kıl
Ancak tüm Chrome JavaScript API'leri uygulanmamıştır. Ayrıca, Chrome Masaüstü özelliklerinin tümü mobil cihazlarda kullanılamaz:
<webview>
etiketi yok- IndexedDB yok
- getUserMedia() yok
- NaCl içermez
İlerleme durumunu API Durumu sayfamızdan takip edebilirsiniz.
Chrome Uygulama Geliştirici Aracı
Android için Chrome Uygulama Geliştirici Aracı (ADT), yukarıda açıklandığı gibi geliştirme araç zincirini ayarlamadan bir Chrome Uygulaması indirip çalıştırmanıza olanak tanıyan bağımsız bir Android uygulamasıdır. Mevcut bir Chrome uygulamasını (zaten .crx olarak paketlenmiş olarak) Android cihazınızda hızlı bir şekilde önizlemek istediğinizde Chrome ADT'yi kullanın.
Android için Chrome ADT şu anda alfa öncesi sürümde sunulmaktadır. Denemek için yükleme ve kullanım talimatlarının yer aldığı ChromeADT.apk sürüm notlarını görüntüleyin.