Xcode. Interface Builder. iOS Simülatörü. 47 dosyalık eksiksiz bir Swift projesi. Hepsi bir kafede iPad Pro'mdan çalışıyor. Taviz yok. Geçici çözüm yok. İşte hikâyenin tamamı.
"iPad'de kod yazma" sorunu
Apple her yıl iPad'i biraz daha güçlendiriyor. M serisi çipler. Liquid Retina XDR ekran. Magic Keyboard. Ve her yıl geliştiriciler aynı soruyu soruyor: bu cihazda gerçekten kod yazabilir miyim?
Cevap hep "bir bakıma" oldu. GitHub Codespaces üzerinden tarayıcıda VS Code kullanabilirsiniz. Blink Shell ile bir sunucuya SSH ile bağlanabilirsiniz. Temel denemeler için Swift Playgrounds gibi uygulamalar var. Ama gerçek araçlara — Xcode, Android Studio, Visual Studio, dotfile'larınızla düzgün bir terminal — ihtiyaç duyduğunuz an tıkanıyorsunuz.
Bunlar keyfi sınırlamalar değil. Apple, iPadOS'te tam IDE'lere izin vermiyor. Xcode iPad'de hiçbir zaman yerel olarak çalışmayacak (en azından tam sürümü). Tarayıcı tabanlı editörler ne kadar iyileşirse iyileşsin, bir tarayıcı sekmesinin yapabildikleriyle temelden sınırlı.
Ben de farklı bir yol denedim. IDE'yi iPad'e getirmek yerine, iPad'i IDE'nin yanına götürdüm.
Kurulum: Remio + Mac mini + iPad Pro
Kurulumum neredeyse utanç verici derecede basit:
- Mac mini M4 — evde duruyor, hep açık, Xcode ve tüm geliştirme araçlarımı çalıştırıyor
- iPad Pro 13" — Magic Keyboard ve Apple Pencil ile, nerede olursam olayım
- Remio — ikisini birbirine bağlıyor, sıfır yapılandırmayla
iPad'imde Remio'yu açıyorum, Mac mini'mde görünen PIN'i giriyorum ve iki saniye içinde Mac masaüstüme bakıyorum. Tam çözünürlük. Tam renk. Tüm geliştirme ortamım tam bıraktığım yerde.
Yapılandırılacak VPN yok. Bakımı yapılacak SSH tüneli yok. Oluşturulacak hesap yok. Sadece bir PIN ve bir bağlantı.
Bu neden tarayıcıda kod yazmaktan daha iyi
Tüm alternatifleri denedim. Gerçekten hepsini. Gerçek bir Mac'le Remio'nun denediğim her tarayıcı tabanlı çözümü neden geride bıraktığını anlatayım.
GitHub Codespaces / VS Code Web
Codespaces web geliştirme için gerçekten etkileyici. Ama bir Linux konteynerinde çalışıyor. Xcode yok. Interface Builder yok. iOS Simülatörü yok. Core Data model düzenleyicisi yok. iOS veya macOS uygulamaları geliştiriyorsanız bu seçenek hiç masada değil. Web geliştirmede bile tarayıcı sanal alanıyla sınırlısınız — yerel dosya erişimi yok, yerel terminal yok, rastgele arka plan işlemleri çalıştırma imkânı yok.
SSH + terminal editörleri
Vim'i seviyorum. Gerçekten. Ama 47 dosyalı, xib'li, varlık kataloglu ve Core Data modelli bir SwiftUI uygulamasını terminal editöründe geliştirmek verimlilik değil, mazoşizm. Kod tamamlama, yeniden düzenleme, canlı önizleme ve görsel hata ayıklayıcı gibi IDE özellikleri boşuna yok.
Bulut masaüstleri (AWS WorkSpaces, Shadow PC)
Bulutta aylık yaklaşık 50-100 dolara bir Mac kiralayabilirsiniz. Ama zaten bir Mac'iniz var. Neden daha kötüsünü kiralamak için para ödüyorsunuz? Remio ile kendi makinenizi kullanıyorsunuz — kendi dosyalarınız, kendi araç zinciriniz, kendi ortamınız. Üstelik gecikme de daha iyi, çünkü Mac'iniz Virginia'daki bir veri merkezinde değil, ev ağınızda.
Gerçek bir iş günü
Gerçek bir iş gününün nasıl geçtiğini anlatayım — kafede geçen bir salı.
08:30Otur, bağlan, kaldığın yerden devam et
iPad'im ve Magic Keyboard'umla bir kafeye oturuyorum. Remio'yu açıyorum. Evdeki Mac mini'me bağlanıyorum. Xcode, dünkü projemle zaten açık — her kesme noktası, her sekme, işlenmemiş her değişiklik tam yerinde.
08:35SwiftUI yazmak
SwiftUI kodu yazıyorum. Kod tamamlama mükemmel çalışıyor, çünkü gerçek bir Mac'te gerçek bir Swift derleyicisiyle çalışan gerçek Xcode bu. Her tuş vuruşu anlık hissettiriyor — Remio'nun yerel girdi işleme yaklaşımı sayesinde bir tuşa basmak ile karakterin ekranda belirmesi arasında fark edilebilir bir gecikme yok.
Yerel girdi doğrudan ana makineye iletiliyor — LAN'da dahili olarak ölçülen yaklaşık 8 ms'lik işlem süresi; geri kalanı ekranınızın kendi 60 Hz yenileme ritmi.
09:15iOS Simülatörü'nde çalıştırmak
iOS Simülatörü'nde test etmem gerekiyor. ⌘R'ye basıyorum. Simülatör Mac'imde açılıyor ve iPad ekranımda görüyorum. Simüle edilmiş iPhone ile iPad'imdeki dokunma hareketleriyle etkileşebiliyorum — şaşırtıcı derecede doğal. Dokun, kaydır, ilerle. Sorunsuz çalışıyor.
10:00Interface Builder'da arayüz çalışması
Arayüz işi zamanı. Interface Builder'ı açıyorum. Kısıtlamaları sürüklüyorum, yerleşimleri ayarlıyorum, farklı cihaz boyutlarında önizliyorum. Tarayıcı tabanlı bir editörde imkânsız olan tam da bu tür bir iş. Görsel araçların yerini hiçbir şey tutmuyor.
11:30Eşzamanlılık hatası ayıklamak
Sinsi bir eşzamanlılık sorununu ayıklıyorum. Kesme noktaları koyuyorum, kodda adım adım ilerliyorum, hata ayıklayıcıda değişkenleri inceliyorum. LLDB mükemmel çalışıyor, çünkü web tabanlı bir taklidi değil, gerçeğini kullanıyorum.
13:00Android'e geçiş
Öğle yemeğinden sonra Android projeme geçiyorum. Xcode'u kapatıp Android Studio'yu açıyorum. Aynı bağlantı, aynı kurulum. Remio hangi uygulamayı çalıştırdığımı umursamıyor — masaüstünün tamamını aktarıyor.
19:00Günün özeti
Gün sonunda yaklaşık 400 satır Swift yazdım, üç hatayı düzelttim, TestFlight'a bir derleme gönderdim ve iki pull request inceledim. Hepsi bir kafede iPad'den. Bunların hiçbiri özel bir yapılandırma ya da taviz gerektirmedi.
İşi mümkün kılan ayrıntılar
Klavye kısayolları
Çoğu uzak masaüstü uygulaması burada çuvallıyor. Remio her klavye kısayolunu doğru iletiyor. Derlemek için ⌘B. Çalıştırmak için ⌘R. Hızlı açmak için ⌘⇧O. Emoji için ⌃⌘Space (evet, o bile). Magic Keyboard'un değiştirici tuşları Mac'in değiştirici tuşlarıyla birebir eşleşiyor. Çeviri katmanı yok, tuş yeniden eşleme karmaşası yok.
Metin işleme
Kod küçük yazıdır. Hem de bolca. Metni bulanıklaştıran ya da bozulmalar oluşturan bir uzak masaüstü uygulaması geliştirme için tamamen kullanılamaz. Remio'nun metin için optimize edilmiş ayarlarla H.265 kodlaması kodu jilet gibi net tutuyor. Sözdizimi vurgulama renkleri doğru. Yazı tipi kalınlıkları doğru. iPad Pro'nun çözünürlüğünde Xcode gerçekten yerelde çalışıyormuş gibi görünüyor.
Ekranlar arasında geçiş
Mac mini'mde sanal bir ikinci ekran var. Remio, hangi ekrana baktığımı tek dokunuşla değiştirmeme izin veriyor — birinde kod, diğerinde Simülatör. iPad'de aralarında kaydırıyorum ya da çalışma alanımı düzenlemek için Stage Manager'ı kullanıyorum.
Pano ve dosya aktarımı
Konsoldan bir hata mesajını sonra aramak üzere almanız mı gerekiyor? Remio'nun pano eşzamanlaması bunu sorunsuz yapıyor — bir cihazda metni kopyalayın, diğerinde yapıştırın. Proje klasörümün içine bir referans dosyası koymak istediğimde de doğrudan iPad'den Mac'e gönderiyorum.
İş akışı ipuçlarım
Altı aydır bu şekilde kod yazdıktan sonra deneyimi daha da iyi yapan bazı alışkanlıklar edindim.
- Mac'inizi kablolu bağlantıda tutun. Mac mini'm yönlendiriciye Ethernet ile bağlı. Bu, yayın kalitesindeki en büyük değişkeni ortadan kaldırıyor.
- iPad için kararlı bir Wi-Fi bağlantısı kullanın. Kafedeki 5 GHz Wi-Fi genellikle yeterli. Bağlantı dengesizse Remio'nun uyarlanabilir kalitesi otomatik ayarlanıyor — ama kararlı bir bağlantı, sürekli net metin demek.
- Xcode'un yazı tipi boyutunu 13-14 pt yapın. Bu, Remio üzerinden iPad Pro ekranında yakınlaştırma gerektirmeden rahatça okunuyor.
- Her şey için klavye kısayollarını kullanın. IDE işlemleri için dokunma/fareyi ne kadar az kullanırsanız o kadar hızlı olursunuz. Bu, yerel geliştirme için de iyi bir tavsiye.
- iPadOS ayarlarında "Hareketi Azalt"ı açın. Bu, iPad tarafındaki animasyon yükünü biraz azaltıyor ve Remio'ya azıcık daha performans payı bırakıyor.
Yapamadıklarım (dürüstçe)
Tamamen dürüst olmak adına, sınırlamalar şunlar.
- İnternet gerekiyor. Wi-Fi'sız bir uçaktaysanız bu çalışmaz. Gerçi uçak içi Wi-Fi'de başarıyla kullandım — yavaştı ama işini görüyordu.
- Mac'inizin açık kalması gerekiyor. Bu bir bulut hizmeti değil. Biri Mac'inizi fişten çekerse ya da bir güncelleme için yeniden başlarsa, geri gelene kadar bağlantınızı kaybedersiniz.
- Gecikmeye aşırı duyarlı işler — oyun ya da gerçek zamanlı ses prodüksiyonu gibi — fark edilebilir (küçük de olsa) bir gecikme taşıyor. Kod yazarken gecikme hissedilmiyor.
Bu ödünler gerçek. Ama benim için, tüm geliştirme ortamımı 700 gramlık bir tablette taşıyabilmenin değeri bunların çok üzerinde.
iPad'li geliştirici hayali gerçek oldu
Yıllarca Apple'ın Xcode'u iPad'e getirmesini bekledim. Bir noktada bunun hiç olmayabileceğini fark ettim — en azından tam, profesyonel sürümünün. Bu yüzden beklemeyi bırakıp daha iyi bir cevap buldum.
Remio, Xcode'u iPad'inize koymaz. Mac'inizin tamamını iPad'inize koyar. Her uygulama, her araç, her dosya. Mac'in tam önünüzdeymiş gibi hissettiren ekran kalitesi ve girdi hızıyla — çünkü önemli olan her bakımdan, gerçekten de öyle.
En iyi geliştirme düzeni en çok güce sahip olan değil, yanınızda gerçekten bulunan düzendir.
Remio'lu iPad Pro'm sahip olduğum en iyi geliştirme makinesi — özellikleri yüzünden değil, gittiğim her yere benimle geldiği ve tüm geliştirme ortamımı da yanında getirdiği için.
Mac'i ve iPad'i olan bir geliştiriciyseniz, Remio'yu deneyin. Kurulum iki dakika sürer. Hesap gerekmez. Oyun tarafını merak ediyorsanız iPad'inizde PC oyunları oynama rehberimize göz atın — kod yazmayı mümkün kılan aynı düşük gecikmeli teknoloji oyunu da inanılmaz yapıyor.