Apple Geliştiricisinin Alet Çantası
Yaklaşık 7 sene önce, ilk yazılım geliştirme ile ilgilendiğim senelerde, The Setup adında bir internet sitesi vardı, dijital dünyada işinin ehli insanların kullandıkları araçlar yazardı. O dönemde daha çok Ruby/HTML/CSS geliştiricilerini takip ettiğimden, tanıdığım birisinin röportajı yayınlandığında heyecanlanırdım, zira bir sürü yeni Mac uygulaması, yeni cihazlar, yeni araçlar öğrenirdim. Bu yazı da bu eksende, fakat sadece araçlardan ve uygulamalardan bahsedeceğim.
Kod yazdığım günlerde en az 1–2 defa başvurduğum, vazgeçemediğim uygulamalar, kategorileri ile birlikte:
Git
Tower — $69.00 (Öğrenci indirimi var)
Yurtdışındaki bazı iOS kurslarında ilk hafta baştan sona Git öğretiyorlar. Git’i iyi bilmeden yazılım dünyasına ayak uydurmak zor, bu nedenle çok akıllıca bir yaklaşım.
Geçen yıl Tower’ı deneyip nedense satın almamıştım. 1 ay önce tekrardan hatırladım. Mac’teki en güzel Git uygulaması. Her git komutu, en ince ayrıntısına kadar düşünülmüş. Herşeyi tek bir ekrandan kontrol etmek, daha az komut girmek hem ciddi zaman kazandırıyor, hem de hataları önlüyor (en azından benim için). Şiddetle tavsiye ederim.
Diff/Merge Aracı
Kaleidoscope — $69.99
Tower bir merge conflict anında kullanıcıya hangi diff aracını kullanmak istediğini soruyor. Listesinde 10’a yakın uygulama var ama Kaleidoscope eskiden beri bildiğim bir araçtı, sanırım görsel olarak da en güzeliymiş. Fakat ne yazık ki bir süredir güncellenmiyor ve OS X El Capitan’da sık sık çöküyor. Güncellenene kadar tavsiye etmem.
Dökümantasyon
Dash — Bedava (Pro versiyonu $24.99)
Yazılımcının vaktinin yarısına yakını dökümantasyon okumakla geçiyor. Dash neredeyse her programlama dili ve popüler frameworkün dökümanlarını isteğe bağlı indirip güncel tutmakla kalmıyor, aynı zamanda RubyGems, CocoaPods, StackOverflow(!) gibi sistemlere de bağlanabiliyor.
Aynı zamanda hemen hemen her text editörü ile de entegre çalışabiliyor. Tam ekran olarak her zaman yan ekranda açık tuttuğum bir uygulama.
Regex
Patterns — $2.99
Zaman zaman regex kullanmam gerektiğinde çok yardım ediyor.
Push Notification
Knuff — Bedava
Push Notification debugging aracı. Gidilecek cihazların tokenlarını girip, istediğiniz bildirimi gönderip, test edebiliyorsunuz.
HTTP Client
Paw — $49.99
Bir API’ye bağlanan her projemin bir .paw dosyası oluyor mutlaka. Tüm gidilecek endpointleri listeleyip, test ediyorum. Projede BasicAuth, OAuth2 gibi sistemler varsa tek tıkla ayarlaması, mevcut Postman dosyalarını okuyabilmesi (back-endciler genelde Postman kullanıyor), API’den gelen cevabı okunaklı şekilde formatlayabilmesi ve internetten indirilebilen modülleri sayesinde her türlü programlama dili ve framework için kod çıktısı verebilmesi Paw’u diğerlerinden ayıran özellikler. Vazgeçilmez.
Görsel Hazırlama
Prepo — Bedava
Apple cihazları arttırdıkça, hazırlanması gereken uygulama ikonu sayısı da artıyor. Prepo ile 512x512 olarak hazırladığım ikonu hedeflediğim cihazlar ve iOS sürümleri için gereken versiyonlarını tek tıkla kaydedip projeye ekliyorum.
PaintCode — $99.99
Ekran çözünürlüklerinin artmasıyla, uygulamada kullanılan her görselin normal, @2x ve @3x versiyonlarının kaydedilmesi gerekiyordu. Her ne kadar Xcode PDF desteği eklese de, ikonların cihaz tarafından çizilmesi hem uygulama boyutu açısından, hem de yüzlerce ikon arasında kaybolmama açısından faydalı. PaintCode da tam olarak bunu yapıyor. SVG/PDF olarak eklediğiniz vektörel ikonları, UIBezierPath ile çizim kodu ve bu çizim kodunu UIImage objesine çeviren metodları tek bir dosya altında projenize kaydediyor. Son sürümünde birçok çizim özelliği ekleseler de, Sketch’i tahtından edebileceğini düşünmüyorum. Ben sadece kod çıkışı almak için kullanıyorum.
Animasyon
Quartz Composer + Origami — Bedava
Her animasyon kodunu yazdığımda, uygulamayı çalıştırıp o animasyonları test etmek ciddi bir vakit kaybına yol açıyor. Animasyonları uygulamadan ayrı bir şekilde prototiplemek, hem ince detayları iyice gözden geçirmeye, hem de yazılacak olan kodun tekrar tekrar planlanmasına yarıyor. Prototipleme araçları arasında ciddi bir savaş var, fakat iOS geliştiricisi olarak benim tercihim Apple’ın QuartzComposer programı ve üzerine Facebook’un geliştirdiği Origami eklentisi ve IDEO tarafından geliştirilen Avocado eklentisi. Tercih sebebim basit aslında; QuartzComposer’daki parametrelerin neredeyse tamamı kodlarken kullandıklarımla aynı. Görsel bir şekilde, hangi parametreyi ne şekilde neye bağlamam gerektiğini görebiliyorum. Flinto for Mac de çok iyiymiş, yakın zamanda onu da test edeceğim.
QuartzCode — $89.99
QuartzCode Flash benzeri bir animasyon aracı. Bir timeline üzerinde vektörel objelere animasyonlar ekleyip bunun kod çıktısını alabiliyoruz. Fakat çözünürlükten ve konumdan bağımsız değil, verdiği kod tamamen piksel hesaplamalara dayanıyor, yani çöp. CAAnimation kodu yazanlar bilirler, çarşaf çarşaf kod yazılır, en azından QuartzCode ile bu kodun %80’ini yazmaktan kurtuluyorum, hem de nasıl çalışacağını görüyorum. Sonrası biraz modifiye.
View Debugging
Reveal – $89.99
Reveal olmadan nasıl geliştirme yaparım bilemiyorum. Normalde saatler sürebilecek hataları saniyeler içerisinde tespit etmemi ve çözmeme yarıyor. Bir nevi iOS için Chrome Dev Tools/Web Inspector diyebiliriz. Tüm arayüz hiyerarşisini 3 boyutlu olarak gösteriyor, her objenin parametreleriye oynayıp sonucu canlı görebiliyorsunuz. Xcode da bunu eklemeye çalıştı fakat bir hayli kötü çalışıyor. Yeni versiyonu çıktı çıkacak.
Renk Seçme
ColorSnapper 2 – 8.82€
Renk seçimi aracım. Birçok alternatifi var aslında, ama ilk versiyonu çıktığından beri kullanıyorum, hiç sıkıntı çıkarmadı. Her türlü dile renk çıktısı verebiliyor ve renkleri favorileyebiliyorum.
To-Do uygulaması
2Do — $49.99 (Mac) — $14.99 (iOS) — 8.58₺ (Android)
Şimdiye kadar çok to-do uygulaması kullandım, ama bu bambaşka. Burada anlatmaya çalışsam paragraflar sürer, öyle ki 2Do’nun detaylı bir inceleme yazısı 5 dolardan PDF olarak satın alınabiliyor. Uygulama son derece detaylı, bir o kadar basit. Her “şu özellik de olsaydı” dediğinizde ilk denemenizde karşınıza o özelliği çıkartan bir uygulama. Mac versiyonunu deneyebiliyorsunuz.
Bunların haricinde severek kullandığım Xcode eklentileri:
IBUnfuck — https://github.com/Reflejo/IBUnfuck
OMColorSense — https://github.com/omz/ColorSense-for-Xcode
RealmPlugin — https://github.com/realm/realm-cocoa
XToDo — https://github.com/trawor/XToDo
KSIMageNamed — https://github.com/ksuther/KSImageNamed-Xcode
Lin — https://github.com/questbeat/Lin
Her türlü öneriye, “ben şunu kullanıyorum senin kullandığın x yerine” tarzı tavsiyelere açığım. Bana Medium veya Twitter üzerinden ulaşabilirsiniz. Recommendleriniz eksik olmasın :)