Her şey /r/MechanicalKeyboards'da gezerken bu fotoğrafa denk gelmemle başladı. Tabi ki kurulumun kime, ne kadar hitap edeceği ayrı bir konu ama vaktiyle "acaba bir tablet alıp üzerinde geliştirme yapabilir miyim" sorusuna ciddi vakit ayırmış biri olarak dikkatim hemen fotoğraf sahibinin nasıl bir ortamda geliştirme yaptığına kaydı.
Görüntüyü büyütüp tabletin ekranına baktığım zaman geliştirmeyi yerel cihazında değil Cloud 9 IDE üzerinde yaptığını gördüm. Uzun zaman önce bir defa denemiş olduğum bu ortama bir şans daha vermek amacıyla hemen bir araştırmaya girdim fakat gerek Java desteğinin oldukça yetersiz olması, gerekse Go desteğinin sıkıntılı olması sebebiyle vazgeçtim.
Bunun üzerine aklıma uzun zaman önce şöyle bir göz attığım, fakat IntelliJ IDEA kullanmaya başladıktan sonra bir daha ilgilenmediğim Eclipse Che projesi geldi. Oldukça devrimci ve iddialı olan bu proje özünde kullanıcılara Eclipse destekli bir geliştirme ortamını bulut ortamında çalıştırıp bir web tarayıcıya erişebildiğiniz her yerden geliştirme ortamınıza ulaşma imkanı sağlıyor. Bu sayede elinizin altında hangi cihazın olduğundan, ne kadar işlemci/bellek kapasitesi olduğu gibi kısıtlardan bağımsız olarak bir web tarayıcı çalıştırabildiğiniz her yerden geliştirme yapabiliyorsunuz. Üstelik benim son baktığım günden bu yana Docker ile de paketlenmiş olan Che'yi herhangi bir VPS üzerinde çalıştırmak komut satırında bir satır1 yazmaktan ibaret. Ardından mükellef bir geliştirme ortamı emrinize amade oluyor.
Bu tip sistemler, çalışma ortamıma istediğim yerden, istediğim cihazdan erişebilme fikri benim oldukça hoşuma gidiyor. Özellikle 2GB bellek sahibi bir sistemi aylık 3 USD gibi bir fiyata edinebildiğiniz bir devirde, geliştirme yapmak için "güçlü" bir bilgisayar ihtiyacının ortadan kalkması başlı başına bir avantaj olarak gözüküyor.
Tabi bunun yanında klasik dezavantajlar da yanında geliyor: Geliştirmeniz İnternet bağlantınıza bağımlı hale geliyor (ki özellikle uzun yolda kod yazmayı sevenleri hızla çileden çıkaracağını tahmin ediyorum). 2GB bellek ufak tefek kişisel projeler için yeterli olsa da özellikle yüzbinlerce satır kod içeren büyük projeler ile uğraşmanız gerektiği zaman kullanmanız gerekecek olan VPS'in maliyeti hızla hatırı sayılır bir etkene dönüşebiliyor. Bütün bunların yanında Eclipse'in genel olarak IntelliJ IDEA gibi ortamlara göre yetersiz kalan özellik kümesini de hesaba kattığımız zaman insanın aklı iyiden iyiye soru işaretleri ile kaplanıyor.
Siz bu konuda ne düşünüyorsunuz? Online geliştirme ortamları bu işin geleceği mi? Yoksa boşa kürek mi çekiliyor? Hiç online bir geliştirme ortamı üzerinde proje geliştirdiniz mi?
-
İsteyenler için sözkonusu satır:
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v /che/verisini/saklamak/istediğiniz/dizin:/data eclipse/che start
↩
İki yıl önce şimdi ismini hatırlayamadığım bir firma çıkıp "kardeşim millet niye oyun oynamak için canavar sistemlere para versin, bizim makinalar üzerinden oynasın, biz görüntüyü stream edelim" dedi. Aslında çok da iyi bir fikirdi ama Amerika'da bile internet hızı yeterli olmadı (Türkiye'ye üyeliği hemen kapadılar zaten).
Aynı şey işlemci ağır modelleme ve animasyon işleri için de geçerli, 6000$ lık makinayı tam verimle günün toplam 2 saati kullanabiliyoruz.
Bağlantı hızı geliştikçe sanırım hepimiz online ortamda çalışacağız eğer ki güvenlik konusu tam olarak çözülebilirse.
Adobe cloud ilk tanıtıldığında herkes online çalışacak deyince özellikle gizlilik anlaşması ile çalışanlar ayağı kalktı. Adobe "şu anda zaten herşey lokalde çalışacak" diye apar topar açıklama yapmak zorunda kaldı.
Aıkçası ben ilk adımda programcıların, sonra grafik tasarımcılar en son da 3d modelleme yapanlar online a geçeceğini düşünüyorum.