Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

WTK207U-WEB TABANLI KODLAMA

Ünite 7: Önemli Web Çatıları ve Kullanımları

köprülük görevi görmektedir. Sistemin avantajı, yazılan


Giriş kodların tekrar tekrar kullanılabilmesi ve çeşitli
Firmaların dünyaya açılan kapıları olan internet sitelerinin uygulamalar için ara yüzler (views) sağlayabilmesidir.
ya da milyonlarca kullanıcısı olan sosyal ağ sitelerinin Örneğin internet sitesi kullanıcıları için görsel bir ara yüz
hizmet dışı kalmaları günümüz koşullarında bir seçenek oluşturulabilirken, uzaktaki uygulamalarla veri alışverişi
değildir. Bu çerçevede yazılım geliştiriciler üretim, için farklı bir ara yüz (web servisleri) üretilebilmektedir.
düzenleme, bakım ve yenileme süreçlerini hızlandırmak
için yardımcı araçlara ihtiyaç duymaktadır. Bugün pek çok Web Çatılarının Yararları
ortamda duyduğumuz Angular.JS, Django, Bootstrap gibi Bir web çatısı kullanmanın en önemli avantajı, kodların
projeler bu sorunu çözmek için üretilmiş web çatılarıdır. tekrar kullanılabilir olmasıdır. Web çatıları deneyimli
geliştiriciler ve geliştirici takımları tarafından tekrar
Web Çatıları kullanılabilirlik ilkesi ile üretilir. Web çatısı kullanmanın
Web çatısı ya da web uygulaması çatıları internet bir diğer yararı ise ücretsiz yardım kanallarını kullanıma
ortamında çalışan siteler, servisler, kaynaklar ve arayüzler sunmasıdır.
üretmek için tasarlanmış yazılımlardır. Web çatılarının
Web çatısı kullanmanın bir diğer yararı ise ücretsiz yardım
temel amacı, web uygulamalarının geliştirilmesinde
kanallarını kullanıma sunmasıdır. Güncel web çatıları
önemli bir iş yükü yaratan rutin işlemlerin
dünya genelinde pek çok yazılımcı tarafından
otomatikleştirilmesi ve böylece programcılar üzerindeki
kullanılmakta ve geliştirilmektedir. Bir web çatısı
rutin iş yükünü en aza indirgeyerek çevik ve dinamik web
kullanmaya başladığınızda bu çatıyı kullanan tüm
uygulamalarının geliştirilmesine destek olmaktır.
geliştiricilerin ve yazılımcıların desteğini almış olursunuz.
Web Çatılarının Gelişimi
Web çatıları genellikle MVC gibi yazılım geliştirme
İnternetin erken dönemlerinde, yeni bir sayfa üretmek için yaklaşımlarını kullanmaktadır. Bu durum projenizin temel
yazarların/tasarımcıların tüm içerikleri el ile kodlaması, kabul görmüş geliştirme yaklaşımları çerçevesinde
birleştirmesi ve sunucuya göndermesi gerekiyordu. Bu ilerlemesini sağlayacaktır. Kullanıcı girişi, veri tabanı
çalışma yapısı kullanıcı etkileşimine engel olmanın yönetimi gibi pek çok proje için gerekli işlevleri hazır
yanında, internetin gelişimini de sınırlamaktaydı. Basit bir olarak sunması da web çatılarının yararlarından biridir. Bu
hesap makinesi gibi, kullanıcı girdisine cevap verecek sayede, programcıların iş gücü projenin ana problemlerine
dinamik sayfaların üretilmesi için CGI (Common Gateway yönlendirilebilmektedir. Ayrıca web çatılarının sürekli
Interface) standardı tanıtıldı. Bu yaklaşımın en büyük gelişim hâlinde olduğu söylenebilir.
problemi her bir istek için sunucu bilgisayarda ayrı bir
süreç (process) çalıştırılmasıydı. Sonrasında, internet Güncel Bir Web Çatısı: Bootstrap
sunucuları ile entegre çalışabilen betik (script) dilleri Bootstrap, internet siteleri ve internet tabanlı
geliştirildi. WebBase, ColdFusion, PHP ve ASP gibi uygulamaların kullanıcı arayüzlerini (front-end)
işleyiciler sunucu yükü sorununa çözüm getirdi. Bir geliştirmek için kullanılabilecek bir web çatısıdır.
sonraki adımda, geliştirici ve tasarımcıların iş yüklerini Bootstrap, tarayıcı tarafında çalışan bir web çatısı
azaltmaya yönelik web çatıları geliştirilmeye başlandı. olduğundan, temelinde HTML, CSS ve Javascript
Web Çatılarının Kullanım Alanları teknolojileri yer almaktadır. Bootstrap, web siteleri ve
uygulamaların kullanıcı arayüzlerini hızlı ve kolay
Sayfalar sunucular tarafından dağıtılır, tarayıcılar geliştirmek için gerekli araçları sağlamaktır. Günümüz
tarafından kullanıcıya eriştirilir. Bu çerçevede, web tarayıcı ve ekran boyutları ekosistemi oldukça dinamik ve
çatılarının çalışabileceği iki nokta sunucular ve çeşitlidir. Ekranların boyutları, en boy oranları ve tarayıcı
tarayıcılardır. Sunucu tarafındaki işlemler tipik olarak genişlikleri cihazdan cihaza önemli farklılıklar
sayfaların yeniden yüklenmesini gerektirir. Sunucu taraflı göstermektedir.
üretimde pek çok dil ve araç kullanılabilmektedir. Bu
araçlar arasında Django, “Zend Framework” ve “Ruby on Programlama literatüründe kullanıcının gördüğü ara
Rails” sayılabilir. Tarayıcı taraflı yaklaşımda ise sayfanın yüzlere on yüz (front-end) denmektedir. Bunun yanında,
tamamı yerine küçük bölümlerinde düzenlemeler ve uygulamaların arkasında çalışan veri tabanı erişimi,
güncelleştirmeler yapılabilmektedir. Bu yaklaşımın hesaplama rutinleri gibi işlevlere ise arka yüz (back-end)
dezavantajı kullanılabilecek tek dilin Javascript olması ve adı verilmektedir. Büyük ölçekli uygulamaların on yüz ve
işlem gücünün kullanıcı bilgisayarı ve tarayıcısı ile sınırlı arka yüz geliştirici takımları işbirliği içinde çalışmaktadır.
olmasıdır. Bu senaryoda kullanılabilecek web çatıları Birleşmiş Milletler’in teknoloji alanındaki araştırma kolu
arasında Backbone.js, AngularJS, EmberJS, ReactJS ve olan ITU’ya (2015) göre, dünya genelinde mobil internet
Bootstrap sayılabilir. kullanıcısının oranı (%47,2), sabit bağlantı kullanan
MVC (model-view-controller) bir yazılım geliştirme internet kullanıcısı oranından (%46,4) daha fazladır. Bu
desenidir. Bu desen veri soyutlanması esasına dayanır. durum, üretilen içeriklerin mobil cihazlarda düzgün
Buna göre, kontrolcü (controller) adı verilen bir ara görünmesini zorunlu kılmaktadır.
sistem, veri (model) ve ara yüzler (view) arasında

