19 puan yazan GN⁺ 2024-08-30 | 3 yorum | WhatsApp'ta paylaş
  • Skip, Swift uygulama geliştirmeyi Android'e genişletmeyi mümkün kılan bir araç
  • Swift ve Xcode kullanarak hem iOS hem de Android'de yerel uygulamalar geliştirilebiliyor
  • Skip'in çalışma şekli
    • Xcode'da Swift ve SwiftUI uygulamaları geliştirildiğinde, Skip Xcode eklentisi bunları Kotlin ve Jetpack Compose'a dönüştürür
    • Yerel performansı ve kullanıcı arayüzünü korurken her iki platformda da kütüphaneler veya tüm uygulamalar geliştirilebilir

Skip uygulamalarının avantajları

Gerçek anlamda yerel

  • Skip uygulamaları yalnızca "yerel gibi görünen" uygulamalar değil, gerçekten yerlidir
  • iOS'ta Swift ve SwiftUI, Android'de ise Kotlin ve Compose kullanılır

Tam şeffaflık

  • Skip kullanıldığında uygulamanın her parçası geliştiriciye açıktır
  • Swift kodu doğrudan Kotlin kaynak koduna dönüştürülerek incelenebilir ve özelleştirilebilir

Hafiflik

  • SkipZero kullanıldığında iOS uygulaması Skip framework'üne bağımlı olmaz
  • Android uygulaması ise yalnızca birkaç Skip açık kaynak kütüphanesine ihtiyaç duyar

Bellek verimliliği

  • Ek bir yönetilen çalışma zamanı olmadığı için Skip uygulamaları her iki platformda da mümkün olduğunca verimlidir
  • iOS'ta bare metal, Android'de ise ART bytecode kullanılır

İdeal IDE

  • Skip'in IDE'si, iOS geliştirme için en iyi ortam olan Xcode'dur
  • Android özelleştirmeleri için üretilen kod Android Studio'da doğrudan açılabilir

Kusursuz entegrasyon

  • Skip standart Kotlin ve Compose ürettiği için Android kütüphaneleriyle entegrasyon kolaydır
  • Diğer Kotlin ve Java kodları doğrudan çağrılabilir

Açık kaynak temelli

  • Skip'in transpiler'ı hikâyenin yalnızca yarısıdır
  • iOS uygulama geliştirmesini destekleyen Foundation ve SwiftUI gibi framework'ler, Skip'in ücretsiz açık kaynak uygulamaları sayesinde Android'de de kullanılabilir

CI dostu

  • Skip birim testlerini de dönüştürür
  • Testler yerelde veya uzaktan çalıştırılarak platformlar arasında aynı mantık performansı garanti altına alınabilir

Çıkış imkânı

  • Hem Swift girişi hem de Kotlin çıktısı geliştiriciye aittir
  • Skip transpiler'ına sürekli bağımlı kalmak gerekmez

GN⁺ özeti

  • Skip, Swift uygulamalarını Android'e genişletmeye olanak tanıyan bir araçtır ve her iki platformda da yerel performans ile kullanıcı arayüzünü koruyabilir
  • Xcode ve Android Studio'nun birlikte kullanılmasını sağlayarak geliştiricilerin daha verimli çalışmasına yardımcı olur
  • Açık kaynak temelli yapısıyla şeffaflık ve özelleştirme imkânı sunar
  • CI dostudur ve testler aracılığıyla platformlar arasında aynı performansın korunmasını sağlayabilir
  • Benzer işlevler sunan projeler arasında Kotlin Multiplatform da bulunur

3 yorum

 
ing03201 2024-08-30

Kod karartmayı da destekler hale gelirse bence gerçekten çok iyi olur.

 
godrm 2024-08-30

Oho, ilginç görünüyor. Ne kadarını ve nasıl ele aldığını henüz hiç bilmiyorum ama pervasızca ve eğlenceli bir deneme gibi duruyor.

 
GN⁺ 2024-08-30
Hacker News görüşleri
  • Kişisel bir uygulamayı Android'e taşıma deneyimi paylaşımı

    • SwiftUI ile bir iOS uygulaması geliştiriyordu ve bunu Android sürümüne taşımak için React Native, Ionic, Ignite gibi seçenekleri denedi ancak zorlandı
    • Skip'i kullanınca Swift bağlamını koruyarak tek bir dille uygulama yazabildiği için bundan çok memnun kaldı
    • Platforma özgü kod yazmak kolay ve Android öğrenmeden uygulamayı hızlıca çalıştırabilmek mümkün
    • Tüm uygulamayı Skip ile geliştirip her iki uygulama mağazasında da yayımlamayı planlıyor
  • Skip ile ilgili endişeler

    • Açık kaynak lisansı hakkında soru işaretleri (GPL vs MIT)
    • Paket yönetimi ve iOS/Android ayrımlarının nasıl ele alındığına dair merak
    • Apple servis API'lerinin Android tarafında nasıl işlendiğine dair sorular
    • Reklam ve uygulama içi satın alma örneklerine ihtiyaç
  • Skip'in bağımlılık yönetimiyle ilgili sorular

    • Swift PM paketlerinin Android projelerinde şeffaf biçimde kullanılıp kullanılamayacağı merak ediliyor
    • Kotlin'in Swift kütüphanelerini şeffaf biçimde çağırıp çağıramayacağı soruluyor
  • Skip'in hedef pazarı hakkındaki görüşler

    • Daha çok iOS uygulamalarını Android'e dönüştürmek isteyen ABD/Avrupa şirketlerine yönelik bir ürün gibi görünüyor
    • Android'in baskın olduğu diğer bölgelerde Flutter, React Native, Kotlin MP gibi daha iyi çerçeveler bulunuyor
    • Skip'in transpiling kaynaklı sorunlarına ve bakım zorluklarına dikkat çekiliyor
  • ChatGPT ve Claude ile kod dönüştürme deneyimi

    • SwiftUI kodunu Kotlin, Jetpack Compose ve Material3'e dönüştürmede başarılı oldu
    • Üretilen kod neredeyse anında çalıştı; yalnızca stil/tema düzenlemeleri gerekti
  • Skip kullanım deneyimi paylaşımı

    • Birkaç ay kullandıktan sonra öğrenme eğrisi olsa da çapraz platform sorunlarını tamamen çözdüğünü düşünüyor
  • Skip'in dokümantasyonu ve transpiling'in sınırları

    • SwiftUI veya diğer temel kütüphaneler kullanıldığında transpiling'in sınırları olup olmadığı merak ediliyor
    • Xamarin geliştirmede yaşanan zorluklara benzer sorunların ortaya çıkabileceği belirtiliyor
  • Skip'in framework kısıtları

    • iOS uygulamalarının çoğu Apple platform framework'lerini kullandığından, Skip'in asgari uygulaması sınırlı kalabilir
    • StoreKit, WebKit, SafariServices, UserNotifications, CryptoKit gibi bileşenler için şu anda bir uygulama yok
  • Mevcut uygulamalarla Skip entegrasyonunun zorlukları

    • Mevcut SwiftUI + UIKit uygulamalarıyla Skip entegrasyonunun zor olup olmadığı soruluyor
    • Küçük veya orta ölçekli bir uygulamanın Skip'e taşındığı örneklere ihtiyaç var
  • Skip'in performans sorunlarını çözmesi

    • Çapraz platform framework'lerinin performans sorunlarını çözmede büyük yardım sağlıyor