Swift - Kotlin Android Dönüşümü Eğitimi

  • Eğitim Tipi: Classroom / Virtual Classroom / Online
  • Süre: 4 Gün
Bu eğitimi kendi kurumunuzda planlayabilirsiniz. Bize Ulaşın!

Bu eğitim, Swift kullanarak iOS mobil uygulamaları oluşturma konusunda deneyimli olan ve Kotlin ile Android geliştirmeye geçmek isteyen yazılımcılar için oluşturulmuş bir dönüşüm programıdır. Eğitim, katılımcıların mevcut deneyimlerini temel almakta ve gereksiz olan tüm materyalleri atlamaktadır. Bunun yerine eğitim, dil ve platformda yeni ve/veya kafa karıştırıcı olabilecek alanlara odaklanmaktadır.

Eğitimin sonunda katılımcılar, en iyi modern uygulamalara uyan ve Dagger ve RxJava gibi popüler çerçevelerden yararlanan eksiksiz Android uygulamaları oluşturabileceklerdir. Eğitim workshop ve lab temelli olup katılımcılar zamanlarının çoğunu örnek uygulamaları genişleterek geçireceklerdir.

Katılımcıların Swift / iOS konusunda birkaç yıllık deneyime sahip olmaları ve nesne yönelimli ve işlevsel programlamanın temel kavramlarına aşina olmaları gerekmektedir. 

Java Platformunun Temel Kavramları

  • Kotlin, Java ve Scala'dan nasıl ortaya çıktı?
  • Mevcut JSE platformu ve araç seti
  • Google Android'i Oracle'dan neden kopardı?
  • Java 8+ özellikleri Android'de mevcut değil
  • Kotlin Android'de kodlamayı nasıl modernleştiriyor?
  • IntelliJ Community'de Kotlin projeleri oluşturma
  • Android Studio'da mobil uygulamalar oluşturma

JSE ve Android'de Temel Araçlar

  • XCode ile Android Studio'yu Karşılaştırma
  • Gradle kullanarak bağımlılıkları yönetme
  • Android emülatörlerinin artıları ve eksileri
  • Intel HAXM emülasyon hızlarını nasıl artırır?
  • Test için örnek cihazları yapılandırma
  • Cihazlarda bulunan geliştirici özellikleri
  • ADB kullanarak komut satırı etkileşimi

Android Studio'dan En İyi Şekilde Yararlanma

  • Android Studio'nun temel işlevleri
  • Kotlin kod tabanlarını düzenlemek için en iyi uygulamalar
  • Düzen Denetçisi ve Düzenleyici ile Çalışma
  • SDK ve AVD Yöneticisinin Yapılandırılması
  • Profiler aracılığıyla kaynak kullanımını izleme
  • LogCat aracılığıyla günlükleri görüntüleme ve filtreleme

Swift'ten Kotlin'e Dönüştürme

  • Temel sözdiziminde küçük değişiklikler
  • Kotlin ve Swift'te Değişkenlik
  • OO ve FP desteğindeki benzerlikler
  • Kotlin'de sınıf uzantılarının sınırlamaları
  • Koleksiyonlarla çalışma farklılıkları
  • Swift ve Kotlin'de aralıkları temsil etme
  • Swift'teki opsiyonellere karşı Kotlin'de null güvenliği
  • Swift'te tuples, Kotlin'de Pair ve Triple vardır
  • Kotlin'de veri sınıflarını ve listeleri yeniden yapılandırma
  • Kapanışlardaki parametreler için steno gösterim
  • Swift'teki protokolleri Kotlin arayüzleriyle karşılaştırma
  • Yansıma ve delegelerden yararlanma

Android Uygulamalarının Temelleri

  • Android'in Storyboard eşdeğeri yoktur
  • Manifesto Dosyasını Anlama ve Düzenleme
  • Android Aktiviteleri ve Fragmanlarına Giriş
  • Faaliyetler ve Parçalar Arasında Gezinme
  • Bir cihaz bir Faaliyetin yaşam döngüsünü nasıl yönetir?
  • MVVM kalıbı etrafında bir uygulama tasarlama
  • Verileri modele itmek için veritabanı bağlamayı kullanma

