Web geliştirme aşamaları kimi zaman görece daha kolay, kimi noktalarda da epey detaylı ve zorludur. Bir web sitesi oluşturma süreci herkes için aynı ölçüde kolay değildir. Her geliştirme yolu, web sitesinin türüne, programlama dillerine ve kaynaklara göre farklıdır. Aşağıdaki bölüm, web geliştirme sürecine kısa bir genel bakış ve en yaygın dillere ve CMS seçeneklerine kısa bir giriş niteliğindedir. Bu yazıda web geliştirme aşamaları sıralı şekilde ele alınmıştır.
Plan Oluşturma
Kalemi kağıda veya elleri klavyeye koymadan önce, web geliştiricilerin web siteleri için bir plan geliştirmek üzere kuruluşlarındaki ekipler ve personel ile bağlantı kurmaları oldukça önemlidir. İlk web sitesi taslağından önce dikkate alınması gereken bazı sorular şunlardır.
- Web sitesinin amacı nedir?
- Hedef kitle kim ve web sitesinde ne yapmaları isteniyor?
- Ne tür bir web sitesi kurulumu hedefleniyor? (Örneğin temel bilgilendirme, üyelik, çevrimiçi mağaza)
- Hangi içeriğin hangi hacimde yayınlanması hedefleniyor?
- Bu içeriğin amacı nedir?
- En iyi gezinme deneyimi için web sitesi nasıl yapılandırılacak?
- Bütçe ne kadarla sınırlıdır?
Soruları yanıtlamak için web geliştiricilerin önceliklerini belirlemek ve bilinçli kararlar almak gibi adımlar atması gerekir. Üstelik web geliştirme, pazarlama ve finans ekipleriyle iletişim halinde olmak da profesyonel bir web geliştirici için oldukça faydalı bir yaklaşımdır. Basitçe söylemek gerekirse? Sürecin başında bir yol haritası oluşturmak, bir barikatta ilerlemenizi geri almaktan çok daha kolaydır.
Tel Kafes Oluşturma
Tüm iyi web siteleri bir planla başlar. Geliştiriciler buna tel kafes diyor. Bu planın her zaman resmi bir belge olması gerekmez. Bu, web sitesi için hem web geliştiricisine hem de eğer varsa birlikte çalıştığı ekip arkadaşlarına yön ve başlamak için bir yer verecek bir vizyondur. Bir beyaz tahtaya çizebilir veya Invision, Slickplan veya Mindnode gibi planlamaya yardımcı olacak bir araç kullanılabilir. Tel kafesler, tek tek web sayfalarında metin ve resimlerin nereye gideceğini anlamaya yardımcı olacak bazı görsel araçlardır. İçeriğin ön uçta nasıl görüneceğine dair bir fikir edinmek için boş kutular ve sahte metin kullanılabilir. Neyin resmedildiği hakkında fikir sahibi olmaları için tel kafesler oluşturmak üzere geliştiricilerle birlikte çalışmak profesyonel bir web geliştiricisinin işini büyük oranda kolaylaştırır.
Site Haritası Hazırlama
Web geliştirme aşamaları arasında en önemli aşamalardan biridir. Burada bahsi geçen web sitesi haritasi arama motorlarının siteyi taramasına ve bulmasına yardımcı olan bir XML dosyası olan sitemap.XML ile karıştırılmamalıdır. Tıpkı bir iş planının potansiyel bir yatırımcıya web geliştiricinin hedefleri ve teslimatları hakkında fikir vermesi gibi, bir site haritası da bir geliştiriciye vizyonunu karşılaması için gereken bilgileri verir. Web geliştiriciler site haritasını kendi oluşturabilir veya varsa diğer geliştiriciler ile birlikte çalışabilir. Web sitesi planlarken bir web geliştiricinin kendisine sorması gereken birkaç soru şu şekildedir:
- Hangi bireysel sayfaları istiyor?
- Bu sayfalarda hangi içerikler olmalı?
- Bu sayfaları kategoriler halinde nasıl düzenleyebilir?
- Sitedeki sayfaların hiyerarşisi nedir?
- Sayfalar nasıl birbirine bağlanacak?
- Site ve kullanıcı deneyimi için hangi sayfalar ve kategoriler önemlidir?
- Hangi sayfalar veya kategoriler kaldırılabilir veya birleştirilebilir?
Web Sitesinin Kodunu Yazma
Web geliştirme sürecindeki bir sonraki adım, kodu yazmaktır. Geliştiriciler, web sitelerinin ön yüzü ve arka yüzü için ve ayrıca sitenin farklı işlevleri yani tasarım ve etkileşim için farklı kodlama dilleri kullanacaklardır. Bu farklı diller, bir web sitesi oluşturmak ve çalıştırmak için birlikte çalışır. En yaygın biçimde kullanılan birkaç kodlama diline bu yazıda yer verildi.
HTML
HyperText Markup Language ya da bilinen şekliyle HTML, 1990’lardan beri kullanılmaktadır. Tüm web sitelerinin temelidir ve bir web sitesi oluşturmak için gerekenlerin minimumunu temsil eder. Yalnızca HTML ile bir web sitesi oluşturmak mümkün olsa da, özellikle çekici görünmez. CSS ve JavaScript gibi diller, HTML kodları tarafından oluşturulan temel site yapısını geliştirir ve değiştirir. HTML5 en yeni sürümdür ve platformlar arası tarayıcı işlevselliğini destekler, bu da onu mobil uygulama geliştirmede popüler kılar.
CSS
Basamaklı Stil Sayfaları yani CSS), 1990’ların sonunda geliştirildi. Web sitelerinin genel görünümünü iyileştirmek için web sitelerine tipografi, renkler ve düzenler gibi tasarım öğeleri ekler. CSS, geliştiricilerin web sitesinin web geliştiricisinin web sitesi için öngördüğü estetiğe uyacak şekilde dönüştürülmesine olanak tanır ve HTML5 gibi, CSS de tüm tarayıcılarla uyumludur.
JavaScript
JavaScript, kodlama dillerinin en tepesindedir. 90’ların ortalarında oluşturulan JavaScript, web sitelerine işlevsellik eklemek için kullanılır. Geliştiriciler, animasyon eklemek, belirli sayfalardaki görevleri otomatikleştirmek ve kullanıcı deneyimini geliştiren etkileşimli özellikler eklemek için kullanır. JavaScript hızla gelişiyor. Bir zamanlar oyuncak bir dil olarak kabul edilen JavaScript, artık dünyada en yaygın kullanılan kodlama dilidir. Node.Js’nin yardımıyla artık bir arka uç kodlama dili. Tarayıcılar tarafından anlaşılan ilk dildir ve hatta bazıları ona makine öğrenimini uygulamayı tartışmıştır. HTML, CSS, JavaScript, web geliştirmenin üç büyüğüdür. Hemen hemen her web sitesi bunları bir kapasitede kullanır. Java, C++, Python ve SQL gibi sunucu tarafı dilleri gibi pek çok başka dil vardır. Ancak bu üçünü anlamak, bir web geliştiricinin web sitesi geliştirme bilgisinin temelini oluşturur.
Web Sitesinin Arka Ucunu Oluşturma
Kod yazmak, web geliştirmenin en karmaşık kısımlarından biri olabilir, ancak tek bileşen değildir. Ayrıca arka uç ve ön uç site yapılarını ve tasarımını oluşturmak gerekir. Arka uçla başlanacak olursa, arka uç, ön uçtaki işlevselliği etkinleştiren verileri işler. Örneğin, Facebook’un arka yüzü fotoğrafları depolar, böylece ön uç başkalarının onlara bakmasına izin verebilir. İki temel bileşenden oluşur: Verilerin sunucu istekleri tarafından alınabilmesi için depolanmasını düzenlenmesinden ve işlenmesinden sorumlu olan veri tabanları.
Bilgisayarı oluşturan donanım ve yazılım olan sunucular, veri taleplerinin gönderilmesinden, işlenmesinden ve alınmasından sorumludur. Veri tabanı ile istemci ya da tarayıcı arasındaki aracıdırlar. Tarayıcı aslında sunucuya “Bu bilgiye ihtiyacım var” diyecek ve sunucu bu bilgiyi veri tabanından nasıl alıp müşteriye göndereceğini bilecektir. Bu bileşenler, her web sitesinin temelini oluşturmak için birlikte çalışır.
Web sitesi oluşturmaya gelince, arka uç geliştiriciler üç şey belirleyecektir:
- Web sitesinin belirli isteklere nasıl yanıt vereceğine ve web sitesindeki nesnelerin nasıl etkileşime gireceğine ilişkin bir dizi kural olan mantık kodu.
- Web sitesinin verilerini nasıl düzenleyeceği, yöneteceği ve alacağı veri tabanı yönetimi.
- Altyapı ve bu altyapının web sitesini nasıl barındıracağı. Kendi sitesini barındırmak web geliştiricilere daha fazla kontrol sağlayacaktır. Ancak çok daha pahalıdır ve web geliştiricilerin kendi sunucu sağlığını ve güvenliğini koruması gerektirir.
Bu bileşenler ve kararlar yerinde olduğunda, web sitesi ön uç geliştirme için hazır olacaktır. Örneğin, Facebook’un Arkadaşlar listesindeki kişileri, hangi etkinliklere katılındığı, hangi gönderilerin oluşturulduğu ve daha fazlasını bilmesi gerekir. Bunların hepsi bir veri tabanında yaşayan verilerdir. Bir veri tabanına sahip bir arka uçları olmasaydı, bu verilerin hiçbirine onlar tarafından erişilemezdi. Öte yandan, tamamen bilgilendirme amaçlı olan ve kullanıcıların herhangi bir veri girmesini gerektirmeyen bir web sitesinin arka uca ihtiyacı olmaz. Bu nedenle, hiçbir veri yoksa, mutlaka arka uç geliştirmeye ihtiyaç da yoktur. Ancak bu, web geliştiricinin temel bilgileri öğrenmesine gerek olmadığı anlamına gelmez. Ne zaman ihtiyaç olacağını asla tahmin edilemez.
Web Sitesinin Ön Yüzünü Oluşturma
Daha önce web tasarımıyla uğraşmış olan web geliştirmeciler veya WordPress, Squarespace veya Google Sites’ta bir web sitesiyle oynamış olanlar, ön uç web geliştirmeye mutlaka dokunmuştur. Ön uç önemlidir, çünkü ziyaretçilerin, müşterilerin ve kullanıcıların gördükleri ve web sitesini nasıl kullanacakları ile ilgili her şey demektir. Ön uç veya istemci tarafı geliştirme, JavaScript, HTML ve CSS’nin bir kombinasyonunu içerir. Ayrıca tipografi ve yazı tipleri, gezinme, konumlandırma ve tarayıcı uyumluluğu ve yanıt verebilirliği gibi bileşenleri de kontrol eder. Bu bölüm, ilk site vizyonu ve tel kafese dahil edilenlerden daha fazla yansıtacaktır.