gulpjs

AngularJS Bootcamp Etkinliğinin Ardından...

Konu:

Geçtiğimiz haftasonu AngularJS Bootcamp etkinliği için İstanbul'daydım.

İlk gün salon tıklım tıklımdı. Pek çok katılımcı koltuk yetmediği için yere oturmak durumunda kaldı ve bildiğim/duyduğum kadarıyla da pek çok kişi kalabalıktan dolayı vazgeçip geri döndü. Görünüşe ve bahsedilene göre kimse böyle bir katılım beklemiyordu.

AngularJS hakkında pek bilgili sayılmam. Yaklaşık sıfır bilgi ile etkinliğe gittim. İlk gün anlatılanlardan "directives" konusu haricindeki konular başlangıç için iyi ve öğretici oldu. Directive konusu ise bence biraz daha sonra ele alınması gereken bir mesele olabilirdi. İlk günün sonunda AngularJS hakkında fikrim ve bilgim oldu. Fakat tabii ki pek çok mevzuu havada kaldı diyebilirim.

İkinci gün ise yoğunluk (duyduğuma göre ALES'in de etkisiyle) azalmıştı. Yine de salon -yer yer boşluklar olsa da- doluydu diyebilirim. İkinci gün "Profesyoneller günü" olarak adlandırılmıştı. O gün genel olarak piyasada önemli önemli yeri olan şirketlerde çalışan geliştiricilerin AngularJS hakkındaki tecrübe ve yorumlarını dinledik.

Aslında ikinci günün içeriği daha çok, başka teknolojilerin AngularJS ile birlikte nasıl çalıştığı gibi genel bir hava olsa da bana göre AngularJS haricindeki şeylerden bahsedildi. Örneğin Serkan Sökmen'den gelen ilk sunum "Famo.us - AngularJS entegrasyonu" adı altındaydı fakat bence Famo.us anlatıldı diyebilirim. Yani AngularJS ile pek bir alakası yoktu. Diğer sunumlarda da Angular'dan ziyade diğer konular hakkında bilgi verilmiş oldu.

Bana göre her etkinlik/seminer/dersin sonunda anahtar kelimeler önemlidir. Bunlardan yola çıkarak bilgimizi arttırabilir ve tecrübe kazanırız. Bu yüzden etkinliğin detaylarına daha fazla girmeyip bana göre önemli noktalara değineceğim.

- AngularJS bir framework olarak adlandırılıyor. Genel olarak Backbone ya da jQuery ile karşılaştırılsa da, önemli fark diğerlerinin kütüphane olması. Bu yüzden diğer araçlar neyi nasıl yapacağınız hakkında daha genel şeyler sunarken Angular size bazı yolları zorunlu kılıyor.
- AngularJS zaten önemli bir trend oluşturan Single Page Application modelini benimsiyor. Bu yüzden her bir görünüm için ayrı html sayfalar yerine sitenin (ya da uygulamanın) tümü tek sayfa üzerinde çalışıyor.
- AngularJS'de Scope önemli bir yer taşıyor. Two-way-binding dedikleri olay ile, sayfada gördüğünüz ile görünenin DOM'daki karşılığı çift yönlü bağlanmış oluyor. jQuery'de selector vasıtasıyla yapılan değişiklikler yerine Angular scope'da değişikliğe giderek geliştiriciyi DOM'dan biraz soyutluyor.
- Ionic Framework ile mobil tarafında da hybrid yapıda uygulamalar geliştirmek mümkün. Tabiiki bir AngularJS etkinliğinde AngularJS ile çalışan Ionic Framework'ün performans konusunda ileri seviyede olduğu iddia ediliyor (mobil konusu benim konum değil şu anda, o yüzden iddiayı doğrulama ya da yalanlama girişimde değilim)
- NodeJS ile de back-end/sunucu taraflı uygulamalar geliştirme konusunda güzel paylaşımlar yapıldı. MEAN adlı kompil çözüme değinildi.
- Bu sırada geliştirmeler sırasında otomatizasyon sağlayan, zaman kazandıran araçlar olan Bower, Grunt ve Yeoman'dan bahsedildi. Her ne kadar üçünü de duymuş olsam da geniş kapsamlı bilgim yoktu. Anladığım kadarıyla;
-- Bower frontend/önyüz için package manager (NodeJS için NPM gibi ya da Java için Maven gibi ~ )
-- Grunt, JS için belli işlemleri (task'ları) belli zamanlarda yapan bir araç (task runner demişler)
-- Yeoman ise yeni bir projeye başlarken gerekli şeyleri hızlı bir şekilde size sunan bir araç.

- Önyüz gerekli ama arkaplanda da verilerin tutulması ihtiyacını karşılayan bazı servisler var. Bunlardan ikisi Parse ve Firebase. Parse konusunu kaçırdım fakat Firebase'den anladığım kadarıyla, veri tutmak konusunda "ne hammallık yapıcam, beyin bedava" diyerek verileri Firebase'de tutabiliyorsunuz. O kadar ki, sunucu tarafına ihtiyaç kalmayabiliyor. Bu servislerin JS adaptörleri sayesinde, istemci tarafındaki kod üzerinden verileri saklayıp okumanızmümkün hale geliyor. Uygulamanızı da istemci tarafında bu şekilde kurguladığınızda ekstra bir sunucu teknolojisine ihtiyaç duymadan uygulama geliştirebiliyorsunuz. ( http://nobackend.org/ belki de...)

- Otomasyon konusunda Grunt yanında GulpJS adlı da bir araç mevcut. Son yorumlara göre, yeni bir projeye başlayacaksanız Gulp daha çok tavsiye ediliyor.

Etkinlikle alakalı olarak da şahsi yorumlarımı çok olumsuzluğa girmeden eklemek istiyorum (evet galiba çok olumsuzluğa gireceğim);

"Bootcamp" deyince daha fazla workshop tarzı bir etkinlik bekliyordum. Elbette bu kadar katılımcıya yer ayarlamak zor fakat değil bilgisayar açmak, internetin bile olmadığı (wifi olarak katılımcılara sunulmadığı) bir ortam yürekleri burktu.

Sunumlar arasında çok iyi hazırlanılmış olanlar da vardı, (belki vakit darlığı ya da iş yoğunluğundan dolayı) hızlı geçiştirilenler de. Sonuçta sunum yapmak önemli bir mesele. Fakat belki bu şekilde bir katılım beklenmediğinden eksikler olmuş olabilir diye düşünüyorum. Etkinliğe dinleyici olarak katılmış olan Daron Yöndem de kötü bir sunum ardından sunumu eleştiren bir twit atmaktan kendini alamamış. (kaynak vermiyorum ki heyecanla araştırın :p )

Kötü manada söylemiyorum, çok sağlam bir VNGRS reklamı gördük. Tabii ki etkinlik organizatörü olarak kendi kimlikleriyle ön plana çıktılar, yapılan işi takdir ediyorum. Fakat bir taraftan da bakınca olaylar AngularJS etrafında değilmiş de konuşmacıların konuşacakları konulara zoraki olarak AngularJS sıkıştırılmış gibi göründü gözüme.

Neyse daha fazla olumsuz yorum yapmak istemiyorum :)

Bunun yanında ikramlar güzel düşünülmüştü, öğle yemeği zamanı pizza verilmesi gibi noktaların ince görülmüş olması sevindiriciydi (beleş peşinde koşuyor olabilirim ama ana mevzu bu değil :) )

Tüm etkinliğin sonunda, AngularJS konusunda gayet gaza gelmiş bir şekilde Ankara'ya ulaştığımda yazılım konusunda fikirlerine çok değer verdiğim bir arkadaşım Angular'ın vaktinin artık geçtiğini ve yeni trendin Facebook'un geliştirdği React olduğunu söyledi. Bu sayede zaten iş yoğunluğundan kısa zamanda kaçacak olan hevesimin/gazımın kaçmasına hız kazandırmış oldu, kendisine teşekkür ediyorum :)

Yazıda yanlışım ya da eksiğim varsa düzeltirseniz memnun olurum. Eklemek istediklerinizi de yazabilirsiniz.

Görsel kaynaklarım:
https://twitter.com/topukluyazilimc/status/536085393574469632
http://publications.factorynine.co/en/workflow-of-a-lazy-webdeveloper-an...

Subscribe to RSS - gulpjs