Bir web sitesinin tasarım, ön yüz (front end) ve arka yüz (back end) kısımlarının yeni bir projeyle oluşturulması veya varolan bir web siteye yeni işlevler eklenerek daha kullanışlı hale getirilmesi web geliştirme olarak adlandırılır. Halihazırda varolan bir sitede veya yeni bir projeye özellikler katmak için benzer işlemler farklı yollarla yapılabilir. Fakat her aşamada konunun uzmanı gereken iyileştirmeleri ve geliştirmeleri yapacaktır.
Freelance Web Site Geliştirme belli adımlarla gerçekleşir. Öncelikle yeni bir ihtiyaç ortaya çıkmalı ve bu ihtiyaca yönelik bir hedef ortaya konmalıdır. Buna dönük bir planlama gereklidir. Ardından tasarım boyutuna geçilir. Bu konuda web tasarım grafikerleri çalışma yapar. Yapılan grafik tasarımın ardından front end kodlama kısmına geçilir ve ön yüz kodlanmış olur. Projenin server tarafında işlenmesi üzere back end geliştiriciler gereken düzenlemeleri yaparlar. Seo ile ilgili kısımlar gözden geçirilir. Son olarak testler yapılır ve geliştirmenin düzgün çalışıp çalışmadığı kontrol edilir. Analizler ile geri dönüşümün ne durumda olduğu araştırılır.
Web Site Amacının Belirlenmesi
Bir sitenin hangi ihtiyacımıza cevap vereceğini bu adımda belirleriz. Çeşitli amaçlarla siteler kurulabilir. Kurumsal bir tanıtım, kişisel bir blog, ticaret sitesi, bir portal veya forum yapmak isteyebiliriz. Bu seçenekler alt dallarıyla birlikte çok sayıda artırılabilir. Önemli olan site sahibinin tam olarak ne elde etmek istediğidir. Amacın belirlenmesinin ardından planlama aşamasına geçilir.
Site Planlaması
Planlama sitenin teknik inşası açısından en önemli aşamadır. Aslında planlamanın birinci adımı kağıt üzerinde bir taslak çizimdir. Site araştırmaları, öngörüler ve yapılacaklara dair alınan notlar teknik ilerleme açısından çok önemlidir.
Planlamanın doğru yapılmadığı veya eksik yapıldığı pek çok site proje aşamasında iptal edilebilmektedir. Bu durumda tasarım ve kodlama tarafında pek çok emek boşa gitmektedir.
Planlama aşamasında pek çok konuda tercih yapmak gerekecektir. Sitenin amacına dönük olarak hangi web platformu seçilecek ve hangi dillerle kodlama yapılacaktır? Ne ölçüde bir trafik ve kaynak tüketimi beklenmektedir? Sitenin masraflarına ilişkin nasıl bir finansman modeli seçilecektir? Bu ve bunun gibi pek çok soru planlama aşamasında karşımıza çıkacaktır. Doğru modeli seçmeli ve doğru adımları atmamız gerekir.
Tasarım Aşaması
Sitenin görünümünü belirli bir düzen ve estetik içerisinde çizmek ve oluşturmak web tasarım aşamasıdır. Bu aşamada çeşitli grafik tasarım programları kullanılır. Bu programlar internet ile doğrudan ilgili değildir. Yalnızca çizim yapmaya ve görselleri düzenlemeye yarar.
Web tasarımcı sayfa düzeni, font ve metinler, imajlar, sayfa elemanları gibi unsurları bir araya getirerek oluşturduğu özgün tasarımını tamamladıktan sonra front end geliştiriciye gönderir ve kod yazma evresine geçilir.
Sitelerin tasarım aşaması bazen front end ile birleşebilir. Genellikle “What you see what you get” imkanı veren site builder’larda bu gerçekleşir. Bazen doğrudan kodlarla arayüz tasarımı da ortaya çıkartılmış olur.
Ama yine de tasarımı ayrı bir aşama olarak düşünmek gerekir. Çünkü sitenin çekiciliği ve kullanılabilirliği ilk olarak tasarım aşamasında oluşmaya başlar.
Ön Yüz Geliştirme (Front End)
Html, Css ve istemci taraflı script’ler (Javascript gibi) kullanılarak tasarımı çalışır bir ön yüze dönüştürmek front end geliştiricinin işidir. Bu aşamada web sitesi dinamik değil statiktir. Eğer sadece statik bir site kodlanması planlanıyorsa üretim süreci bu noktada biter.
Bilgi toplumunda statik sitelerin yönetilmesi artık mümkün değildir. Bu nedenle front end siteyi dinamik hale getirmeden önceki bir ön yüz kodlama aşamasıdır.
Front end kodlama ile site artık web tarayıcıların görüntüleyebileceği ve çalıştırabileceği hale gelmiş olur. Front end geliştirme istemci taraflı yani ziyaretçinin browser’ını ilgilendiren kısımdır.
Web Programlama (Back End)
Web programlama sitenin ön yüzünü dinamik hale getirir. Veri tabanı ve dosyalarla çalışarak bilgileri almayı ve kaydetmeyi sağlar. Bu şekilde web sitesinin genel görünümü değil ama yazı ve görsellerden oluşan içeriği değiştirilebilir hale gelir.
Web programlama server taraflı script dilleriyle yapılır. PHP, Asp.net, Ruby, Python, Java gibi diller bunlara örnektir. Ayrıca MySQL, Mssql, Oracle gibi veri tabanı bağlantılarıyla veri kayıtlarını yapabilir ve kullanılabilir hale getirebiliriz.
Back end geliştirmesiyle birlikte dinamik bir siteyi tam olarak oluşturmuş oluruz. Tek bir görsel ön yüz kullanılarak sayısız içerik çekilebilir ve gösterilebilir.
Veritabanı konusu ayrıca önemlidir. Veritabanı tasarımı ile sitenin ileride büyümesi ihtimaline karşı genişleyebilir bir veritabanı düzeneği kurmak gerekir. Veritabanı düzeneği ayrı bir yazı konusu olacak kadar kapsamlıdır.
Test Süreci
Front end ve back end aşamasında yazılan kodların doğru şekilde çalışıp çalışmadığına dair testler yapılmalıdır. Front end kısmıyla ilgili testler genellikle hız ve performans testleridir.
Back end testleri ise kurgulanan senaryoların düzgün şekilde çalışıp çalışmadığını kontrol eder. Doğrulamalar tamamlandıktan sonra site güvenliğiyle ilgili birtakım testlerin yapılması gerekir.
Tüm kontrollerin ardından site yayına alınır ve tüm web sitesi üzerinde kontrollü şekilde ihtiyaç duyulan değişiklikler ve düzeltmeler yapılmaya devam eder.