22 Haziran 2014 Pazar

IDE ve Sürüm Takip Sistemi Tecrübelerim Üzerine

Yazmadım uzun bir süredir,
Yazma fırsatı bul(a)madım.
Hayat çok kısa be azizim.
Kuşlar uçuyor,
Londra düşüyor,
Falan.
Biraz da kalpazanlık.

Akıp giden bu zamanda, yaklaşık 3-4 ay gibi bir süreyle iki ayrı proje geliştirdik. Bunlardan biri C# diğeri ise Java EE projesiydi. Edindiğim bazı tecrübeleri sizinle de paylaşmak istiyorum. Olur ya belki birinin işine yarar.

İlk tavsiyem tek başına birşeyler geliştiriyor bile olsanız mutlaka sürüm takip sisteminin nimetlerinden yararlanın.


C# projesini VS2013 ile geliştirdik. IDE olarak Visual Studio'yu hep çok beğenmişimdir. VS2013'de ise Microsoft, bulut entegrasyonunu mükemmel bir şekilde tamamlamış. Geliştirici oldukça kolay bir şekilde bütün kaynaklarına erişebiliyor. Sürüm takibi için ise yine Azure üzerinden Team Foundation Server (TFS) kullandık. Visual Studio Online'ın (VSO) sitesinden azami beş kişiye kadar ücretsiz TFS kullanabiliyorsunuz. Bu gerçekten çok iyi olmuş. Zira bizim ekip de beş kişiydi.

Projenin başlarında elimizde bulunan bir hediye kuponu vasıtasıyla iki ay bütün özellikleri ücretsiz kullandık. O zaman hayat güzeldi. Sonra "zalım" Microsoft hesabımızın özelliklerini düşürdü. Ancak dediğim gibi beş kişilik bir ekip bazı özellikler haricinde genel özelikler ile Azure üzerinde TFS kullanabiliyor. Grup sohbeti ve kodların bulutta derlenmesi gibi özellikler kapatılıyor galiba. Yamuluyorsam düzeltin.

Azure konusunda genel izlenimim gerçekten çok iyi bir altyapı sağladığıdır. Özellikle Microsoft teknolojilerine aşina iseniz. Tabi Microsoft, Azure'da beklenenin aksine Python, bazı Linux dağıtımları, Git vs. desteği de veriyor.

Bizim için VS2013 + TFS birleşimi adeta bir şifa niteliğindeydi. Adettendir, bir grup ortak şekilde kod geliştiriyorsa mutlaka çakışma olur. Ancak bunu sorun etmiyorsunuz. Çünkü çakışmaları çözmek VS ile gerçekten çok kolay. Genel olarak bu süreçte hiçbir problem yaşamadım. Birçok artısı vardı. Ama eksilerini söylemeden de olmaz. Grup sohbeti ancak VSO'nın sitesinden yapılıyor. Bu gerçekten kötü olmuş. Çünkü VS'den tarayıcı ekranına dönmek gereksiz zaman kaybı oluyor. Codeplex'de bu sohbeti VS içine yerleştiren bir eklenti vardı. Maalesef ben denediğimde sorunluydu. Bir daha da kontrol etmedim. Kısacası bu geliştirme süreci gerçekten keyifli geçti.

Gelelim diğer projeye. Diğeri bir Java EE projesi olduğu için Eclipse + Git birleşimini kullanmayı tercih ettik. Git sunucusu olarak yine Azure'u kullandık. VSO üzerinden yine dediğim özelliklerde Git sunucusu oluşturabiliyorsunuz.

Microsoft'un diğer teknolojilere bakışını değiştirmesi doğru bir düşünce olmuş. Günümüzde size bulut hizmeti sağlayan birçok firma var. En başlarında da -bence- Amazon Web Services (AWS) gelir. AWS, elbette çok profesyonel ve belki biraz da pahalı görünüyor. Ücreti mukabilinde size sunmadığı hizmet yok. İlk başlarda AWS altyapıyı hizmet olarak sağlıyor (Infrastructure as a Service - IaaS) gibi görünse de şu an platform olarak servis sunma (Platform as a Service - PaaS) modeline doğru evrilmiş durumda. Artık size yük dengeleyici (load balancer), güvenlik duvarı (firewall) vs. gibi şeyleri de sunabiliyor olması gerçekten mükemmel. Bu sebeple bence AWS'yi IaaS ile PaaS arasında bir yerde görmek daha doğru olur. Bir süredir ufaktan onunla da haşır neşir olmaya başladım.

Bizim "e-ticaret" sitelerimiz daha ticaret yapmayı bilmiyorken, müşteriye gerekli değeri vermeyip kendilerine zaten mecbur olduklarını düşünüyorken; ilk başlarda kitap satan, dünya çapında sorunsuz ticaret yapabilen, bugün kendi e-kitap okuyucusunu, tabletini ve hatta telefonunu yapan adamların 2006 yılında herkes buluttan bir haberken AWS'nin kurdelesini kesmesinin tesadüf olmadığı yadsınamaz bir gerçek. Bizimkiler de hala doksanlardan kalma, birçoğunun doğru düzgün güvenliğini bile sağladığını düşünmediğim sitelerle bir günde bilmem kaç ürüne indirim yapacağız gibi "parlak" bir fikre sahip olsunlar. Her ne kadar kullanıcı görüşlerini önemseyerek iş yapıyor olmasalar da ticarette sınırların kalktığı bir dünyada birçoğu kendilerine rekabet bile edecek alanı bulamayacaklardır diye düşünüyorum. Ancak bizi sömürmek için biraz daha zamanları var.

Nereden nerelere geldim. Mevzuya geri dönecek olursak; Eclipse, çok ciddi bir topluluk desteğini arkasına alıyor. Ancak açıkçası ben Git ile bütünleşik olarak kullanırken o kadar çok sorun yaşadım ki, bunlar özellikle de çakışmalardı, sorunları çözmem kodlamadan daha uzun sürmüştür. VS'den alıştığım rahatlığı Eclipse'de bulamadım. Eclipse topluluğuna saygı duyuyorum beni şimdi afaroz etmesinler ancak gerçekten berbat tecrübelerim oldu. Çoğu zaman son zamanların gözde firması Jetbrains'in IntelliJ IDEA'sına kaçtım. Eclipse ile ömür geçirenlere Allah kolaylık versin diyor, bazılarının neden IntelliJ IDEA'ya yöneldiklerini gayet iyi anlıyorum. Eclipse kullanmamın ana sebebi de bazı zorunluluklar olmasıydı. Ortamlarda Eclipse'de yazdım dersin kim bilecek.

Kısaca tecrübelerimi aktarmaya çalıştım. Umarım birilerine faydası olur.
"Mükemmel şeyler yapamıyorsanız, küçük şeyleri mükemmel bir şekilde yapın."

Hiç yorum yok :