Web işine nasıl başlamalıyım ?

Yaz geldi, okullar da bitti, bundan istifade etmek isteyen genç arkadaşlar, yeni maceralara yelken açmak istiyorlar. Ne rahatsız bir giriş cümlesi oldu bu ya, başlık da güzel olmadı zaten :S Son zamanlarda asp.net nasıl öğrenebilirim, css nasıl örğenebilirim, php nasıl öğrenebilirim gibisinden sayısız şey görüyorum. İnsanlar da cevap veriyor, o siteye bak bu siteye bak, şu kitabı al vs.. Esasında bu arkadaşların öğrenmeleri gereken şey bence dinamik bir web sayfasını oluşturan temellerin neler olduğu. Adam php öğrenmeye başlıyor sonra bakıyor ki javascript diye bir şey de varmış ya da bakıyor ki arkadaş tasarım için css, html vs.. şeyler de varmış, aklı gidiyor ve her şeyden bir anda soğuyor ki bu gayet normal. Halbuki yapıyı kabaca bilse kendine yakın gördüğü kısımdan başlayabilir ve en azından karşısına zart çıkan x bir şeyi gördüğünde şaşırmaz. Dinamik bir web sayfasında neler var en kaba haliyle bir sıralayayım;

  1. Görsel kısım için: Css ve xHtml
  2. Kullanıcıyla etkileşim için: Javascript. Bu iş için 2. bir seçenek bulunmuyor. Web de kullanıcı tarafı denildiğinde aklımıza javascript gelecek. jQuery, Mootools vb.. şeyler hep javaScript kullanılarak geliştirilmiştir, ayrı bir dil değil, çatıdırlar(framework). Unutmadan ajax da aynı şekilde, ajax bir dil değildir. Buradan ne olduğuna bakabilirsiniz.
  3. Sayfaların dinamik programlanması: Hani php, asp vs.. deniliyorya bunlar o dinamik kısım için kullanılıyor. Yani kullanıcının gördüğü ama görmediği kısımlar :) Dinamik web sayfası için bu dillerden birini bilmemiz gerekiyor. Burada işin veritabanı ile olan kısmı için SQL bilgisine ihtiyaç duyuyoruz. Buna da bir madde açmak en iyisi.
  4. Veritabanı ile olan işlemler: Mysql, mssql yada farklı bir veritabanı için sql bilgisine ihtiyaç duyuyoruz. Başlangıç için select, insert, update ve delete işlemlerini bilmek yetebilir.

Burada asp.net için bir parantez açmak istiyorum. Asp.Net klasik asp yada php gibi bir dil değildir. Microsoft .Net framework unu kullanan bir web geliştirme teknolojisidir. Bu durumu benim gibi biri için kelimelere dökmek gerçekten çok zor. .Net platformunda birden fazla dilde (c#, j#, vb vs..) programlama yapmanız mümkün. Örneğin ben .net platformunda asp.net öğrenmeye c# ile başladım. Kendi web projelerimi rahatlıkla yapar hale geldim. Bir süre sonra windows uygulaması yazmam gerekti, hiç zorlanmadan kendime lazım olan uygulamayı aynı c# kodlarıyla yazabildim. Yani bir taşla iki kuş vurdum ! Sonrasında smart device lar için ufak bir çalışmam oldu ondada hiç zorluk çekmedim. Bu örnekleri çoğaltmak mümkün. Tabi şöyle de bir durum var, geliştirme yaptığınız ortamın kontrolleri farklılıklar gösteriyor ki bu da gayet normal. Kontroller le ilgili bilgiyi hiç zorlanmadan MSDN yada Google da rahatlıkla bulabilirsiniz. .Net ile uğraşırken kendinizi nesne yönelimli programlama (oop) veya object relational mapping (orm) gibi yapıların içerisinde bulabilirsiniz. Kısacası .Net candır :) Yukarıda kabaca durumu izah etmeye çalıştım, yol haritanızı iyi belirleyin, her şeyden biraz biraz bilmenizde bir sakınca yok ama bir konuda uzmanlaşmanız sizin için en iyisi olacaktır. Bu işlere bulaşırken şunu unutmayın, çok çalışmanız ve çok sabırlı olmanız gerekir. Bazen görüyorum 15 günde şunu öğretiyoruz, 30 dakikada bunu öğretiyoruz. Arkadaşlar bunlar tamamen hikayedir, böyle bir durum söz konusu dahi olamaz eğer bu işi adam gibi yapacaksanız senelerinizi gözden çıkartın, hepinize kolay gelsin :)