Tek Kütüphane, Çifte Güç: Huawei ve Google Servislerini CMS ile Entegre Edin

Feyza Ürkut
Huawei Developers - Türkiye
4 min readAug 6, 2024
Photo by Sylvia Yang on Unsplash

Giriş

Herkese merhaba!😊 Huawei geliştiricileri olarak yazdığımız açık kaynaklı projemizde, mobil uygulama geliştiricilerinin hem Huawei Mobile Services (HMS) hem de Google Mobile Services (GMS) servislerini tek bir kütüphane ile entegre edebilmelerini sağlamayı amaçladık.

❤️ Gelin birlikte bu kütüphaneyi ve diğer çalışmalarımızı inceleyelim!

Komşum Totoro

Common Mobile Services (CMS)

Bu kütüphane, Android geliştiricileri için mobil hizmetler konusunda ortak bir arayüz sunar. Amacı, uygulama kodunuzdaki özel mobil hizmet bağımlılıklarını ortadan kaldırmaktır. Bu sayede aşağıdaki faydaları sağlar:

💫 Sorumlulukların Ayrılması (Separation of Concerns)

  • Oluşturma ve yaşam döngüsü kontrol kodunu uygulama kodunuzdan kaldırarak, sınıflarınızın gereksiz sorumluluklardan arınmasını sağlar. Bu, kodun daha temiz, bakımı kolay ve sürdürülebilir olmasını temin eder.

💫 Esneklik ve Uyumluluk

  • Farklı mobil hizmetlerin kullanılmasına olanak tanır. Örneğin, tüm Android cihazlar Google Mobil Hizmetlerine (GMS) sahip değildir. Bu kütüphane, cihazın hangi mobil hizmeti desteklediğine bakılmaksızın uyumluluk sağlar ve bu sayede uygulama kodunuzu değiştirmeye gerek kalmadan farklı hizmetleri kullanabilirsiniz.

💫 Kolay Entegrasyon

  • Tek bir kütüphane ile aynı anda hem HMS hem de GMS hizmetlerini kolayca entegre edip mobil uygulama geliştirmeyi basitleştirebilirsiniz.

💫 Geniş Cihaz Desteği

  • Uygulamalarınızın daha geniş bir cihaz yelpazesiyle uyumlu olmasını sağlar, bu da kullanıcı kitlenizi artırır.

💫 Geliştirme Süresini Kısaltma

  • Daha modüler ve esnek bir kod tabanı sayesinde geliştirme sürecini hızlandırır.

💫 Kullanıcı Deneyimini İyileştirme

  • Farklı hizmetler arasında sorunsuz geçiş sağlayarak kullanıcı deneyimini iyileştirir.

💫 Bakım Kolaylığı

  • Modüler yapısı sayesinde kod bakımını ve güncellemelerini daha kolay hale getirir.

Bu kütüphane, geliştiricilere daha esnek ve sürdürülebilir bir çözüm sunar, böylece uygulamalarının hem uyumluluğunu artırır hem de kullanıcı deneyimini iyileştirir.

Photo by Marvin Meyer on Unsplash

Şu Anda Projede Neler Yapıyoruz?

💥Yeni Kit Entegrasyonları

  • Projede, çeşitli yeni kit entegrasyonları üzerinde çalışıyoruz.
  • Her kitin API’lerini ve özelliklerini kullanarak projeyi daha işlevsel hale getiriyoruz.
  • Entegrasyon sonrası testler yaparak kitlerin düzgün çalıştığını doğruluyoruz.

💥Sürüm Güncellemeleri

  • Mevcut kitlerin sürümlerini en güncel versiyonlarla güncelliyoruz.
  • Yeni sürümlerin getirdiği değişiklikleri ve yenilikleri projeye entegre ediyoruz.
  • Sürüm güncellemeleri ile gelen güvenlik yamalarını ve performans iyileştirmelerini projeye dahil ediyoruz.

💥README Dosyasının Güncellenmesi

  • Projede yapılan tüm değişiklikleri ve yenilikleri README dosyasına ekliyoruz.
  • Yeni eklenen kitler, yapılan sürüm güncellemeleri ve entegrasyon süreçleri hakkında bilgi sağlıyoruz.
  • Kullanıcıların projeye dair en güncel bilgilere kolayca ulaşabilmesi için README dosyasını dikkatlice düzenliyoruz.