1
WTK207U-WEB TABANLI KODLAMA
Ünite 7: Önemli Web Çatıları ve Kullanımları

Tepkisel tasarım (responsive design), sitelerin ve Uzak dosya kullanma yaklaşımının son sınırlılığı bu
uygulamaların çeşitli ekran ve tarayıcı genişliklerine göre dosyaları kendi ihtiyacınıza göre düzenleyememenizdir.
kendilerini yeniden düzenleyebildiği bir tasarım Projenizin bu sınırlılıklardan etkileneceğini
yaklaşımıdır. Bu yaklaşımın amacı, sitenin tasarım ve düşünüyorsanız, yerel yöntemi tercih etmeniz faydalı
ölçeklendirmesini değiştirerek, okunurluğu desteklemek olacaktır.
ve kullanıcı etkileşimini iyileştirmektir. Yaklaşımın
Yerel yöntem ile proje başlatmak için Bootstrap dosyaları
temelinde CSS 3 tanımlamaları ile birlikte gelen medya
ve Jquery dosyalarının ilgili sunuculardan indirilmesi
sorguları (media querries) yer almaktadır.
gerekmektedir. “Bootstrap İndir” bağlantısı tıklandığında
Bir Bootstrap Projesinin Anatomisi gerekli tüm dosyalar sıkıştırılmış bir paket hâlinde
Bootstrap tepkisel tasarım özellikleriyle, ürünlerin tarayıcı bilgisayarınıza transfer edilir. Bu paketin içinde css, fonts
boyutlarına göre ölçeklendirilmesi ya da farklı ve js isimli üç klasör gelmektedir. CSS klasörünün içinde
yerleşimlerle sunulmasını sağlayabilmektedir. Temel bir bootstrap.css dosyası, sıkıştırılmış (min) hâli ve map
Bootstrap projesinde şu bileşenler yer almalıdır: dosyası bulunabilir. Bunun yanında görsel olarak daha
zengin bir deneyim sunan bootstrap-theme. css dosyası,
HTML Dokümanı: Temelinde internet teknolojileri yatan sıkıştırılmış hâli ve map dosyası bulunmaktadır. Fonts
Bootstrap projeleri, HTML dokümanları üzerinden klasörü içinde kullanılabilecek simgeler pek çok formatta
sunulur. Bu nedenle HTML dokümanı tüm içerikler için sunulmaktadır. Bu dosyalara dokunulmadan fonts klasörü,
kapsayıcı rolündedir. css klasörü ile aynı yerde tutulmalıdır. js klasörü içinde
CSS Dokümanı: Boostrap ile birlikte gelen görsel bootstrap.js ve sıkıştırılmış hâli olan bootstrap. min.js
özellikler CSS dosyasında tutulmaktadır. Zorunlu hâller dosyaları bulunmaktadır. Bunlardan biri jquery
dışında bu dosya üzerinde değişiklik yapılmamalıdır. dosyasından sonra projeye eklenmelidir.

