Bir web sitesinin tasarımdan kodlamaya görünüm ve işlevsel özelliklerini oluşturmaya veya yeni özellikler katmaya “Web Geliştirme” diyoruz. Web geliştirme bir kaç adımdan oluşur. Yeni bir site yaparken veya varolan bir siteye yeni özellikler eklerken benzer yollar izlenir. Fakat geliştirme ve değişiklikler nerede yapılacaksa o bölüme bakan uzman işi üstlenecektir.

Web Geliştirme’nin Aşamaları

Web Geliştirme birkaç aşamadan oluşur. Sitenin amacına ve özelliklerine göre aşamalar detaylandırılabilir. Genel olarak bakacak olursak web sitesi, amaç ve planlama, tasarım, ön yüz kodlama (tasarım kodlama), back end geliştirme ve test-analiz süreçlerinden oluşur.

1. Amaç ve Planlama

Bir sitenin zihinlerimizde ve kağıt üstünde planlanması aşaması aslında en önemli adımdır. Pek çok web sitesi bu aşamanın hakkını veremediği için kodlama sürecinde rafa kaldırılmış, verilen emekler çöpe gitmiştir. Bu yüzden bu adımda detaylı düşünmek ve araştırma yapmak önemlidir.

Bir web sitesinin amacı nedir? Kişisel bir blog sitesi veya kurumsal iletişim sağlayacak küçük ve orta ölçekli bir site olabilir. Başka pek çok seçenek olabilir. Mesela randevu sistemi olacak mı? Bir psikolog veya doktor için bu gerekli olabilir. Sadece bir ürün veya ürün grubunun tanıtımını yapma amacı olabilir. Ürünler veya hizmetler için teknik destek sistemi yapmak isteyebiliriz.

Bir portal, forum, blog veya faydalı içeriklerin paylaşıldığı, mesela ücretsiz programlar, kitaplar, videolar, ses dosyaları gibi bir sistem olabilir.

E-ticaret sitesi yapmak istiyorsak ölçeğinin ne olacağına karar vermemiz gerekir. Geniş bir portal şeklinde mi olacak yoksa dar bir ürün grubunda az sayıda ürün mü satılacak? Bu durumda sepet sistemi, sipariş sistemi, kargo takip sistemi, vergi düzenlemeleri, ödeme sistemi ihtiyacı doğacaktır.

Veya bu sistemlerin bir karması olabilir. Hem kurumsal bir site aynı zamanda ürün satışı ve teknik destek randevu sistemi olabilir. Bunların her biri ihtiyaçlar doğrultusunda belirlenmeli ve bir düşünsel tasarım olarak ortaya çıkarılmalıdır.

İçeriğin ne olacağı belirlenmeli ve birden fazla içeriğe odaklanıyorsak en önemli içeriğin ne olduğu belirlenmelidir. Anasayfa tasarımı, görseller, genel görünüm, seo planlaması, içerik hiyerarşisinin kurulması ve navigasyon ağırlığının menülerle oluşturulması bundan sonra belirlenecektir.

Bir web sitesi sadece küçük ve orta ölçekli projelerden oluşmaz. Finansal ve üyelik sayısı açısından devasa boyutlara ulaşan web siteleri vardır. Böyle büyük sitelerin teknolojik alt yapı – bakım masrafları ve personel giderleri bir hayli fazla olabilir. Eğer böyle bir sistem arzuluyorsak bu masrafların nasıl finanse edileceğini düşünmek yararınıza olabilir. Kurumun genel bütçesinden, kişisel hesabınızdan, internet reklamlarıyla veya ürün satışıyla finanse etmek bazı seçeneklerdir.

SEO sisteminin nereye odaklanacağı da sitenin genel planlaması ardından ortaya çıkacaktır. Bu bakımdan genel planlamanın detaylı bir şekilde yürütülmesi ve her türlü olasılığın hesaba katılarak günün sonunda doğru projelere doğru adımlarla girmek faydanıza olabilir. Veya bazen projeden vazgeçmek sizin için en doğru seçenek olabilir.

