Web Programlama
İş hayatının etkili iyi biçimde kullandığı web teknolojileri başarıyı ve karlılığı arttıran etkili bir araçtır. Web programlama teknolojileri ile daha yararlı hale gelerek firmalarla müşterileri etkili biçimde buluşturarak ürünlerin ve hizmetlerin gelişmesini sağlamaktadır. Şirketlerin online ticaret dünyasına taşıması için web tasarım ve programlama hizmetlerini profesyonel yazılım geliştirme teknolojilerini kullanarak sunuyoruz.
Başarılı bir web tasarım ve programlama projesi oluşturabilmeniz için aşağıdaki konuları gözönünde bulundurmalısınız.
Web Tasarım
Web sitesinin görünen yüzü web tasarımını önemi birkaç noktada ön plana çıkmaktadır.
Görünüm
Ziyaretçi içeriği okumadan önce hızla tarayarak sitenin okunmaya değeceğini test eder. Web sitesinin görünümü etkileyici olmalıdır. Ziyaretçinin ilgisini çekmeli, sitede uzun süre kalmasını sağlamalıdır.
Kullanılabilirlik
İng. Usability olarak tanımlanan bir sitenin kullanılabilirliği göz ardı edilmemesi gereken özelliklerdendir. Logonun görünür yerde olması ve üzerine tıkladığında ana sayfaya dönmesi, ana menünün daima görünür bir yerde olması, tipografinin doğru biçimde yapılmış olması sitede ziyaretçilerin daha uzun süre kalmasını sağlayacak faktörlerdendir.
W3C standartlarında HTML ve CSS kodlama
Bir web tasarımını tarayıcıda bir bütün halinde metin ve resimlerle herşeyin yerli yerine oturmasını sağlayan HTML ve CSS kodlamalardır. Bu kodlamaların doğru yapılması tarayıcının siteyi ziyaretçiye gerektiği gibi göstermesini sağlayacaktır.
Web Programlama Teknolojileri
Web programlama için kullanılan teknoljilerin sayısı ve çeşitliliği her geçen gün artmaktadır. Bugün Web 2.0 standartlarında bir web sitesi şu teknolojilerden en az birkaçından yararlanmak zorundadır: Java, PHP, MySQL, ASP.NET, MSSQL, Javascript, HTML, CSS, Ajax, PHP Frameworkler (Symfony, Codeigniter, Yii, Kohana, Zend vb), Javascript Frameworkler (Jquery, MooTools)…
MVC – Model View Controller
Bir programlama metodu olan MVC (Model View Controller), web programlama popüler metodlarından olup aşağıdaki bölümlerden oluşur:
Model: Veritabanı işlemleri ve iş kurallarını
View: Web sitesinin görsel kısımları
Controller: Web sitesinde kullanıcı taleplerini ve bu taleplere göre hangi View parçasının gösterileceğini kontrol eden bölümünü oluşturur.
Veritabanı
Büyük miktarlardaki metin, resim, video gibi bilgilerin yönetilmesi için web programlama çalışmasında gelişmiş veritabanı teknolojilerinden yararlanılır. Popüler veritabanı MySQL’in yanında MSSQL, Oracle, PostgreSQL, MongoDB ve diğerleri programlama dilleri ile etkileşimli çalışarak verilerin hızla okunmasını ya da işlenmesini sağlar.
Test-Driven Development
Programlama son derece karmaşık bir çalışmadır. İş kuralları detaylandıkça programlamanın detayları da artar. Web programlama çalışmalarında temel prensip sürekli test etmektir. Kısa adı TDD olan Test-Driven Development bu teknikle programcılar hatasız kodlama imkanına kavuşurlar. TDD, Unit Testing ve Functional Testing olarak ikiye ayrılır.
Versiyon Kontrol Sistemleri
Web programlama sürekli yazılımın iyileştirilmesi ile başarıya ulaşır. Üretilen yazılımın yeni ihtiyaçlara ya da bulunan eksikleri gidermesi gerekir. Yazılım birden fazla kişinin katıldığı bir yazılım ekibi ile de gerçekleştirilebilir. Yazılım ekibinin her bireyinin belirli bölümlerde kodu değiştirme yetkisi olacaktır. Versiyon Kontrol Sistemleri (VCS, Version Control Systems) programcılara eski ve yeni sürümler arasında gezinebilme ve ekip üyelerinin yetkileri dahilinde yazılım geliştirmelerine imkan verir. Subversion ve Git gibi version kontrol sistemleri yazılım geliştirmede popüler olarak kullanılan sistemlerdir.
SEO
Search Engine Optimization kısaca SEO (Arama Motoru Optimizasyonu), web sitesinin arama motorlarında bulunabilirliğini arttıran internet pazarlamanın (web marketing) önemli bir aracıdr. Web programlama çalışmasında SEO uyumlu bir altyapı oluşturulması gereklidir. Sitenin URL yapısı (MVC), sitemap.org standartlarında site haritası olmalıdır.
Performans
Web sitesi ziyaretçileri sıkmayacak şekilde hızlı açılmalıdır. İçeriği yüklü olan bir web sitesinde programcıların aşması gereken bir engel de yavaşlıktır. Web sitesinin hızının arttırılmasında bazı teknikler kullanılır.
Sıkıştırma
Web sitesinin HTML ve CSS parçaları metin dosyalardan oluşur. Bu dosyaların içerisinde çok sayıda tekrar eden boşluk karateri gibi sıkıştırılabilir alanlar bulunmaktadır. Bu dosyaların ziyaretçiye gösterilmeden önce gzip gibi tekniklerle sıkıştırılarak boyutlarının küçültülmesi web sitesinin performansını arttırır, bandwith trafiğinin düşürülerek maliyetden kazanılmasını sağlar.
Cache
Bir web sayfasının ziyaretçiye gösterilmesi aşamasında bir dizi program kodu çalışır. Ziyaretçi bir adresi tıkladığında sunucuya bir istek (request) göndermiş olur. Bu istek program kodları tarafından veritabanı ve diğer kaynaklardan derlenip bir web sayfası görünümüne (response) dönüştürülerek kullanıcının tarayıcısına gönderilir. Bu işlem milyonlarca kullanıcının aynı sayfası göstermesinde eğer cache teknolojisi kullanılmaz ise tekrar eden büyük bir iş yüküdür. Web programlama cache tekniği kodlama ile oluşturulan response parçasını sunucuda belirli bir süre saklayarak ziyaretçiye göstererek hem sitenin daha hızlı çalışmasını hem de sunucunun daha az yükte çalışmasını sağlayarak performans artışında büyük rol oynar. Memcache, APC, eAccelerator gibi farklı cache kütüphaneleri programcılar için bu tekniği daha iyi kullanmalarına yardım eder.
Güvenlik
Yazılımın güvenliği web tasarım ve programlama işinin can alıcı noktalarındandır.
Kod Güvenliği
Kötü niyetli kişilerin saldırılarına karşı (XSS, SQL Injection vb) yazılımda gerekli tedbirlerin alınmış olması gerekir. Kodlara dışarıdan erişimin kapatılmış olması diğer unsurdur.
SSL Sertifikası
SSL sertifikası, ziyaretçi ile sunucu arasındaki trafiği kötü niyetli 3. kişilerin (hacker) girmesini engellemek için şifreler. 128 bit şifrelemeden başlayarak farklı seçenekler bulunmaktadır.
Kredi Kartı Kabul Etme
Kredi kartı ile ödemenin online olarak kart şirketi (banka) ile anında işlem yapılarak site sahibinin hesabına geçirilmesi Türkiye’de sanal pos olarak adlandırılan yazılımlarla gerçekleşmektedir. Banka ile web sitesi arasında gateway olarak adlandırılan bir köprü kurularak SSL sertifikası ile korunarak alınan kredi kartı bilgisi bankaya onay için gönderilir. Bankadan dönen bilgiye göre web programı işlem yapar.
Paypal
Günümüzde web sitesinde ödeme artık sadece kredi kartı ile yapılmıyor. Paypal’ın sunduğu hizmet 2 paypal kullanıcısı arasında para transferi işlemini de kapsıyor. Paypal ile web sitesinden kredi kartı ile ödeme de kabul edilebiliyor. Paypal dışında 2Checkout gibi başka ödeme sistemleri de bulunuyor.