Javascript Dokümanları: Bootstrap projeleri açılır Metin Etiketleri


menüler ve kayan resimler gibi kullanıcı etkileşimli Bootstrap, sayfalardaki metinlerin okunurluğunu arttırmak
bileşenler içerebilir. Bu bileşenlerin doğru için CSS kuralları ve pek çok uygulama sınıfı
çalıştırılabilmesi için bootstrap.js dosyası projeye sağlamaktadır.
eklenmelidir. Bunun yanında, bootstrap.js dosyasındaki
Temel Metin Etiketleri
kodların düzgün çalışabilmesi için, başka bir web çatısı
olan JQuery’e ihtiyaç duyulmaktadır. Bootstrap HTML dilindeki tüm başlık düzeylerini
destekler. Bunun yanında, düz metinler üzerinde
Simgeler: Bootstrap ile birlikte gelen görsellerin başlıklardaki görsel etkileri oluşturan araç sınıfları
kullanılabilmesi için fonts klasörü projeye dâhil bulunmaktadır. Bilindiği gibi HTML dilindeki başlık
edilmelidir. Simgelerin projeye eklenmesi için herhangi etiketleri blok elementlerdir. Bu elementlerin etkilerini
bir kod yazılmaz. Simgeler, css dosyası içinden otomatik metin içinde kullanmak için aynı isimli araç sınıfları
olarak çağırılır. kullanılabilmektedir.
Bootstrap Projesi Başlatmak İşaretleme Etiketleri
Bootstrap projeleri için gerekli dokümanlar projeye iki Bootstrap düz metinleri işaretlemek için pek çok HTML
yöntemle eklenebilir. Kullanılabilecek ilk yöntem, içerik etiketini desteklemektedir. Bu etiketleri kullanmak için bir
dağıtım ağları üzerinden sunulan uzak dosyaları projeye p etiketinin içinde aşağıdaki metinleri kullanabilirsiniz.
eklemektir. İkinci yöntemde ise, gerekli dosyalar
sunuculardan indirilerek yerel dosyalar hâlinde projeye Hizalama Sınıfları
eklenir. Uzak yöntemi kullanmanın ilk avantajı, bu metinleri bulundukları ortamda hizalamak için beş adet
dosyalar için sunucu disk alanı harcanmamasıdır. Bunun hizalama sınıfı sağlanmaktadır.
yanında, Bootstrap pek çok projede kullanılan bir web
Vurgulama Sınıfları
çatısı olduğundan, bu dosyaların projeler arasında
paylaşılması olasıdır. Projenizin kullanıcı bilgisayarına Metinleri renklendirmek için altı adet vurgulama sınıfı
yüklenmesi sırasında, başka bir proje için zaten indirilmiş kullanılabilir. Bu sınıflar, bağlantılar da dâhil olmak üzere,
olan dosyalar tekrar kullanılabilir. Bu sayede projenizin tüm metin elementlerine uygulanabilir.
yüklenme süresi kısalarak performansı artacaktır. Bununla Bootsrap Listeleri
birlikte, uzak dosya kullanımının önemli sınırlılıkları da
bulunmaktadır. Öncelikle uzak sistemde proje geliştirmek Bootstrap, sırasız listeler, sıralı listeler ve tanımlama
için internet bağlantısı gerekmektedir. Bu çerçevede listeleri olmak üzere HTML dilinde tanımlı üç liste türüne
destek vermektedir. Sırasız listelerde elementlerin
internet erişimi sağlanamayan durumlarda geliştirme
birbirleri ile herhangi bir sıra ya da hiyerarşi ilişkisi
süreci aksayabilecektir. Bir diğer sınırlılık ise projenin dış
yoktur. Bu nedenle veriliş sıraları önemli değildir. Sıralı
kaynağa bağımlı olmasıdır. Kullanıcıların sizin sayfanıza
listelerde ise elementler arasında hiyerarşi ya da sıralama
erişebildiği, fakat içerik dağıtım ağlarına erişemediği
ilişkisi bulunmaktadır. Bu listeler varsayılan olarak
senaryolarda projeniz düzgün görüntülenemeyecektir.
numaralandırılmış olarak gelmekle beraber, ol etiketinin

