And Çetin
Programlama için Windows mu, Mac mi?

Programlama için Windows mu, Mac mi?

Bu sorunun aslında oldukça basit bir yanıtı var:

Mac üstünde web ya da Android için uygulama geliştirebilirsiniz, ama Windows üstünde iOS için uygulama geliştiremezsiniz.

Evet; Windows üstünde MacOS kullanabilmenizi sağlayan birtakım emülatörler var fakat bunlara Xcode (iOS uygulamalarını geliştirdiğimiz yazılım) kurup çalıştırmanız neredeyse imkansız, yavaş ve ilkeller.

Evet; Windows üstünde Flutter kullanarak aynı anda hem iOS, hem Android, hem de web için uygulama geliştirebilirsiniz – daha önce değinmiştik hatırlarsınız. Fakat amacınız native, yani işletim sistemine mahsus uygulama yazmaksa, Mac'e mecbursunuz.

Dolayısıyla, dünyadaki 1,6 milyar Windows kullanıcısından biriyseniz, programlama öğrenme hevesinizin size bir MacBook parasına patlayıp patlamayacağını, iOS uygulaması geliştirmek isteyip istemediğiniz belirleyecek.


OS-geçmiş


13 yaşımda bilgisayar kullanmaya başladım ve 20 yıl boyunca Windows'tan başka işletim sistemine elimi sürmedim. Apple ürünlerinin popülaritesinin gitgide arttığı yıllarda da, markaya karşı hep önyargılı oldum ve antipati duydum – bilindik konular: Kendi yan ürünlerini ve bağlantı türlerini dayatmaları, amansız tekelleşme çabaları, aşırı yüksek fiyat politikaları, züppe tavırları...

