Bir Web Sitesinin Anatomisi

Bir Web Sitesinin Anatomisi

Merhabalar,

Gerek kurumsal gerekse bireysel alanda gün geçtikce zorunlu ihtiyaç haline gelen internet sektörünün arkaplanından biraz bahsetmek istedim.. Özellikle son günlerde “internet sitesi nasıl yapılır” diye merak eden arkadaşlara farklı bir kılavuz oluşturmanın faydalı olacağını düşündüm. Kullandığımız bir çok programlama terimini ve mantığını kısaca anlatıp,sıfırdan bir internet sitesi yapımı için gerekli koşulların neler olduğunu başlıklar halinde toplamaya çalıştım..Umarım bir web sitesinin nasıl yapıldığı kafanızda oluşmuş olur 🙂

1.Web site yapmak için programlama haricinde ne gerekli ?

Öncelikle web sektörünü kategorize ederken programlama kısmından önce öğrenmemiz gereken bazı sistemler vardır. Bunlar bir internet sitesinin olmassa olmazı olan ve normal bilgisayar bilgisiyle halledebilecek düzeydeki işlemlerdir.. Bu konuda araştırmanız gereken keywordler; İnternet sitesinin ismi yani huseyinkorbalta.com gibi olan site adresi için “domain”konusunda, web sitesinin internet üzerinde aktif olarak devamlı çalışabilir halde kalması ve programlamlanmış internet sitesi dosyalarını çalıştırmak içinse “hosting” konusunu araştırmanız yeterli diyebilirim.. Domain + Hosting bir internet sitesinin olmazsa olmaz özelliklerinden birisidir. Domain için yıllık ortalama 10-15 dolar arası,hosting içinse 25-1000 dolar arası bir fiyat ödemeniz gerekebilir..Hosting ihtiyacınız programlama dosyalarınızın,içeriğinizin (Resim,video gibi) büyüklüğüne ve sitenizin trafiğine bağlı olarak değişebilir.. Bu konuda da ileriki günlerde daha detaylı bir yazı hazırlayıp paylaşmayı düşünüyorum..

Web yazılım dillerini biz iki alanda ayırıyoruz genelde..Front-End ve Back-End olarak ayrılan bu sektörde programlama dilleri hangi alana yönelmek isterseniz o şekilde ayrılıyor…

front-end-vs-back-end

front-end-vs-back-end

2. Web sitesi programlaması için öğrenmemiz gereken zorunlu diller:

-HTML (Hem front-end hemde back-end aşamasında öğrenmemiz gereken temel dildir..Dil demekten öte bir betik diyebiliriz aslında.)

Öncelikle HTML olmazsa olmaz dillerimizden birisidir..Yani aktif olarak front-end kısmında kullanılsa da back-end developer yapan bir arkadaş tutup HTML kodlarını kullanmadan yazılımı gönderirse front-end ciden bol bol küfür yiyebilir…

HTML’i öğrenmek istiyorsanız ahanda şu adreste https://huseyinkorbalta.com/kategori/html/ HTML ders yazılarımı bulabilirsiniz.

2.1. Front-End Geliştirici olmak için yani arayüz geliştiricisi olmak için:

-CSS (Yazdığımız HTML kodlarının görsel olarak konumlandırılması,sitenin genel dizaynı,sayfa yapısı,arkaplan,renk,font gibi tüm html kodlarının diğer sitelerden ayırt etmek için yazılmış halidir..Kısaca HTML kodlarına stil vermek için kullanılır.)

-JQUERY ( Eskiden kullanılan javascript kodlarının yeni sistemlere özel modernize edilmiş halidir..Sitenin içeriğini daha kullanışlı bir hale getirmek için kullanılan java temelli bir kütüphanedir.. Az yaz,çok iş yap mantığıyla çalışan bu sistem bugün popüler bir çok internet sitesinde kullanılmaktadır. Flash döneminin kapanmasıyla birlikte HTML5 ile site içeriğinin daha görsel ve daha etkileşimli bir şekilde kullanılması için gerekli bir kütüphanedir)

Bu kısma kadar statik yani içeriği değiştirilmeyen bir internet sitesi yapabilirsiniz veya hazır olarak yazılmış bir yazılımı (WordPress,Joomla,Drupal yada diğer özel yazılımları) görsel olarak değiştirebilir ve istediğiniz şekilde kullanabilirsiniz.

Tabi daha ileri düzeyde ve kaliteli siteler yapmak için bu konuda Grafiker arkadaşlar bize Photoshop yada Fireworks gibi programlar aracılığıyla tüm site arayüzünü,görsellerini çizip gönderiyor..Bizde o tasarım sistemine uygun şekilde hatta bire bir şekilde kodluyoruz.. Yani front-end geliştirici bir şekilde grafikerin çizdiğini internet sistemi için kodlayan kişi oluyor.

2.2. Back-End Geliştirici olmak için yani yazılan sistemi dinamik hale getirmek için:

Arkaplanda sistemi geliştirmek için karşımıza birden fazla dil çıkıyor..En popüler olan iki dil ise birisi açık kaynak yazılım olan ve dünyanın en popüler web yazılım dillerinden birisi PHP, diğeri ise microsoft tarafından geliştirilen .NET Framework’u üzerinden kullanılan ASP.NET oluyor.

