Web İçin Kod Yazmak
(mrmr.io)- Apple, müşterilerine güvenli ve yönetim yükü düşük cihazlar sunsa da bireysel geliştiricilerle aynı düzeyde karşılıklı bağımlılık yaratmadığı yönünde deneyime dayalı bir sonuca varıyor
- Google Arama’daki koyu/açık mod hatası, teknik yetersizlikten çok geliri etkilemeyen bir rahatsızlığın uzun süre göz ardı edilebileceğini gösteren bir örnek olarak kullanılıyor
- Apple’ın temel değerinin uygulama ekosisteminden çok, kullanıcıların ayrıca yönetmek zorunda kalmadan kullanabildiği bilgisayarlar ve cihazlarda olduğu; iPhone veya iPad’in uygulamalar olmasa bile satın alınacak nedenleri bulunduğu düşünülüyor
- 2016’da umut bağlanan Apple Music API’sinde 8 yıl sonra bile hatalar ve erişim kısıtları var; basit bir deneme için bile yıllık 100 dolarlık geliştirici hesabı gerekiyor
- Tek bir şirketin sahip olmadığı web platformu, kusurlu ve kırılgan olsa da belirli bir şirketin sıfır toplamlı yapısına daha az bağlı kalmak isteyen geliştiriciler için gerçekçi bir seçenek olmaya devam ediyor
Apple müşterileri için güçlü, geliştiricilere bağımlı değil
- Merkezde, Apple’ın müşteri olan bireylere açık bir değer sunduğu; ancak bireysel geliştiricilere aynı şekilde önem vermesi için yapısal nedenlerinin zayıf olduğu algısı var
- Bağımlılık ilişkisi
Developer -> Apple,Apple -> Consumerşeklinde akıyor; Apple’dan bireysel geliştiriciye doğru ters yönde bağımlılığın neredeyse hiç olmadığı düşünülüyor - Tüm geliştiriciler Apple platformları için geliştirmeyi bıraksa bile Apple büyük ölçüde ayakta kalabilir; çünkü Apple’ın temel değer önerisi tek tek geliştiricilere bağlı değil
- Kurumsal geliştirici “partnerleriyle” iş birliği gerekli olabilir, ancak bu bireysel geliştiricilere bağımlılıktan farklı bir mesele
- Bazı çok uluslu şirketler geliştiricileri stratejilerinin merkezine koyar, ancak Apple’ın bu türden bir şirket olmadığı düşünülüyor
- Bu ayrımı kabul ettikten sonra Apple ürünlerini sevme duygusuyla Apple için geliştirme yapma isteğini birbirinden ayırmak mümkün hale geliyor
Google örneği: Geliri etkilemeyen hatalar uzun süre kalabilir
- Google Arama’da, sistemin dinamik olarak açık/koyu moda geçtiği ortamlarda ilk arama sonuçları sayfasının ters temayla gösterilmesi sorunu var
- Gece tüm sistem koyu durumdayken ilk sonuç sayfası parlak açılıyor ve gözü yoruyor
- Sabah dizüstü bilgisayar açık moda döndükten sonra arama sonuçları okunması zor siyah bir arka planla gösteriliyor
- Bu hata yıllardır sürüyor ve büyük bir yeniden tasarım sırasında tesadüfen düzeltilmediği sürece düzeltilme olasılığının düşük olduğu düşünülüyor
- Nedenin Google’ın bunu düzeltecek yeteneğe sahip olmaması değil, geliri etkilememesi olduğu yorumlanıyor
- DDG gibi alternatif arama motorlarını kullananlar zaten ayrılmış durumda; ezici çoğunluk ise Google’a bağlı
- DDG gizlilik dostu olmasını öne çıkarıyor, ancak gerçek kullanım nedeni erken dönem Google’ı hatırlatan sade UX, kaliteli ve isabetli arama sonuçları ile rahatsız etmeyen reklamlarda yatıyor
- Google, kullanıcıyı oyun teorisi açısından bir hedef olarak görmüyor; Google ürünlerini kullanmak gerektiğinde ortaya çıkan kullanıcı düşmanı etkileşimler de bu yapının sonucu olarak kabul ediliyor
Apple’ın temel değeri: Yönetim yükü olmayan güvenli bilgisayarlar
- 2009 civarında aile için bilgisayar seçerken Windows’un o dönemde güvenlik açısından çok zayıf, Linux’un ise sürekli teknik destek gerektirdiği değerlendiriliyor
- Sonunda OpenBSD, Firefox ve temel oyunlar kurulu bir bilgisayar hazırlanıyor; ancak güvenlik, gizlilik ve düşük destek yükü elde edilirken kullanılabilirlik ciddi ölçüde sınırlanıyor
- Bir iOS uygulama şirketinde iş için Mac kullandıktan sonra “annem için istediğim bilgisayar buydu” sonucuna varılıyor
- Para biriktirilip bir MacBook alınıyor; zamanla ailenin kullandığı form faktörü dizüstünden iPad’e dönüşse de aynı temel değer karşılanmaya devam ediyor
- Uygulaması olmayan bir iPhone’un bile kendisi için satın alınabilir, ailesi içinse neredeyse kesin satın alınacak bir cihaz olduğu düşünülüyor
- Apple’ın iş modelinde geliştiriciler zorunlu bir unsur değil; geliştiricilerin mutlu olması sorun değil, ancak mutlu olmak zorunda oldukları bir yapı da yok diye yorumlanıyor
- Apple içinde geliştiricileri önemseyen ve iyileştirmeye çalışan kişiler var, ancak şirket düzeyindeki davranışlar tutarlı olmayabilir
Apple Music API’sine dair beklenti ve hayal kırıklığı
- 2016 civarında WWDC’de Apple Music API duyurulduğunda büyük beklenti oluşuyor, ancak gerçekte “her şeyin değiştiği” bir durum yaşanmıyor
- Apple’ın kendi müzik oynatıcısı hâlâ kullanımı zor bulunuyor; denenmiş alternatif oynatıcıların da genel olarak Spotify tarzı yaklaşımı izlediği düşünülüyor
- Winamp’in Justin Frankel dönemindeki gibi hızlı, akıcı, durmaksızın akan ve aynı zamanda kişisel bir müzik oynatıcı deneyiminin yeniden yaratılabileceği umuluyor
- Apple’ın müzik kataloğu varsa, geçmişte olduğu gibi korsana yaslanmadan bu deneyimin yeniden üretilebileceği düşünülüyor
- Boş zaman bulununca Flowers adlı bir müzik oynatıcı geliştiriliyor ve başkalarının kendi müzik oynatıcılarını yapabilmesi için bir öğretici de yazılmak isteniyor
- Uygulama sürecinde, aradan 8 yıl geçmesine rağmen API’nin hatalı ve açık olmayan bir durumda olduğu sonucuna varılıyor
- API’yi yalnızca denemek için bile Apple’a yılda 100 dolar ödemek gerekiyor
- Bu ücret yoğun kullanım bedeli değil, basit deneme erişimi için de gerekli
- Ücretli geliştirici hesabı kullanılsa bile yalnızca sınırlı API’ler veriliyor
- Apple’ın web müzik oynatıcısının tarayıcı konsolunda
MusicKit.getInstance().developerTokengirildiğinde ücretsiz olarak kısıtsız kök token alınabildiği için, geliştiricilere yönelik sürecin mantıksız olduğu düşünülüyor
Web, tek sahibi olmayan ortak bir platform
- Sonuç, web’de çalışan kod yazma yönüne varıyor
- Web, tek bir tarafın sahip olmadığı ortak bir platform; iyi niyetin bile beceriksizlikle bozulabilmesi açısından belirli şirket platformlarından farklı
- Web platformu şu etkenler nedeniyle kırılgan durumda
- Aşırı müdahaleci hükümetler
- Tarayıcı pazarındaki iki kutuplu yapı
- Karmaşık geliştirici ekosistemi
- Web’in gelişmeye devam edeceğinin garantisi yok, ancak bugüne kadar hayatta kaldı; ne kadar uzun süre hayatta kalırsa bundan sonra da gelişme olasılığının o kadar artacağı düşünülüyor
- Web ile ilgili yakın zamanda yazılması gereken geçici çözüm kodunun Safari’nin kendine özgü davranışından kaynaklandığı belirtiliyor
- Aynı zamanda Google’ın web için harika işler yaptığı ve bu bağlamda iyi bir rol oynadığı değerlendiriliyor
Şirketlerle ilişkiyi sabit iyi-kötü kategorilerine ayırmak zor
- İnsanları iyi insanlar ve kötü insanlar diye sabit biçimde sınıflandırmak nasıl yararlı değilse, şirketleri de kalıcı olarak iyi şirketler ve kötü şirketler diye sınıflandırmanın zor olduğu düşünülüyor
- Şirketler; zekâ, karakter, doğum, büyüme, yok oluş ve tüzel kişilik sahibi olmaları bakımından insanlara benzer özellikler paylaşıyor
- İnsanlar olmadan yaşanamayacağı gibi şirketler olmadan da yaşanamaz; insan dışı özellikleri olsa bile insan örgütlenmesinin fraktal biçimlerinin varlığını sürdüreceği düşünülüyor
- Şirketleri sabit iyi-kötü kategorilerine koymayınca onlarla daha akışkan ilişkiler kurulabiliyor
- Şirket sıfır toplamlı bir oyuna ittiğinde bağımlılık azaltılıyor
- Daha simbiyotik bir ilişkiye izin verdiğinde yeniden ilişki kuruluyor
- Steve Jobs, 1996’da büyük, orta ve küçük şirketlerin hepsinin web’i nihai doğrudan müşteri dağıtım ağı olarak görmeye başladığını; aracıları baypas edip tedarikçiden tüketiciye doğrudan giden yol olduğunu söylemişti
1 yorum
Hacker News yorumları
Başlarda yerel mobil geliştirme öğrenmemeye karar verip sınırlı zamanımın tamamını web’e odaklamıştım; bu kez doğru seçim yaptığımı düşünüyorum.
Bugün tarayıcıda şaşırtıcı şeyler yapılabiliyor ve tamamen kişisel görüşüm, Uber, Google Drive ve oyunlar dışında çoğu uygulamanın web uygulaması olması gerektiği yönünde.
Medya sektöründe çalışıyordum; ülkemizde 2010’ların başı, zaten pek parası olmayan yayın kuruluşlarının mobil uygulama yapmak için bütçelerini akıttığı bir dönemdi ve ben de bu modaya karşı çıkan aykırı kişiydim.
Çoğu uygulamanın kaliteli olmasının mümkün olmadığını ve şirketlerin mobil ön yüzlerini düzenli güncellemeyeceğini biliyordum; sonunda tam da öyle oldu.
Şimdi neredeyse bakımı yapılmayan uygulamaların içine sıkışmış durumdalar; çoğu geçmiş bir dönemin kalıntısı gibi görünüyor, aslında öyleler de.
Ama neden Uber, bilmiyorum. Uber’in yolculuk talebini ve uygulamanın yaptığı hemen her şeyi iyi şekilde halleden bir mobil sitesi var ya da vardı; yerel uygulamanın kullanıcıya ne değer kattığı pek görünmüyor.
Çoğu mobil oyun için de aynı şey geçerli. Genellikle tarayıcının yeterince yüksek performansla işleyebileceği basit grafikler kullanıyorlar ve ortak UI bileşenlerini çoğu zaman baştan kendileri yaptıkları için yerel sistem düğmelerini kullanamamak büyük fark yaratmıyor.
PWA’lar da yerel kayıt dosyaları ve oyun verileri için gerekli depolama alanını yeterince sağlayabilir. Elbette sistemi sınırlarına kadar zorlayan oyunlar bunun dışında.
Death Stranding ya da RE4 remake gibi oyunların yerel grafik hızlandırmaya doğrudan erişmeden iyi çalışmasını beklemem; ayrıca tek bir web sayfası olarak yüklenmek için fazla büyükler.
Ama çoğu mobil uygulama, hatta web’e geçse gelirinin %30’unu daha fazla alabilecek yüksek gelirli ücretsiz oynanabilen oyunlar bile bu kategoriye girmiyor.
Peki neden web’i hedeflemiyorlar? Sezgim şu: mobil kullanıcılar uygulama ve oyunları uygulama mağazalarında aramaya alıştırıldı; masaüstü kullanıcıları ise bazı uzman araçlar ve üst düzey oyunlar dışında uygulamaların tarayıcı üzerinden sunulmasını bekliyor.
Sonuçta bunun önemli bir kısmı kültürel bir mesele ve Apple’ın yetersiz PWA desteği de yardımcı olmuyor.
Bunaltıcılığın çoğu araçlardan, özellikle de TypeScript’ten geliyor; bunu kısaca ifade etmek zor ama yerel tarafta olduğundan çok daha fazla TypeScript tip sistemiyle boğuşmak zorunda kaldım.
Ancak Google ve Apple’ın PWA’ları yerel uygulamalarla rekabet edebilecek seviyeye getirmeye yardımcı olma konusunda teşvikleri olup olmadığından endişeliyim. O seviyeye gelirse gelirlerine zarar verebilir.
Teknoloji yığınının temel yapı taşlarına zaman ayırmak daha iyi.
Bunların hepsi web üzerinden halledilebilecek şeyler.
Apple’ın geliştiricileri umursamamasının nedeni, kendi anlattıkları gibi kullanıcı tarafında kapalı bahçeye yakın bir kült yaratmış olması.
Geliştiriciler o platform için ürün yapmazsa pazarın yarısını, hatta daha fazlasını kaybediyor.
Büyük bir şirket içindeki küçük bir stüdyoda mobil oyun yaptığım asıl işimde, yalnızca teknik sorunlarda değil, politika ve onay süreçlerinde de Apple’la sürekli mücadele etmek zorundayız.
Ama iOS’ta çalıştırmanın yolu olmayan bir mobil oyun çıkarmayı hayal etmek zor olduğu için uymaktan başka seçenek yok.
Birçok açıdan Microsoft’un özgün PC stratejisi bunun tam tersiydi. Geliştiricileri kolladı; kapsamlı dokümantasyon, örnekler ve araçlar sağladı.
Bu geliştiricilerin çalıştığı şirketlerin Microsoft için yazılım üretmek, tanıtmak ve satmak için motivasyonu vardı; bireysel geliştiricilerin Windows yazılımlarını sel gibi üretmesi de bugün hâlâ baskın olan masaüstü işletim sistemini yarattı.
Apple ekosistemine katkıda bulunmak bir seçimdir, zorunluluk değil. Apple ekosistemine katkı yapan geliştiriciler mevcut duruma aktif olarak katılıyor demektir.
Apple bunu geliştiricilere kötü davranarak ya da daha doğrusu geliştiricilerin müşterilerine kötü davranmasını engelleyerek başarıyor.
Bu, tedarikçilere güçlü baskı uygulama biçimine de benziyor; ama sonuçta sağlıklı ve varlıklı bir ekosistem oluştu ve geliştiricilerle tedarikçiler hâlâ oraya uygulama sunuyor.
Sosyal ağlar, flört uygulamaları, Reddit, Stack Overflow gibi şeyler. Uber gibi konum takibi gerektiren ya da hareket halindeyken oynanmak üzere tasarlanan mobil oyunlar gibi mobil deneyime bağımlı hizmetler değil.
İşletme mobil deneyime bağımlı değilse, yerel uygulama olmadan da hizmet sunabilir.
Mobil kullanıcılar da mobil tarayıcıyla erişebilir; ideal deneyim olmayabilir ama bir seçenek olur.
Bence asıl nokta şu: mobil platform zorunlu değilse ya da ona bağımlı değilseniz, o platform için geliştirmeyin.
Birkaç yıl önce Swift ve yerel iOS geliştirmeyi öğrenmeye dalmıştım, ama Xcode kullanmaya bir türlü alışamadım
Xcode’un UI/UX’i tarif etmesi zor derecede berbattı; sezgisel biçimde gruplanmamış ikonlara basmak için panelleri sürekli açıp kapatmak zorunda kalıyordum
Bir paneli açınca başka bir panel zorla küçültülüyordu ve zamanımın onda biri fiilen “panel sürmekle” geçiyormuş gibi hissediyordum
Apple tasarımcıları, geliştiriciler için sürtünmesi düşük bir IDE yerine görsel olarak güzel ve minimal bir IDE yapmak istemiş gibi
Ama bir IDE’nin minimal olması gerekmez; her geliştiricinin yapmak istediği şeye göre istediği kadar özelleştirilebilir ve dağınık bırakılabilir olması gerekir
Fiziksel bir garaj tezgâhını hayal edince, Visual Studio çalışma alanını istediğin kadar dağıtıp özelleştirmene izin veriyor; Apple ise sanki bir sonraki aracı almadan önce her seferinde önceki aracı kutusuna koymanı istiyor
Panel sürmek derken kastettiğim bu; diğer geliştiriciler de böyle hissediyor mu merak ediyorum
Biçimi işlevin önüne koymak ifadesi sayesinde Xcode’da neyden hoşlanmadığımı kelimelere dökebildim
10 yılı aşkın süredir JetBrains ekosistemindeyim; eksileri var, ama JetBrains’in IDE’yi benim istediğim gibi çalıştırmamı engellemeye çalıştığını hiç hissetmedim
Ama Apple platformları için yerel uygulama yapmaktan beni asıl soğutan şey, bug’lar ile dokümantasyon eksikliğinin birleşimiydi
Bir yıl önce son kullandığımda SwiftUI amacına uygun durumda değildi; daha olgun kütüphanelerde bile çoğu zaman neredeyse hiç dokümantasyon yoktu
Neyin kullanım dışı bırakıldığını anlamak bile zor
Benim işimde yerel uygulamanın kullanıcı açısından avantajı zaten küçük; çoğunlukla biraz daha güvenilir yerel depolamadan ibaret
Web uygulaması yapmaktan çok daha az üretkense, tekelci bir hükümdarın merhametine bel bağlamanın ek maliyetini ve riskini haklı çıkarmak zor
Xcode beni hiç rahatsız etmiyor, ama övülen IntelliJ tabanlı Android Studio sürekli sinirime dokunuyor
Visual Studio da benzer biçimde bunaltıcı ve tuhaf kısıtları var. Örneğin söz dizimi renklendirmede italik kullanılamaması neden, anlamıyorum
Editörler de aynı. VS Code’da, Sublime Text veya TextMate’in aksine küçük küçük rahatsız eden noktalar var
Eski tip ağır IDE hissi veriyor; ona uyum sağladıkça daha rahat oluyor, ama aynı zamanda kontrolün bende olmadığı hissi de kalıyor
Apple biraz özen gösterseydi VS Code kadar olmasa da en azından yarı yarıya daha çevik yapabilirdi; kesinlikle bugünkünden daha iyi olabilirdi
Vim tuş bağları desteğinin berbat olması bile başlı başına sinir bozucu. Örneğin
cveyargibi çoğu işlemi tekrar yürütemiyorsunO dönemde SwiftUI mi kullandın, yoksa UIKit’in storyboard’larıyla mı boğuştun bilmiyorum; ama ikincisi en kötü deneyim, düşmanıma bile önermem
SwiftUI hâlâ erken aşamada olduğu için cilalanacak yerleri olsa da, onunla kıyaslayınca gelecek gibi hissettiriyor
Eskiden belediye uygulamalarımızdan birini bize ait olarak göstermek için Apple geliştirici hesabı kurmam gerekmişti
Diğer uygulamalar için gerekmemişti, neden öyleydi bilmiyorum; ama sonuçta bunu yapmak zorundaydık ve oldukça berbat bir deneyimdi
Önce bir Apple hesabı gerekiyordu; kişisel hesabımı kullanmak istemediğim için yeni bir iş hesabı oluşturmam gerekti
“Kurumsal hesap” oluşturulamıyordu, bu yüzden benim şahsıma bağlandı; neyse ki elden çıkarılması planlanan eski bir iPhone vardı da onu kullanabildim
Ardından Apple’ın kimliğimi doğrulamasını birkaç gün bekledim; fiilen Apple’ın, patronum olarak yazdığım kişiyi arayıp onun gerçekten o kişi olduğunu söylemesini istemesinden ibaretti
Umarım daha fazla araştırma yapmışlardır ama emin değilim; arayan kişilerin İngilizcesi bizimkinden bile daha kötüydü, en azından gülünçtü
Sonra ödemeyi ayarlamam gerekti; her nasılsa Apple geliştirici hesabına sahip olmak için para ödemen gerekiyor
60 bin nüfuslu bir şehrin toplam bütçesinde fark edilmeyecek bir tutar gibi, ama yurt dışı aboneliği olduğu ve Apple bunu yerel vergi kurumuna kolayca kaydedilebilecek bir B2B satın alma biçiminde işlemeye yönelik bir yol sunmadığı için her yıl inceleme konusu oluyordu
Ödeme de yalnızca kredi kartıyla mümkündü; kurumsal kartlar da gerçek bir kişiye bağlı olduğundan yenilemeyi yapacak bir sorumlu gerekiyordu
İnsanlar iş değiştiriyor; sahipliği değiştirmek için Apple ile gerçek kişilerin birbirleriyle iletişime geçmesi gerekiyor, ne kadar eğlenceli olduğunu tahmin edebilirsiniz
Bu birkaç yıl önceydi, değişmiş olabilir; ama uğraştığım 300’den fazla kurumsal BT çözümü içinde Apple kadar berbatı yoktu
Adil olmak gerekirse ben geliştiriciyim, bu işin bana neden verildiğini de bilmiyorum; BT operasyonları tarafında böyle şeyler daha yaygın olabilir
Tabii evrak işlerini kolayca halledebilen büyük bir Amerikan şirketiyseniz hariç
Hâlâ rastgele. Hemen de olabilir; şanssız olup bu sürecin rastgele bug’ına yakalanırsanız uzun süre başarısız olur
Ne zaman başladı bilmiyorum ama çok yeni değil
Bazen web’in/www’nin aslında ne kadar açık olduğunu ve bugün bile Apple ile Google’ın tekeline aldığı “uygulama ekosistemi”yle karşılaştırıldığında genel olarak ne kadar açık kaldığını unutuyoruz
Elbette “bulut” var, ama bir sunucu kiralayıp kendi şeyimi kendim barındırmamı engelleyen bir şey yok
İşler yolunda gitmezse oradan çıkarıp başka bir sunucu kiralayabilirim. Kilitlenme etkisi var ve kolay olmayabilir, ama imkânsız değil
Uygulama ekosisteminin tamamına bakınca yalnızca 2 seçenek var ve kelimenin tam anlamıyla onların insafına kalmış durumdasınız
Kişisel olarak asla tüm işimi tek bir “uygulama”ya bağlamam. Kitle gerçekten istiyorsa küçük bir tamamlayıcı araç olarak bir uygulama olabilir, ama o kadar
Mobil cihazlarda bana uygulama dayatan ürünlerden hoşlanmıyorum. m.website.com gibi bir yaklaşımın geri dönmesini tercih ederim ve tüm uygulama ekosisteminden kaçınmak isterim
Bir gecede, herhangi bir nedenle ya da nedensiz şekilde “HN ana sayfasında yardım dilenmek zorunda kalan” biri hâline gelebilirsiniz
AB’deki yeni sideloading akımının ABD’de de benzer talepler doğurmasını diliyorum, ama aynı zamanda “kapalı bahçe” ya da “sideloading”in ne anlama geldiğini bilen ve bunu önemseyen yeterince çok insan olması gerektiğinin de gayet farkındayım
Web teoride harika, ama tarayıcı ortamı fazlasıyla yalnızca temel şeyleri sunan bir yapıda olduğu için, Apple platformlarındaki gibi pilleri dahil bir geliştirme deneyimine alışkınsanız bir uygulama platformu olarak pek cazip değil
macOS’te güçlü ve rafine bir uygulama bile bağımlılıkları ve alt bağımlılıkları bir elin parmaklarını geçmeyecek şekilde, biraz çabayla hiç bağımlılık olmadan bile geliştirilebilir
Buna karşılık eşdeğer bir web uygulaması, işlev boşluklarını doldurmak için onlarca ila yüzlerce bağımlılığa sahip olur
Örneğin tarayıcının, JavaScript’i hiç kullanmadan ya da son derece az kullanarak hücreleri verimli biçimde yeniden kullanan yerleşik bir liste/tablo görünümü sunamaması için bir neden göremiyorum
Yüzlerce ila binlerce öğe arasında gezinirken cihazın takılmamasını ya da belleğin tükenmemesini sağlamak nadir bir ihtiyaç değil
AppKit, UIKit, SwiftUI, Android Framework, Compose ve muhtemelen Flutter’da bile bu varsayılan olarak iyi yönetiliyor; tarayıcıda ise bu son derece temel özellik için bir kütüphane çekmeniz ya da kendi kodunuzu yazmanız gerekiyor
Buna paket yönetimi ve genel araç sorunları da eklenince, çözümler gelip geçerken aynı temel problem inatla yerinde kalıyor
15 yıl öncesinden beri epey iOS/iPad uygulaması da yaptım
Web’in iyi yanı, genellikle ihtiyacınıza uygun bir kütüphane ya da framework bulunmasıdır. Electron buna örnek
Apple tarafında çoğu zaman iyi kütüphaneler yok ve SwiftUI fazlasıyla hatalı
React sadece düzgün çalışıyor ve kavramsal olarak da daha basit. Çift yönlü veri bağlama kötü bir fikir
Apple her şeyi daha basit hâle getirdiği fikrine sahip, ama pratikte çoğu zaman işleri daha zahmetli ve zor yapıyor
Tablo, sunucuda gereken verilerle ve doğru sırada zaten doldurulmuş durumda
Bu yüzden hücreleri ve satırları yeniden kullanmaya gerek yok; binlerce satır olsa bile veri KB düzeyinde olduğundan hızlı çalışıyor
WebAssembly ve Flutter gibi alternatifler de hesaba katıldığında, tarayıcının yerleşik özellik eksikliği artık sorun olmamalı
Geliştiricilerin Apple’a hiçbir katkı sağlamadığı doğru değil bence
iPhone’da üçüncü taraf uygulamalar olmasaydı Apple çok daha az telefon satardı
Teorik olarak birçok uygulama web’e taşınabilir, ama yine de üçüncü taraf uygulamaların iPhone’u sahip olunmaya çok daha değer kıldığı gerçeği değişmez
Gerçek rekabet olduğunda işletim sistemi üreticileri geliştiricileri çekmek için çok çalışır. Eski Ballmer’ın “developers developers developers” videosunu hatırlamak yeterli
Çünkü geliştiricilerin platforma değer kattığını ve tüketici tercihlerini etkilediğini bilirler
Bugünkü sorun anlamlı bir rekabetin olmaması
Apple’ın kuralları ne olursa olsun geliştiriciler iPhone için bir şey sunmak zorunda ve Apple da üçüncü bir mobil platformun tutunma ihtimalinin neredeyse olmadığı konusunda rahat olabilir
Apple bunu biliyor ve katı politikalarla durumu acımasızca tersine çevirmiş durumda
Geliştiriciler iPhone’u sahip olunmaya değer kılmada büyük rol oynasa da Apple, iPhone müşterilerine erişmelerine izin veriyormuş gibi bir lütufta bulunup tüm gelir üzerinden vergi alıyor
Bu pazar konumunun kötüye kullanılmasıdır ve blogun dediği gibi web üzerinden dağıtım yapmak dışında yapılabilecek fazla bir şey yok
Mükemmel değil, ama düzenleme dışında anlamlı tek alternatif bu; Apple da uygulama geliştiricilerden vergi alarak elde ettiği milyarlarca dolarlık gelirden kendi isteğiyle vazgeçmeyeceği için düzenlemeden kaçınmak adına her türlü yolu deneyecek
Web’in istismarcı uygulama dağıtım kurallarından kaçınmanın bir yolu olarak güç kazanmasını umuyorum
Her gün web’in ne kadar harika olduğunu ve Apple’ın geliştiricileri web uygulamaları yerine iOS uygulamaları yapmaya yönlendirirken web’i olabildiğince bozmak istemesinin ne kadar üzücü olduğunu düşünüyorum
App Store olmasaydı web çok daha iyi olurdu
İçerik tüketiminde, sosyal medya kaynaklarında, algoritmik önerilerde ve dijital deneyimlerde daha fazla çeşitlilik olurdu
Web her yerde çalışır ve WebXR gibi sürükleyici/yeni nesil uygulamalar oluşturmak için çok sayıda harika API’ye sahiptir
Ama biri kendi sitesinde bir WebXR uygulaması yapıp ücretli satsa bile Apple bundan para kazanmayacağı için Apple bu tür web uygulamalarını asla öne çıkarmaz
Uzun vadede web ölmez. Şirketler gelir, kârı çekip çıkarır ve gider; ama web ölmez
Apple, platform geliştirmeyi kolaylaştıran binlerce API sunuyor, platformuyla iyi bütünleşen kendi programlama dilini yaptı ve bu ikisiyle birlikte çalışan tamamen entegre bir IDE’ye de sahip
Doğru, “dostum”. Kendi platformları için geliştirme yapmadığın sürece seni umursamıyorlar
Hem onları kim suçlayabilir ki? Yukarıdakiler inanılmaz pahalı ve çok zaman alan yatırımlar
Swift ve Apple araçlarını kullanmadan macOS’te doğrudan uygulama geliştirmeyi denedim; tam bir işkenceydi
Kendi araçlarını dayatmaktan başka açıklaması zor bir şekilde OpenGL’i terk edip sürümünü dondurdular
Dışarıdan tek bir DLL yüklemek bile neredeyse imkânsızdı
Vulkan’ı Metal’e çevirmek gibi, çapraz platform olan ne varsa Apple araç ekosistemine inmek zorunda
macOS, tüm Linux dağıtımlarından bile daha sıra dışı ve özel bir durum
Windows geliştirmesinin ne kadar kolay olduğunu görünce şaşırıyorsun. Microsoft tarafında neredeyse her şey çapraz platform
Bahsettiğin Apple şeylerinin hiçbiri platformdan bağımsız çalışmaya izin vermiyor
Buna karşılık Windows, DirectX gibi kendi teknolojilerini de destekliyor ama Vulkan, OpenGL vb.’yi doğrudan çalıştırmaya da izin veriyor
Ama yazarın müzik uygulaması üzerinde çalışırken bu işe girmiş olması önemli. Apple’ın ses API’leri tam bir karmaşa
Media Player, AVPlayer, Core Audio, AVFoundation, AVAudioEngine gibi NeXT dönemine kadar uzanan rakip ekipler sanki her biri kendi kütüphanesini kullanmış ve bir şekilde hepsi iPhone çağına kadar hayatta kalmış gibi
COVID kapanmaları sırasında bir Shoutcast/Icecast oynatıcısı yapmaya çalışarak yaklaşık üç ay geçirdim; gerçekten acı vericiydi
iOS’ta çalışan yerel çapraz platform kod yazmayı fiilen imkânsız hale getirdiler ve web uygulamalarının yerel uygulamalarla rekabet etmemesi için siyasi sınırlar içinde yapabilecekleri her şeyi yaptılar
Yazarın büyük şirketlere karşı sağlıklı tutumunu beğendim. Modern çağın temel hayatta kalma becerisi
Elimde olsa iPhone veya iPad’e hiçbir uygulama yüklemek zorunda kalmamayı isterdim, ama platform kısıtları yüzünden pratikte gerekli oluyor
Safari’de X/Twitter web uygulamasının video oynatmadığını gördüm; X için Lockdown Mode’u kapatmama rağmen böyleydi
Bunun platform uyumsuzluğunu yaratan Apple’ın suçu mu, yoksa kullanıcıya uygulama kurdurmak isteyen X’in niyeti mi olduğunu bilmek isterdim
Ben derin öğrenme ve LLM konusunda uzmanım ama web geliştirmeden de hep keyif aldım
Ayağa takılan şey, araçların fazla karmaşık olması
Yine de tanıdığım biri ClojureScript + Dart hakkında çok yazıyor, o yüzden bir denesem mi diye düşünüyorum
Birkaç gün içinde öğrenilebilecek ve iyi desteklenen basit bir web uygulaması stack’i bulmak istiyorum; öneri olursa iyi olur
Web geliştirmenin önemli bir kısmı tarayıcıyı iyi bilmektir; web.dev bu konuda harika bir kaynak
Sonra React + TypeScript öğrenebilirsin. Yeni react.dev de iyi
React mükemmel değil ama UI yapmak için paradigma olarak o kadar iyi ki Apple bile SwiftUI’ı yaparken onu örnek aldı
Vite’ı alıp kodlamaya başlamak yeterli
En çok önereceğim şey, o kaynakları düzgünce çalışman. Dokümanların ilk sayfasından başlayıp sonuna kadar adım adım takip etmek gerek
Ancak birkaç günde öğrenilebilecek fazla bir şey yok. Frontend işi, haklı nedenlerle zordur