💥Dokümantasyon

  • Kdoc belgeleri ile her bir metodun, sınıfın ve paketin işlevselliğini açıklayan açıklamalar yazıyoruz.
  • Bu belgeler, geliştiricilerin kodu daha iyi anlamalarına ve projeyi daha kolay bir şekilde sürdürebilmelerine yardımcı oluyor.
  • Projede yapılan uygulamalar, değişiklikler ve yenilikler üzerine bu makale gibi materyaller oluşturuyoruz.
  • Kullanıcıların ve geliştiricilerin yeni özellikler ve kitlerden haberdar olabilmeleri için bu hazırlığın faydalı olacağını umuyoruz.

Tüm bu çalışmalarla, projeyi daha kapsamlı ve kullanıcı dostu hale getirmeyi amaçlıyoruz.

Ruhların Kaçışı

CMS DEMO: CMS Kütüphanesi ile Kitlerin Kullanımı

CMS DEMO projesi ile bu kütüphanenin kullanımını daha anlaşılır ve erişilebilir hale getirmeyi amaçlıyoruz.

Bu proje kapsamında, kitlerin en yaygın ve temel özelliklerini kullanarak pratik örnekler sunuyoruz. Örneğin, Ads Kit ile basit reklam entegrasyonları yapıyoruz. Map Kit ile harita görüntüleme ve Location Kit ile konum verilerini kullanarak yer tespiti ve yönlendirme işlemlerini gerçekleştiriyoruz. Bu sayede, geliştiricilerin kitlerin temel işlevlerini nasıl kullanabileceklerini öğrenmelerini sağlıyoruz.

Amacımız, CMS kütüphanesini entegre etmek isteyen kişilere kolaylık sağlamak ve projelerinde kullanabilecekleri hazır çözümler sunmaktır. CMS DEMO ile geliştiriciler, kitlerin potansiyelini keşfederken, kendi projelerine değer katacak özellikleri hızlı ve etkin bir şekilde uygulayabileceklerdir.

🎯 Projelerimizin GitHub repolarına referanslar kısmından ulaşabilirsiniz.

Demo Projenin Bize Sağladığı Faydalar

💙 Gerçek Dünya Testi: CMS kütüphanesini gerçek dünya senaryolarında test etme imkanı sağlar ve fonksiyonelliğini doğrular.

💙 İyileştirme ve Refaktörleme: Demo proje sayesinde CMS kütüphanesindeki eksiklikleri ve iyileştirme alanlarını tespit eder, gerekli düzenlemeleri yaparız.

💙 Hata Tespiti ve Çözümü: Proje sırasında ortaya çıkan hataları hızlıca tespit edip çözebiliriz.

💙 Dokümantasyon Geliştirme: Kullanıcıların karşılaşabileceği sorunları önceden görüp, daha kapsamlı ve açıklayıcı bir dokümantasyon oluşturabiliriz.

💙 Yeni Özelliklerin Testi: Yeni eklenen özelliklerin entegrasyonunu ve etkisini test ederek, stabiliteyi artırabiliriz.

💙 Proje Uyumunu Sağlama: Farklı cihaz ve hizmetlerle uyumluluğunu kontrol ederek, CMS kütüphanesinin geniş bir yelpazede sorunsuz çalışmasını temin edebiliriz.

Rüzgâr Yükseliyor

Sonuç

CMS kütüphanesi, geliştiricilere farklı hizmetleri tek bir kütüphane ile kullanma imkanı sunarak geliştirme sürecini kolaylaştırmaktadır. Açık kaynaklı olan bu kütüphane, mobil uygulamalarda çeşitlilik ve esneklik sağlamayı amaçlamaktadır.

CMS DEMO, geliştiricilerin CMS kütüphanesini kolayca kullanmalarını ve projelerine entegre etmelerini sağlar. Umarız bu makale, projelerinizi daha kullanıcı dostu ve kapsamlı hale getirmenize yardımcı olur 😊

Referanslar

--

--