2
WTK207U-WEB TABANLI KODLAMA
Ünite 7: Önemli Web Çatıları ve Kullanımları

type özelliği ile bu davranış değiştirilebilir. Son olarak Bootstrap sisteminde bir tarayıcı boyutu için belirlenen
tanımlama listeleri başlık ve açıklama çiftlerinden oluşan yerleşim kuralları üst tarayıcı boyutları için geçerli kalır.
listelerdir. Örnek olarak, sayfada geçen terimlerden oluşan Örneğin sm tarayıcı boyutunda oluşturulan iki sütunlu bir
küçük bir sözlük oluşturmak için tanımlama listeleri yapı, üst tarayıcı boyutları olan md ve lg için farklı bir
kullanılabilir. kural belirtilmemişse aynen korunur. Sitenin sunumu md
ve lg boyutları için iki sütunlu olacak şekilde
Bootstrap Tabloları
düzenlenecektir. Alt tarayıcı boyutlarına geçildiğinde, bu
Tablolar en çok kullanılan HTML yapıları arasındadır. boyutlar için farklı kurallar belirtilmemişse en küçük
Bootstrap tabloların stillenmesi için pek çok seçenek tarayıcı boyutu olan xs boyutundaki kurallar işletilir. xs
sunmaktadır. Yeni bir tablo üretildiğinde Bootstrap temel boyutu için herhangi bir sütun tanımlaması yapılmadıysa,
tipografik öğeler dışında herhangi bir düzenleme yapmaz. varsayılan olarak her sütun ekranı kaplayacak şekilde
Table etiketine table sınıfı eklendiğinde tablonun düzenlenecektir. Bu nedenle, sunum yapısı tek sütunlu
sunumunda önemli değişiklikler gözlenecektir. Öncelikle hâle geçirilir.
tablo bulunduğu ortamı kapsayacak kadar genişletilir.
Bunun yanında hücrelere padding eklenerek hücreler arası Form Elementleri
boşluklar yükseltilir. Son olarak satırlara alt kenarlık Bootstrap HTML dilindeki form elementleri için önemli
eklenerek tablonun okunması kolaylaştırılır. Ayrıca zenginleştirme seçenekleri sunmaktadır. Bu elementler
tabloların satırları ve hücreleri kavramsal sınıflar Bootstrap ile işlendiklerinde tüm tarayıcılarda aynı etki ve
kullanılarak boyanabilir. görünümlere kavuşur.
Bootstrap Boyut Sistemi Düğmeler
Bootstrap öncelikle mobil cihazları hedef alan tepkisel bir Oluşturulurken btn sınıfı ile birlikte, en az bir kavramsal
sistemdir. Bu sistemde içerikler farklı ekran boyutları, sınıf ya da btndefault sınıfının eklenmesi gerekmektedir.
oranları ve tarayıcı genişliklerinde tepki verecek şekilde Kavramsal sınıfların yanında, düğmelerin ebatlarını
tasarlanabilmektedir. Bu tepkisel sistemin yönetilmesi için belirlemek için kullanılabilecek dört sınıf daha
boyut sisteminin anlaşılması oldukça önemlidir. Boyut bulunmaktadır. Ebat sınıflarının kullanımı kavramsal
sistemi ön tanımlı kırılma noktaları ve bu noktalar sınıflar gibi zorunlu değildir. Bu durumda btn sınıfından
arasındaki aralıklara verilen kısa belirteçlerle işlemektedir. gelen değerler kullanılır. Sayfa tasarımlarında daha az yer
kaplaması için düğmeler gruplanarak araç kutuları
Bootstrap Izgara Sistemi
oluşturulabilir. Bu amaçla, gruplanacak düğmeler btn-
Bootstrap sisteminin en önemli elementlerinden biri sayfa group sınıflı bir div elementinin içine eklenebilir. Düğme
içeriğinin yerleşimini düzenleyen ızgara (grid) sistemidir. sunumlarını zenginleştirmek için simgeler kullanılabilir.
Bootstrap ızgara sistemi container, row ve column olmak Bootstrap sisteminde simgeler span elementleri
üzere üç temel bileşenden oluşmaktadır: kullanılarak eklenmektedir. Bu elementlere glyphicon
Container: Container sınıfı sayfa içeriğini ve kurulacak sınıfı ile birlikte simgeyi belirten bir sınıf eklenir.
ızgara sistemini kapsamak için üretilmiştir. Akışkan ve Giriş Elementleri
sabit genişlikli olmak üzere iki container sınıfı
Bootstrap sisteminde input, textarea ve select elementleri
bulunmaktadır. Akışkan container sınıfı her zaman tarayıcı
formlarda kullanılmak üzere desteklenmektedir.
genişliğinin tümünü kapsayacak şekilde boyutlandırılır.
Elementler için açıklama metinleri label etiketleri içinde
Sabit genişlikli container sınıfı ise tarayıcı genişliğine
verilmelidir. Label etiketleri ile input elementleri
tepki verecek şekilde boyutlandırılır.
bağlantısı id-for eşleşmesi ile sağlanır. Bu kullanım
Row: Satırlar (row) yatay sütun grupları oluşturmak için sayesinde açıklama metnine tıklandığında ilgili element
kullanılır. Düzgün hizalama ve boşluk bırakılabilmesi için aktif hâle geçebilmektedir. Her label-input çifti form-
her satır sabit genişlikli (container) ya da akışkan group sınıflı div elementleri içine alınmalıdır. Bu yolla
(container-fluid) bir container element içine girmelidir. form elementlerinin düzgün yerleşimi sağlanır. Input
elementlerinin Bootstrap görüntü ve etkileşim özelliklerini
Column: Sayfadaki içeriği dikey olarak düzenlemek için
kazanması için form-control sınıfı eklenir. Bu sınıf
sütunlar kullanılır. Bootstrap sisteminde yatay genişlikler
eklendiğinde element bulunduğu ortamdaki genişliğin
12 parçaya bölünerek işlenir. Sütunlar oluşturulurken
tamamını kaplayacaktır. Label ve input yerleşimi
hangi ekran genişliğinde kaç yatay dilim kapsayacağı
varsayılan olarak dikeydir. Bu yerleşimin yataya
belirlenir. Her sütun isimlendirmesi “col-” ön eki ile
çevrilmesi için form elementine form-inline sınıfı
başlar. Bundan sonra yapılan belirlemenin hangi tarayıcı
eklenmelidir. Bu durumda label ve input aynı satıra
genişliği için geçerli olduğu, genişlik belirteçleri ile
getirilecek, input nesnesinin genişliği daraltılacaktır. Bu
bildirilir. Bunun ardından bu sütunun belirlenen tarayıcı
görünüm xs tarayıcı boyutu dışındaki tüm boyutlarda
genişliğinde ne kadar yer kaplayacağı sayısal olarak korunur. Tarayıcı boyutu xs olduğunda, form otomatik
verilir. olarak dikey hâle geçecektir.