2. Web Tasarımı

Web sitesinde sayfaların genel görünümünü belirli bir düzen içerisinde tasarlama işi web tasarımı aşamasını oluşturur. Tasarım grafik tasarım programları kullanılarak yapılır. Photoshop, illustrator, corel gibi programlar bu amaçla kullanılabilir. Web tasarımcısı, sayfa düzeni, görseller, font seçimi, menüler, formlar, içerik alanı gibi sayfa öğelerini tasarlayarak front end geliştiriciye gönderir. Web geliştirme’de üretim, tasarım ile başlar.

Sektörde sıklıkla görülebileceği üzere tasarımcı ve front end geliştirici aynı kişi olabilir. Bazen tasarım çizim programlarıyla oluşturulmaz. Front end geliştiricisi doğrudan kodlarla çalışarak arayüzü tasarımıyla ortaya çıkarır. Bazen de tema yapıcı denilen araçları kullanarak bir tasarım ortaya koyar.

Web tasarımıyla ilgili detaylı bilgi için web tasarımı yazımıza göz atabilirsiniz.

3. Front End Geliştirme

Front End Geliştirme safhasında tasarımcının gönderdiği sayfaların görünümü çalışır menüler, popup’lar, link yapıları ve benzeri öğeler şeklinde kodlanır.

Web Geliştirme ‘nin kilit unsurlarından Front end geliştirici Html, Css, Javascript dillerini kullanarak tasarımı hazır sayfaları koda dönüşütürür ve browser’ların görüntüleyebileceği ve çalıştırabileceği hale sokar. Bu bölüm işin istemci yani ziyaretçi browser’ını ilgilendiren tarafıdır. Sunucu tarafında yapılan geliştirmeler ile web sitesi dinamik bir hale dönüştürülür.

4. Back End Geliştirme

Web Geliştiriciler üç tiptedir
Back End Geliştirme web sitesinin görünümünden ziyade arka planda çalışan uygulamaların oluşturulması ve kodlanmasına odaklanır. Front-End kodlarını ele alır ve bunların soyut senaryolarını geliştirerek web sitesini dinamik hale getirir.

Back end geliştirmesi tamamlanan bir web sitesi artık dinamik bir sitedir. Bilgiler veri tabanından veya dosyalardan otomatik olarak çekilir, tek bir sayfa şablonu onlarca belki yüzlerce öğe için kullanılabilir hale gelir. Bilgi kaydı ve güncellemesi yapılabilir, mesaj gönderilebilir, ödeme işlemleri yapılabilir. Bunlara senaryo sayısınca örnek verilebilir.

Web Geliştirme’nin Back End aşamasında veritabanı tasarımı da ayrı bir öneme sahiptir. Veritabanı ve veri tabloları oluşturulurken projenin genişleme ihtimaline karşı genişleyebilir özellikte kurulmalıdır. Ağır veri tabloları yerine dağıtık fakat ilişkisel veri tabloları kurarak hem genişleyebilir hem de verilerin kolayca toplanabileceği bir veri tabanı sistemi oluşturmak gerekir. Veritabanı konusunu açıklayacağımız ayrı bir blog yazımızı buraya koyacağız.

5. Test ve Analiz Süreci

Front End aşamasında ön yüzün doğru çalışmasına dair bazı testler yapılır. Bunlar genelde performans testleridir. Back End Geliştirmenin ardından yazılan uygulamalar ve yapılan işlemlerin doğru çalışıp çalışmadığına dair testler ve doğrulamalar yapılır. Ayrıca sitenin güvenlik açıkları vermemesi için bazı güvenlik testleri yapılabilir.

Web teknolojilerinde pek çok değişken olduğundan son testler yayın sürecinin başlamasıyla yapılır. Sistem kontrollü şekilde değiştirilmeye ve geliştirilmeye devam eder. Web Geliştirme sürekli devam eden ucu açık bir süreçtir.