Buradaki yol ayrımına çok dikkat etmemiz gerekiyor.. PHP – Linux alt yapısında çalışırken ASP.NET – Windows alt yapısında çalışmaktadır.. (Windows üzerinden php çalıştırabiliyorsunuz tabiki ama performans olarak Linux aktif olarak kullanılır).

Ortak özellik olarak ikisinde de aynı şeyleri yapabilirsiniz (küçük istisnalar haricinde) ve ikisi de OOP yani nesnel yönetimli programlama dilidir.. Mantık olarak aynı çalışır fakat kod yazılımı ve komutları birbirinden farklıdır..ASP.Net masaüstü yazılım entegrasyonu olduğu için (MVC Mimarisi ve C# kullanımı olduğu için) daha aktif olarak masaüstü yazılımcılarının internet sitesi yapmak için kullandığı dil diyebilirim.

ASP.NET daha yoğun olarak devlet dairelerinde,bankacılık sistemlerinde kullanılırken, PHP aktif olarak diğer tüm sitelerde kullanılmaktadır. Bunun nedeni ise; Kurumsal firmalar,devlet kurumları herhangi bir sistemsel sorunda,güvenlik açığında ya da maddi/manevi zararlardan dolayı hesap soracakları kişi/kurum beklerler. PHP açık kaynak kodlu, herkes tarafından yazılan bir dil olduğundan muhattap bulamayacaklarından dolayı kurumsal firmalar ve devlet kurumları genelikle, Microsoft tarafından geliştirilen ASP’yi tercih ederler. Hesap soracak biri var sonuçta, yoksa kime atarlanacak bu adamalar demi 😀

php-vs-asp

Bu konuda 2 programlama dilinden birini seçmek size kalıyor..Fakat özgür yazılım ve özellikle türkçe ve ingilizce kaynak konusunda PHP nin daha iyi olduğunu söyleyebilirim.. Ama ben C# gördüm okulda ve kod denizinde boğulmaya hazırım diyorsanız ASP.Net, abi boşver sakin sakin takılıp,istediğimizi yapalım diyorsanız PHP derim…

Bu diller ne için CSS-XHTML ile zaten bir internet sitesi yapabiliyoruz derseniz size küçük bir örnek veriyim.. Bir haber sitesi düşünün her gün yüzlerce haber giriyorsunuz ama bunu PHP yada ASP.NET kullanmadan yaptığımızı düşünürsek her gün tek tek sayfayı kopyalayıp yeni bir sayfa oluşturup tekrar sunucu atmak gibi bir derdimiz olacağından eğer statik sayfa yerine dinamik olarak bu dilleri kullanıyoruz..

ASP.NET veya PHP öğrenmek konusunda tercih sizin!

PHP’yi tercih ettiysen gel karşiim, şu sayfada https://huseyinkorbalta.com/kategori/php-dersleri/ php ders yazılarımı bulabilirsin.

2.3. Veritabanı için (MySQL, MSSQL, SQLite, MariaDB vb.)

PHP ve ASP.NET i kullanma amacımız yani siteyi statik halden dinamik hale geçirmek için yazıcağımız verileri saklamamız gereken bir veritabanı olması gerekiyor.. Yani sunucu üzerinden verilerin daha derli toplu kategorize edilmiş bir tablolama halini düşünün.. Ve PHP yada ASP.NET ile bu verileri uygun yerlerde çekip kullanma imkanı sağlayan dile ise SQL diyoruz..

SQL dili tüm programlama dillerinde hemen hemen aynı komutlarla çağrılan bir dildir..Zaten temelindeki mantık 4 Ana komuta bağlı diyebiliriz.. SELECT (Tabloyu seç) , INSERT (Tabloya ekle) , UPDATE (Tabloyu güncelle) , DELETE (Tablodaki veriyi sil) gibi komutları olup hepsinde benzerdir..Sadece aracı bağlantılarda ve sistem yapısı olarak ASP.NET Microsoft SQL Server yani MSSQL, PHP ise açık kaynak MYSQL kullanmaktadır.Ayrıca büyük şirketler ve büyük veriler için Oracle kullanabilirsiniz (Her iki programlama dilinde de bağlanılabilir ama fiyatı fazla tuzludur ve genellikle çok büyük verisi olan şirketler kullanır)

mysql-vs-mssql

Sonuç olarak ortaya böyle bir Bir Web Sitesinin Anatomisi ortaya çıkıyor..

Bu kadar açıklamadan sonra hangisini öğrenelim diye soracak olursanız önce HTML, ardından Front-End kısmına geçin ve CSS-JQUERY öğrenin..Jquery üzerinde fazla durmayın sadece entegrasyonunu ve mantığını anlayın.. Ardından Back-End kısmına geçebilirsiniz..Front-End kısmı oldukça kolaydır Back-Ende göre..

Sırasıyla; HTML-CSS-JQUERY öğrendikten sonra PHP-MYSQL size on numara,beş yıldız bir site yapmanıza yetecek programlama bilgisini verecektir 🙂

Saygılarımla 🙂

Bir önceki yazım olan Yeni Logo, Yeni Favicon! başlıklı yazımı da okumanızı tavsiye ederim.