3
WTK207U-WEB TABANLI KODLAMA
Ünite 7: Önemli Web Çatıları ve Kullanımları

Element Grupları
Ekran alanını daha ekonomik kullanmak için form
elementleri birleştirilebilir. Bu sistemde düğmeler ve giriş
elementleri tek element olarak gösterilir. Giriş
elementlerinin her iki tarafına da düğme eklenebilir.
lement gruplarında düğmelerin yanında işaretleme kutuları
ve radyo düğmeleri gibi elementler de kullanılabilir. Ek
olarak bilgilendirme amaçlı karakterler ya da simgeler de
eklenebilir. Bu durumda inputgroup-btn sınıfı yerine
input-group-addon sınıfı kullanılır.
Görsel Element Sınıfları
Bootstrap görsellerin sunumu ve boyutlandırılması için
çeşitli olanaklar sunmaktadır. Bunların ilki görsellerin
bulundukları ortam ve ekran boyutlarına göre
boyutlandırılmasını sağlayan img-responsive sınıfıdır.
Resimlerin sunumlarını düzenlemek için kullanılabilecek
üç sınıf daha bulunmaktadır. Bunlar resimleri çerçeveler
içine yerleştirmek için kullanılır. img-thumbnail sınıfı,
görseli beyaz zeminli ve gri çerçeveli bir kutu içine alır.
Özellikle artalan rengi olmayan ya da beyaz olan
görsellerin sınırlarının belirtilmesi için kullanılabilecek bir
sınıftır. img-rounded sınıfı görsellerin kenarlarında 6px
yarıçaplı bir yumuşatma uygular. img-circle sınıfı ise
görseli bir daire içinde sunmak için kullanılır.
Menü Sınıfları
Bootstrap, sitelerdeki yönlendirme işlemleri için
kullanılabilecek menü seçenekleri sunmaktadır. Menüler
ul elementlerine uygulanan sınıflar yoluyla
oluşturulmaktadır. Menü çubukları nav elementleri içinde
oluşturulmalıdır. nav elementine Bootstrap menü çubuğu
görüntüsü kazanmak için “navbar” sınıfının yanında bir de
tema sınıfı eklenir. Menü çubuğunda açık (navbar-default)
ve koyu (navbar-inverse) olmak üzere iki tema
kullanılabilir. Menü çubuğu içinde kullanılacak ilk
element site kimliğini belirleyen metin ya da ikonları
tutan, başlık bölümü olarak düşünülebilecek “navbar-
header” elementidir. Menü çubuğunda asıl menü bölümü
ise ul elementi ile oluşturulur.
Kayan Resimler
İnternet sitelerinde marka imajları, reklamlar, duyurular,
ürün tanıtımları gibi amaçlarla kullanılan, en önemli
görsel araçlardan biri kayan resimlerdir. Kayan resim
elementi kapsayıcı bir div elementi içinde oluşturulur.
Daha sonra oluşturulacak oklar ve madde işaretleri gibi
kontrol elementleriyle kullanmak için bu div elementine
bir id verilmelidir. Kapsayıcı div elementine ilk olarak
carousel sınıfı eklenir. İsteğe bağlı olarak, resimlerin
kayarak geçişini sağlamak için slide sınıfı kullanılabilir.
Slide sınıfının kullanılması zorunlu değildir, bu sınıf
kullanılmadığında resimler kaymadan değişmeye devam
edebilir. Son olarak div elementinin data-ride özelliği
carousel olarak belirlenir. Bu sayede Bootstrap’in
Javascript sınıfları elemente uygulanarak resimlerin
otomatik değişimini sağlayacaktır.

You might also like