2017'de kod yazmayı öğrenmeye başlamamla beraber, baştaki sepeblerden ötürü ilk Mac'imi (2012 model, kullanılmış bir 15" MacBook Pro) ve iPhone'umu (ilk nesil SE) satın aldım. Senelerin alışkanlığından ötürü, tüm dosyalarımın yer aldığı notebook'umu da (2015 model bir HP Spectre x360) hep yanında tuttum ve kod yazma haricindeki hemen tüm ihtiyaçlarım için, eski bilgisayarımı kullanmaya devam ettim.

Ardından, 2019 sonunda sıfır bir MacBook Pro'ya terfi ettim. Bugün eski dizüstümün kapağını yalnızca HDMI çıkışına ihtiyaç duyduğum zaman açıyorum, Android'iyse sadece uygulamalarımı test etmek için kullanıyorum.


Aklın yolu Mac


Fark ettiyseniz formamı üstüme geçirip çoktan tezahürata başladım.

Bu kadar yaygın kullanılıp muadillerinden bu kadar kötü olan Windows'tan başka bildiğim tek ürün, Seat Leon mk3.

Mesele hardware olduğunda, Mac'lerin işçilik ve malzeme kalitesine çok yaklaşan laptop'lar mevcut. Fakat iş software'e gelince, MacOS'in Windows'a üstünlükleri saymakla bitmeyecek, ayrı bir makale konusu. Bir yazılımcı olarak, şu an ne zaman PC'mi açmak zorunda kalsam, açılış süresi haricindeki hemen her konuda saçımı başımı yoluyor ve böylesine vasat bir işletim sisteminin bu kadar yayılmış olmasına şaşıp kalıyorum.

Konu oyunlar olduğundaysa, herkesin bildiği üzere Windows'un tartışılmaz bir optimizasyon ve performans üstünlüğü var. Mac'te bunun üstesinden gelmenin tek yolu, en azından Radeon Pro Vega'lu bir 2019 MacBook Pro alıp, üstüne Windows kurmak. Ancak bu şekilde bile güncel oyunlarda 60+ FPS yakalamakta zorlanacak ve oldukça yüksek bir bedel ödemek durumunda kalacaksınız.


Android vs. iOS


Konudan çok uzaklaştık ancak görüşümü merak edenler için: Benzeri bir üstünlüğün bu ikisi arasında olduğunu düşünmüyorum. Şahsen iOS'u yeğliyor olsam da, eğer Apple ekosistemine bu kadar bağ(ım)lı hale gelmemiş olsam, piyasada seve seve kullanacağım Android telefonlar mevcut.


Peki hangisi?


Eğer sonunda kod yazmak için bir Mac almaya karar verdiyseniz, önünüzdeki en önemli soru hangi yıl, model ve donanıma ihtiyaç duyduğunuz.

Genel olarak Apple ürünlerinin, hem donanımsal hem de yazılımsal olarak muadillerine göre çok daha uzun ömürlü ve geriye dönük uyumlu olduğunu belirterek başlayalım. Bu iyi haber, çünkü ille de sıfır bir Mac almanız (ve böbreğinizi satmanız) gerekmeyecek.

Kabaca, 5 yıllık bir MacBook Pro ya da 2-3 yaşında bir Air işinizi görecektir. Tek tek bileşen hesabı yapmanıza lüzum yok; 8 GB RAM'in altına inmeyin yeter. Yaşına ve elbette fiyatına göre, satın alacağınız cihazlar arasında iki temel fark gözlemleyeceksiniz: Compile süresi (kodunuzda yaptığınız değişikliklerin gerçekte nasıl göründüğünü ve çalıştığını tecrübe edebilmeniz için, simülatör açılana kadar geçen süre) ve pil ömrü.

İlkini, hele hele programlamayı henüz yeni öğrendiğiniz dönemlerde, dert etmenize gerek yok (zaten saatlerden söz etmiyoruz, en fazla 1-2 dakika beklersiniz). İkinci konuysa biraz çetrefilli.


Mac'lerin yumuşak karnı


Her elektronik cihazın pil ömrü zamanla azalır. Ancak Mac'lerdeki sıkıntı biraz farklı.

Kompleks bir kodu compile etmek için gereken enerji, standart medya tüketiminden çok daha yüksektir. Bilirsiniz, aynısı video render'ı için de geçerlidir: Bu tür işlemler, bilgisayarınızın pilini kana kana içer.

5 yaşındaki bir MacBook Pro, pilinin devir sayısına göre, standart kullanımda 1-1,5 saat dayanacaktır. İş kod yazmaya geldiğindeyse, bu rakamları unutun. Daha doğrusu, o Mac'i prize bağlamadan compile butonuna basmayı unutun.

Asıl sorunsa, daha yüzde 50'ye yakın piliniz olduğu gösteren Mac'inizin, compile'a bastığınızda birden güm diye kapanması.

Kapanmasa bile, %50 ibaresinin bir anda %5'e dönüşmesi sizi şaşırtmamalı. İşte bu nedenle, en yeni (ve pili taze) MacBook Pro'lar hariç, diğer hemen tüm Apple modelleriyle kod compile ederken cihazınızı prize bağlı tutmanız gerekiyor.

Neyse ki MacOS'un, 'save etme anksiyetesi'ni tedavi eden, son derece başarılı bir otomatik veri kaydetme sistemi var. Yani yukarıdaki gibi bir senaryoda emekleriniz heba olmuyor; Mac'inizi prize bağladıktan sonra, aynen kaldığınız yerden kodunuzu yazmaya devam edebiliyorsunuz.


iPhone'a ihtiyacım var mı?


Uygulamanızın bir telefonda nasıl çalıştığını gerçekten görmek ne kadar heyecan verici olsa da, Xcode hemen tüm iPhone modellerini simüle edebiliyor ve farklı ekran boyutlarında uygulamanızı test etmenize imkan tanıyor. Dolayısıyla bütçeniz kısıtılıysa hayır, iPhone almadan da iOS uygulaması yazabilir ve yayınlayabilirsiniz.

Aynı şekilde, eğer halihazırda Apple kullanıcısıysanız ve Android için uygulama geliştirmek istiyorsanız, simülatörler sayesinde fiziksel bir cihazınız olmadan da uygulamanızı önizleyebilirsiniz. Ancak not düşmekte fayda var: Android Studio'nun simülatörleri, zaman zaman gerçeğinden biraz farklı ve tutarsız sonuçlar verebiliyor. Tamı tamına arzu ettiğiniz tasarımı tutturmak için, her halükarda bilgisayarınızı bir Android telefona bağlayıp test etmenizde fayda var.

0 Yorum

Yorum Bırak