Temel Kullanıcı Arayüzleri Oluşturma

  • Görünüm hiyerarşisini XML olarak belirtme
  • Kodda hiyerarşi belirtmekten kaçınmak için nedenler
  • IDE'deki 'sürükle ve bırak' yaklaşımının sınırları
  • Standart Android widget'larını kullanma ve birleştirme
  • Destek kütüphaneleri ve Android'in eski sürümlerini hedefleme
  • Metinsel girdiyi kabul ederken özel dikkat
  • Düzen oluşturarak ve iç içe yerleştirerek widget'ları konumlandırma
  • Görünümlere olay işleyicileri eklemek için farklı seçenekler
  • Görünümleri veri kaynaklarına bağlamak için bağlama bağdaştırıcılarını kullanma
  • Stilleri ve temaları kullanarak widget'ları özelleştirme
  • Mevcut widget'ları genişleterek yeni widget'lar oluşturma

Kullanıcı Arayüzünün Geliştirilmesi

  • Bir Faaliyetin yaşam döngüsünü anlama
  • Geri aramalar ve paketler aracılığıyla değiştirilebilir durum nasıl korunur?
  • Niyetler aracılığıyla bir faaliyeti diğerinden başlatma
  • Filtreleme ve alıcılar kullanarak amaçları işleme
  • Çeşitli konumlarda dosya oluşturma ve kullanma
  • Kotlin Coroutines'in AsyncTask'a Göre Avantajları
  • JetBrains Kotlin Android Uzantılarını Kullanma
  • Google Android Kotlin Uzantılarını Kullanma

Bağımlılık Enjeksiyonu

  • DI için Dagger çerçevesini kullanma
  • Derleme Zamanı Enjeksiyonunu Anlama
  • Bağımlılıkları @Inject aracılığıyla yapılandırma
  • Fabrika yöntemleri için @Provides kullanma
  • Faaliyetlere enjekte ederken dikkat edilmesi gerekenler

Android'de Reaktif Kodlama

  • Rx ve RxJava çerçevesinin gözden geçirilmesi
  • Sözdizimsel şeker için RxKotlin kullanma
  • Rx ve Kotlin Coroutines'i Birleştirme

RESTful Hizmetlerine Erişim

  • Retrofit kütüphanesi ile tanışın
  • Ek açıklamalar aracılığıyla hizmet istemcileri oluşturma
  • Retrofit'te reaktif akışlar için destek
  • JSON ve XML'e ve XML'den Marshalling
  • Nesne serileştirmeyi özelleştirme

Android'de Kalıcılık

  • Android cihazlarda desteklenen veritabanları
  • Room kullanarak SQLite'ta veri kalıcı hale getirme
  • Varlık Türlerini belirtmek için ek açıklamaları kullanma
  • Veri Erişim Nesnelerini belirtmek için ek açıklamaları kullanma
  • Veritabanlarını şema sürümleri arasında taşıma
  • Test için veritabanlarını değiştirme

Android'de Güvenlik

  • Android Keystore aracılığıyla anahtar çiftlerini yönetme
  • Güvenlik modeli ve mevcut izinler
  • Kullanıcıdan izinleri almasını isteme
  • Dağıtım için uygulamaları imzalama

Arka Plan İşlemleri

  • Android hizmetleri ve yaşam döngüleri
  • İşleri planlamak için İş Yöneticisini kullanma

Android Uygulamalarını Test Etme

  • JUnit, Mockito ve Hamcrest ile TDD
  • Espresso ile Kullanıcı Arayüzü testi
  • CI/CD'de test çalıştırmak için en iyi uygulamalar
  • RESTful hizmetleri taklit etme seçenekleri

Uygulamaları Dağıtma ve İzleme

  • Beta sürümleri dağıtmak için platformlar
  • Kazaların kaydedilmesi ve raporlanması için seçenekler
  • Tüm sistemi izlemeye yönelik teknikler


Eğitimlerle ilgili bilgi almak ve diğer tüm sorularınız için bize ulaşın!

Yakın tarihte açılacak eğitimler

Sınıf eğitimlerimizi İstanbul, Ankara ve Londra ofislerimizde düzenlemekteyiz. Kurumunuza özel eğitimleri ise, dilediğiniz tarih ve lokasyonda organize edebiliriz.

Classroom / Virtual Classroom
08 Mayıs 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
22 Mayıs 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
13 Haziran 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
19 Haziran 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
18 Haziran 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
24 Ağustos 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
22 Ağustos 2024
İstanbul, Ankara, Londra
4 Gün
Classroom / Virtual Classroom
10 Eylül 2024
İstanbul, Ankara, Londra
4 Gün
Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.