Yıllar boyunca, “mobilde PHP” bir fıkraydı. Eğer bir Laravel geliştiricisiyseniz ve bir mobil uygulama yayınlamak istiyorsanız, sürekli şu tavsiyeleri alıyordunuz: React Native öğren, Flutter öğren, Swift veya Kotlin öğren. Bildiğiniz ve sevdiğiniz yığını geride bırakın.
Sonra NativeBlade geldi – Laravel + Livewire uygulamanızın tamamını PHP-WASM içinde çalıştıran, yerel bir Tauri kabuğuyla saran bir çerçeve. Gerçek uygulamalar, App Store ve Google Play’de tamamen PHP ile yazılmış.
Ancak uygulamayı oluşturmak yalnızca problemin yarısıydı. Diğer yarısı yayınlamak.
Kimsenin Konuşmadığı Kısım
Kimsenin Konuşmadığı Kısım
Bir mobil uygulama yazmak bir şeydir. Derlemek tamamen farklı bir acıdır.
Bir NativeBlade uygulamasını kendiniz inşa etmek için Rust yüklü, Android SDK ve NDK yapılandırılmış olmalı ve iOS için bir Mac, Xcode, imza sertifikaları ve provisioning profilleri gereklidir. Bu bir engel. Birçok PHP geliştiricisi buna takıldı ve uygulamalarını gerçek bir cihazda görmeden sessizce pes etti.
Expo, React Native dünyasında tam olarak bu problemi çözdü. Android Studio veya Xcode’u kurmuyorsunuz. Kodunuzu gönderiyorsunuz, onların derleme çiftliği derliyor, size bir .apk ve .ipa geri getiriyor. Bu kullanım kolaylığı, Expo’nun React Native uygulamaları oluşturma için varsayılan yöntem haline gelmesinin büyük bir nedenidir.
PHP geliştiricileri de bunu hak ediyor. Bu yüzden ben yaptım.
NativeBlade Cloud ile Tanışın
NativeBlade Cloud ile Tanışın
NativeBlade Cloud, NativeBlade uygulamaları için yönetilen bir derleme çiftliğidir. Laravel projenizi getirirsiniz. Size yerel ikili dosyaları Android ve iOS için verir – yerel bir çevre gerektirmeden.
Rust yok. Xcode yok. Android Studio yok. İmza zorlukları yok. Süreç boyunca PHP’de kalıyorsunuz ve bulut makineleri yönetiyor.
Bunu PHP geliştiricileri için Expo olarak düşünün.
Nasıl Çalışır
Nasıl Çalışır
Akış kasıtlı olarak basit. GitHub depounuzu bağlıyorsunuz, neyi istediğinizi seçiyorsunuz ve bulut geri kalanını yapıyor.
1. GitHub’ı Bağlayın. NativeBlade projenizin deposunu bağlayın. Bulut, inşa etmek için gerekenleri çeker – daha fazlasını değil.
2. Derleme modunuzu seçin. Üç mod var, her biri sizin iş akışınızdaki farklı bir an için:
Geliştirme APK’sı (Android) – Henüz imza verisiyle uğraşmak istemiyor musunuz? İmza verilerini atlayın ve bulut size bir hata ayıklama
.apkverir. Cihazınıza yükleyin ve hemen test edin, hiçbir keystore gerekli değil.Dev Client + Live Reload – Geliştirici istemcisini bir kez yükleyin, ardından yerel olarak çalıştırın:
php artisan nativeblade:serve --host= --port=
Geliştirici istemcisini o IP ve porta yönlendirin ve yaptığınız her Blade değişikliği, yerel ağ üzerinden cihazında anında görünür. Yine, yeniden derleme döngüsü olmadan aynı yerel ağda. Çoğu geliştirme zamanınızı burada geçireceksiniz.
Üretim Derlemesi – İmza verilerinizi ekleyin (Android için keystore, iOS için dağıtım sertifikası ve provisioning profili) ve bulut imzalı, mağaza için hazır bir
.aab/.apkveya.ipaüretir.
3. Yayınlayın. İkili dosyayı indirin ve Google Play veya App Store’a yükleyin.
Bir not iOS hakkında: Android’in aksine, iOS her zaman imza gerektirir – hatta cihazda test etmek için bile. Dolayısıyla Android için “hata ayıklama derlemesi için imzayı atla” kısayolu yalnızca Android’e uygulanır. iOS için, bulut çalıştırılabilir herhangi bir şey üretebilmesi için Apple imza verilerinizi sağlamanız gerekecektir.
İmza kimlik bilgileriniz hassastır – sızan bir dağıtım sertifikası, tüm Apple Geliştirici hesabınızı tehlikeye atabilir – bu nedenle, dinlenmede şifrelenir ve hesap başına izole edilir. Onların kontrolü sizde kalır.
Ücretsiz Plan: Aylık 8 Derleme
Ücretsiz Plan: Aylık 8 Derleme
Buraya en çok sevindiğim kısım. Ücretsiz plan size aylık 8 derleme sunar, Android ve iOS arasında paylaşılmıştır.
Bu, kısıtlı bir deneme değil. Sekiz derleme, gerçekten bir uygulama yayınlamak için yeterlidir – Portal ile yerel olarak iterasyon yapar ve ücretsiz, sınırsız hata ayıklama yaparsınız, yalnızca gerçek bir mağaza için hazır ikili üretirken bir derleme harcarsınız. Çoğu uygulama her gün üretim derlemesi gerektirmez. Yayınlanacak bir şey olduğunda inşa edersiniz.
Tek geliştiriciler, yan projeler ve NativeBlade’i ilk kez denemek isteyenler için, aylık 8 derleme, sıfırdan yayıma geçmeniz anlamına gelir, bir kuruş harcamadan.
Neden Derlemeler Anlık Değildir (ve Bunun Sorun Olmadığı)
Neden Derlemeler Anlık Değildir (ve Bunun Sorun Olmadığı)
Açık olacağım, çünkü dürüstlük NativeBlade’in inşa edilen temelidir.
Rust yerel kabuğunu derlemek zaman alır. Bir projenin ilk derlemesi en yavaş olanıdır çünkü Rust araç zinciri her şeyi sıfırdan derler. Eğer Expo’nun ücretsiz katmanını kullandıysanız, orada derlemelerin saatlerce sırada beklemesine şahit oldunuz. NativeBlade Cloud derlemeleri, size başka geliştiricilerle yer kapma mücadelesi vermeden, ayrılmış kapasitede çalışır – ancak bir yerel derleme yine de birkaç dakika alır, saniyeler değil.
Bağlam için: birkaç dakikada bir yerel mobil derleme almak tamamen normaldir. Flutter, React Native ve yerel uygulamalar bu bedeli öder. Fark, bunu kendi makinenizde 15GB’lık bir araç zinciri kurmak yerine bir başkasının makinesinde ödemenizdir.
Kendisiyle İnşa Edildi
Kendisiyle İnşa Edildi
En eğlenceli kısım: NativeBlade Cloud’un arkasındaki altyapı – öncelik sıralı kuyruk, eş zamanlı kontrol, kimlik bilgileri kasası – Laravel ile düzenlenmiştir. PHP, mobil uygulamalar için PHP uygulamaları derleyen bir çiftlik yönetiyor.
Herkesin “yeterince ciddi değil” dediği aynı dil, tüm operasyonu, çerçeveden orkestra eden yapıya kadar yürütmektedir.
Neler Dahil
Neler Dahil
Bulut üzerinden gönderdiğiniz her NativeBlade uygulaması, tam eklenti setine, hepsi MIT lisanslı ve dahil olmak üzere erişim sağlar:
- Yerel kamera (fotoğraf, video, ön/arka, cihazda kesme)
- Push bildirimleri aracılığıyla FCM ve APNs doğrudan
- Uygulama içi satın almalar ve abonelikler (StoreKit + Play Billing)
- AdMob (ödüllü, arası kesilen, banner, rızayla)
- Biyometrik, NFC, barkod tarayıcı
- Coğrafi konum, hissetme, panoya kopyalama, sensörler
- Uygulama kapalıyken bile çalışan arka plan görevleri
- SQLite offline-first, IndexedDB’ye kalıcı
Livewire bileşenleri yazıyorsunuz. Bulut bunları mağazalara gönderir. Mesaj tam olarak budur.
Bu Kime Göre
Bu Kime Göre
NativeBlade Cloud, zaten çalışan bir arka uca sahip olan, zaten Blade ve Livewire’ı bilen ve bir uygulamayı birinin eline vermek için tamamen yeni bir yığın öğrenmek istemeyen Laravel geliştiricisi içindir.
Eğer Laravel’i biliyorsanız, zaten bir mobil uygulama inşa etmeyi biliyorsunuz. Bunu henüz bilmiyordunuz.
Deneyin
Deneyin
Çerçeve açık kaynaklı ve MIT lisanslı: github.com/NativeBlade/NativeBlade
Portal uygulamasını App Store veya Google Play’den indirin, demo paketine yönlendirin ve birkaç saniye içinde telefonunuzda çalışan bir Laravel uygulamasının içinde olacaksınız – PHP olmadan, hiçbir kurulum yapmadan, yerel olarak hiçbir şey yüklemeden.
Ardından nativeblade.dev adresine gidin, NativeBlade Cloud için kaydolun, 8 ücretsiz derlemenizi kullanın ve bir şey yayınlayın.
Mobilde PHP artık bir fıkra değil. Artık mağazalarda. Ve şimdi yayınlamak, git push kadar kolay.
NativeBlade, Laravel ve Livewire ile yerel mobil ve masaüstü uygulamalar inşa etmek için açık kaynaklı bir çerçevedir. Eğer bununla bir şey inşa ederseniz, neyin bozulduğunu duymak isterim – sorunlar, PR’lar ve dürüst geri bildirim hepsi hoş karşılanır.
Kaynak: Orijinal Makale


