Responsıve Web Tasarımı ve Uygulamaları. Burak Tokak



Benzer belgeler
Arayüz Geliştirme Dokümantasyonu

HTML5, CSS3 ve JavaScrıpt

2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı

4 Front Page Sayfası Özellikleri

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

WEB TASARIMININ TEMELLERİ

Hoşgeldiniz DİBBYS. Yeni Özellikler ve Faydaları

İnternet,artık hayatımızın önemli bir parçası. Her gün interneti programlar aracılığı ile ya da internet siteleri aracılığı ile kullanıyoruz.

AJANS SUNUMU.

MODÜL 3 HTML İLE STİL ŞABLONLARI

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

YZM 3215 İleri Web Programlama

TASARIMIN TEMEL İLKELERİ

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

Grafik Tasarım Baskı Teknikleri Web Tasarım Mobil Site Tasarımı

Ortak Dersler Sanal Sınıf Sistemi Kullanım Kılavuzu

7. Çerçeveler. Bu bölümü bitirdiğinizde,

AMACSEO TEMASI KULLANIM KILAVUZU. AmacSeo temasının Amacdizayn.com tarafından hazırlanmış kullanım kılavuzudur. 1

2-Hafta Temel İşlemler

Altan ÇOLAK Hoşgeldiniz

CSS ile Web Sayfası Oluşturma

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15

İÇİNDEKİLER VII İÇİNDEKİLER

Kullanıcı Merkezli kütüphane Web Siteleri: İYTE Örneği. Gültekin Gürdal Hakan Yanaz Engin Şentürk

1.1 Web Kavramlar URL terimini tanımlayınız ve anlayınız.

Atatürk Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BM Web Programlama ÖDEV 1

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

DIV KAVRAMI <style> position: absolute

WEB TASARIMININ TEMELLERİ

HTML Bloklar. CSS Display özelliği

Web Site Tasarımı (Html-Css) (SD0139) Murat KARA 2017

Girdi ve Giriş Aygıtları

Grafik Tasarım Baskı Teknikleri Dijital Tasarım UX Tasarım

WEB USABILITY. Ruşen Yürek. Web Kullanılabilirliği ; İçerik Hakkında. Kullanıcı Merkezli Tasarım(UCD) FreeDownloadPowerPoint.

Kütüphane Web Sitesi Nedir? Bina x Web sitesi

Haftalık Grafİk Sanat Dergİsİ - Sayı 3 KAPAKLAR DAHİL 8 SAYFA. Sanata değil, sanatçılara inanırım. Marcel Duchamp

Web Programlama Kursu

Mobil Optimizasyon ve Responsive Design

Basamaklı Stil Şablonları (CSS) BIM206 Web Programlama

Dijital yaratıcılık, özgün hizmet. Güzel, yenilikçi ve kişiye özel bakış ile günün ötesini yakalayın.

MIS213T İNTERNET VE WEB PROGRAMLAMA GÜZ 2016 LAB DOKÜMANI #2. 1. Bölüm: Temel HTML Etiketleri - Resimler

LOGO 3 SERİSİ: KULLANICI DENEYİMİNİN BİTMEYEN YOLCULUĞU

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

Dijital pazarlama bir satış yöntemi değil; ulaşılan sonuçları sayesinde satış artışı sağlayan, bir ilişkilendirme ve iletişim sürecidir.

VitalSource Bookshelf Nedir? Bookshelf e Giriş Kayıt Kitap Ekleme. Masaüstü ve Dizüstü Bilgisayarda

HTML Etiketleri Genel Özellikler (Global Attributes)

Mobil Sayfa Hızlarının Karşılaştırıldığı Yeni Sektör Testlerine Göre Hızınızı Değerlendirin

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi


Android e Giriş. Öğr.Gör. Utku SOBUTAY

Aşağıdaki örnekte, aynı düzen tablosu ve hücreleri içerikle birlikte gösterilmektedir.

Programın Adı: Eğitim ve Öğretim Yöntemleri Proje/Alan Çalışması. Diğer Toplam Kredi AKTS Kredisi

C# ile e-posta Göndermek

Turkmedya grubuna ait, portallarının, mobil uygulamalarının güncel UI/UX kurallarına göre tasarımlarının yapılması ve yenilenmesi.

Makul bütçelerle, maksimum verim sağlamak bizim işimiz değil, hobimiz.

11 Ocak 2012 / Çarşamba. Spry menü aktifken, açılır menu ekleyebiliyoruz. Spry Menu Bar OK

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

Öğrencilerin Canlı derslere katılması, * Sisteme giriş

WEB TASARIMININ TEMELLERİ

İş Uygulamalarınızı 3. Boyuta Taşıyın!

4. Bağlantı (Köprü) Oluşturma

T.C. HARRAN ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YABANCI DİL SINAVI (İNGİLİZCE) İÇİN SORU ÇÖZÜM TEKNİKLERİ KURSU

GoFeed Kullanıcı Arayüzü

MOBIL UYGULAMA GELIŞTIRME

T.C. HARRAN ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ KULLANIM REHBERİ. uzaktanegitim.harran.edu.tr

PageSpeed Insights. Oluşturmayı önleyen JavaScript ve CSS kodlarını ekranın üst kısmındaki içerikten kaldırın

Mustafa Şatıroğlu. İletişim Bilgileri. Kişisel Bilgiler. Özet Bilgi 1 / 9 MESLEK: BİLGİSAYAR MÜHENDİSİ. ALAN: Web Developer (Front-End Developer)

Hayatımızda Minimalizm. Müzik Tasarımında Minimalizm Tıpta Minimalizm Mimari Tasarımda Minimalizm Web Tasarımında Minimalizm

Arama Sonuçlarında Üst Sıralarda Olmak. Temel SEO Çalışması

Sosyal Mecralarda ki Çalışan Davranışı, Marka Algısını ve Deneyim Tasarımını Doğrudan Etkiler

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

CSS3, HTML 5 ve jquery ile Web Tasarımı. Umuthan Uyan

Twitter Nedir, Ne İşe Yarar, Nasıl Kullanılır?

WEB TASARIM DERSLERİ

e-fatura Portalı Kullanım Kılavuzu

Yalnız bazı profesyonel blog siteleri ücretsiz olmasına rağmen güçlü güvenlik duvarları kullanarak sitenizi hakkıyla korumakta.

NEDEN DOĞULİNE. Detaylı Analiz. Doğru Planlama. Hedef Kitleye Uygunluk. Doğru İçerik Stratejisi. 7/24 Destek. Deneyimli Ekip

İngilizce (Intermediate B1 / PTE Academic Sınavı 42, Yabancı Dil Bilgisi Seviye Tespit Sınavı 51.25)

Microsoft PowerPoint. Slayt Hazırlama. Nilgün Çokça

MacOSX'de Mail.app (Apple Mail) istemcisinde html imza ayarlamak

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Kullanım Durumu Diyagramları (Use-case Diyagramları)

Safirblog WP Teması - Kurulum ve Kullanım Kılavuzu

PROGRAMLAMA DERSİ 1. İNTERNET

Google Scripts. Neticaret Sistemine Google Analytics ve AdWords sistemleriyle ilgili 3 yeni parametre eklenmiştir.

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

İşletim Sistemi Nedir?

Biggshop Dijital Franchise

Öğr. Gör. Serkan AKSU 1

Programlama Yazılımı ile Web Sitesi Oluşturma

2011 yılında yeni konsepti ve büyüyen ekibiyle şu anki yüzüne kavuşmuştur.

Dijital Dönüşüm Partneriniz

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

1 / 6. Mustafa Şatıroğlu. İletişim Bilgileri

CSS(CASCADING STYLE SHEETS)

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi

HTML Sayfaları. Bütün html sayfaları

Transkript:

Responsıve Web Tasarımı ve Uygulamaları Burak Tokak

İçindekiler Bölüm 1: Responsıve Web Tasarımı Konsepti 1 Responsive Web Tasarımı Nedir? 2 Bilinmesi Gereken Kavramlar 2 Responsive Kelimesi ve Responsive Tasarım 3 Web Tarayıcıları 3 Kullanıcı Arayüzü - User Interface (UI) 3 Kullanıcı Deneyimi - User Experıence (UX) 4 Handheld Aygıtlar 5 Grid (Arayüz Bölümleri) 5 Framework ler ve Responsive Tasarım 5 Kırılma Noktaları (Breakpoints) 6 Neden Responsive Web Tasarımı 7 Mobil İnternet ve Cihaz Ekran Boyutları 8 Neler Öğrendik? 9 Bölüm 2: CSS ve JavaScrıpt ile Responsıve Elementler 11 Responsive Element Nedir? 12 CSS de Yüzde (%) Kavramı 12 CSS de Calc() Fonksiyonu ile Responsive Elementler 16 CSS de max-width ve min-width Özellikleri 20 JavaScript ile Yüzde (%) Kavramı 23 Neler Öğrendik? 29 Bölüm 3: Vıewport ve Medıa Kuralları 31 Vıewport Kullanımı ve İşlevleri 32 Viewport Genişlik (Width) Tanımlayıcısı 34 Viewport Yakınlık ve Yakınlaşabilirlik (Scale) Tanımlayıcısı 35

ix Responsıve Web Tasarımı ve Uygulamaları İçindekiler Media Kuralları ve İşlevleri 36 Diğer Media Parametreleri 43 Neler Öğrendik? 46 Bölüm 4: Responsıve Sayfa Düzeni ve Uygulamalı Örnekler 49 Responsive Elementler ve Sayfa Düzeni 50 Sayfa Yapısını Yeniden Oranlama Tekniği 50 Önemi Az Bölümü Açılır/Kapanır Hale Getirme Tekniği 53 Responsive Olmayan Bölümü Olan ile Değiştirme Tekniği 68 Neler Öğrendik? 69 Bölüm 5: Responsıve Tipografi ve Yazı Düzeni 71 Tipografi Nedir? 72 CSS ile Genel Tipografik Özellikler 73 Responsive Tipografi Mantığı 80 Neler Öğrendik? 83 Bölüm 6: SVG Kullanımı ve SVG İkonlar 85 SVG Nedir? 86 SVG nin Klasik Resim Formatlarına Karşı Faydaları 87 SVG Syntax ı ve Kullanımı 88 SVG için Vektörel Çizim Programları Kullanmak 94 Adobe Illustrator ve Kullanımı 95 SVG İkonları ve Kullanımları 98 Google Material Icons 99 JavaScript ile Hareketlendirilebilen SVG Elementleri 99 Neler Öğrendik? 103

x Responsıve Web Tasarımı ve Uygulamaları İçindekiler Bölüm 7: Arayüz Performansı ve Hız Optimizasyonu 105 Arayüz Performansı ve Verimliliği 106 İçerik Sıkıştırma ve Sayfa Yüklenmesi 106 Verimli ve Modüler JavaScrıpt 109 Verimli JavaScript için Genel Geçer Pratikler 110 Modüler JavaScript Nedir? 113 Neler Öğrendik? 124 Bölüm 8: Mobil Öncelikli Responsıve Web Tasarımı 127 Mobil Öncelikli Tasarım Nedir? 128 Mobil Öncelikli Tasarım Oluşturma ve Adımları 129 Mobil Öncelikli Tasarım Örneği: apple.com 134 Mobil Öncelikli Tasarım Örneği 2: fitekran.com 136 Her Zaman Mobil Öncelikli Tasarım Doğru Tercih Midir? 141 Mobil Öncelikli Tasarımda Mobil Navigasyon ve Gezilebilirlik 141 Neler Öğrendik? 143 Bölüm 9: Responsıve Tasarımda Kullanıcı Deneyimine (UX) Yaklaşım 145 Kullanıcı Deneyimi (UX) Nedir? 146 Kullanıcı Deneyimi Testi 146 Kullanıcı Deneyimi Testi Teknikleri 146 Kullanıcı Deneyimine Yaklaşım 148 Neler Öğrendik? 151 Bölüm 10: RESS Geliştirme Yaklaşımı 153 RESS Nedir? 154 RESS Kullanmak Verimli mi? 155 RESS ve Kullanıcı Deneyimi 156 Neler Öğrendik? 157

xi Responsıve Web Tasarımı ve Uygulamaları İçindekiler Bölüm 11: Web Tabanlı Programlama ve Uygulamaların Geleceği 159 Web Uygulaması Tanımı 160 MVC Framework leri 160 MVC Framework Olarak AngularJS 161 Mobil Uygulamalar ve Web Teknolojileri 162 Natıve (Yerel) Uygulamalar 162 HTML5 (WEB) Uygulamaları 162 Hibrit Mobil Uygulamalar 163 Bir Platform Olarak WEB Tarayıcıları 165 Neler Öğrendik? 167 Son Söz 167 Dizin 168

1 Responsıve Web Tasarımı Konsepti Bu Bölümde Responsive Web Tasarımı Nedir? 2 Bilinmesi Gereken Kavramlar 2 Neden Responsive Web Tasarımı 7 Mobil İnternet ve Cihaz Ekran Boyutları 8 Neler Öğrendik? 9 Kitabımızın ilk bölümünü Responsive Web Tasarımı ve fikrinin gelişim sürecinden bahsetmeye adamanın akıllıca olabileceğini düşünüyorum. Responsive Tasarımın ne olduğunu konusunda hiç ya da çok az bilgisi olan okurlarımıza bu konseptin ne olduğunu ve varoluş nedenini tanımlamalar yaparak anlatmaya çalışacağız. Eğer Responsive web tasarımı konusunda genel bir bilgi birikimine sahip iseniz, bu bölüm konsepti genel ve kuşbakışı bir şekilde tekrar görmenize yardımcı olabilir.

2 Bölüm 1 Responsıve Web Tasarımı Konsepti Responsıve Web Tasarımı edir Responsive Web Tasarımı ya da yerelleştirmek gerekirse, Durumlara Duyarlı Web Tasarımı; web tasarımcıların ve geliştiricilerin, oluşturdukları internet sitelerini ve web uygulamalarını her cihaz ekranı genişliğine uyumlu bir şekilde oluşturmak istemelerinden dolayı ortaya çıkmış bir tasarım ve yazılım akımıdır. Bir internet sitesinin Responsive bir tasarıma sahip olması, internet sitesinin her cihaz ekran boyutunda kaliteli ve tahmin edilebilir bir görüntü sunması anlamına gelir. Aslına bakılırsa Responsive Tasarım, sanılanın aksine mobil cihazlar yaygınlaşmadan önce ortaya çıkmış bir tasarım ve programlama düzenidir. 1024x768 genişliğindeki bir ekranda görüntülenmek üzere kodlanmış bir internet sitesi, 800x600 ekran boyutuna sahip bir ekranda görüntülenirken sorunlara mahal verebiliyordu. Hatta bazı internet siteleri siteye girmeden önce ekran boyutunuzu kontrol edip, ona göre size internet sitesinin sahip olduğunuz ekran boyutuna özel bir versiyonunu veriyordu. Bu konulara bu bölümün içinde daha ayrıntılı bir şekilde değineceğiz, fakat terminolojiye tam anlamıyla hakim olmayan okurlarımız için kitap devamında kullanacağımız bazı kelimeler ve kelimelerinin özet olarak anlamlarından söz edelim. Bilinmesi Gereken Kavramlar Terminoloji, her yığın bilgi konseptine sahip olan konuda olduğu gibi, web geliştiriciliği konusunda da büyük bir önem taşıyor. Bu başlık altında Responsive Tasarım ile ilgili olan web jargonunda bilinmesi gereken kavramlara bir göz atalım.

Bilinmesi Gereken Kavramlar 3 Responsıve Kelimesi ve Responsıve Tasarım Responsive, sözlük karşılığı duyarlı olsa da, aslına bakılılırsa web için Durumlara Duyarlı olarak çevrilmesi gereken bir kavramdır. Responsive bir tasarım, farklı durumlara duyarlıdır. Örneğin; tasarımın görüntülendiği ekranın genişliği, yüksekliği, dokunmatik olup olmaması, retinaya sahip olup olmaması cihazın elde taşınıp taşınamıyor olması durumlara verilebilecek örneklerden bazıları olabilir. Web Tarayıcıları Web tarayıcıları, internet kullanıcısı ve kodlar arasında bir arayüz oluşturan, internet sitesinin kaynağını yorumlayabilen, gerektiğinde kullanıcıdan girdiler alan bir program-uygulamadır. Google Chrome, Microsoft Edge, Firefox veya Safari çok kullanılan web tarayıcılarına örnek olarak verilebilir. Klasik bir masaüstü ya da dizüstü bilgisayarda bulunabildiği gibi, elde tutulabilen mobil cihazlarda da bulunan web tarayıcıları, çoğu aygıtta standart olarak bulunan yazılımların başında gelmektedir. NOT Web tarayıcıları günümüzde çok daha gelişmiş hale gelmiş ve çoğu ek özelliği yanında sunan birer platforma dönüşmüştür. Bu konu ile ilgili ayrıntılı bilgiyi kitabın devamında paylaşacağız. Kullanıcı Arayüzü - User nterface (U ) Kullanıcı arayüzü ya da yabancı tabiri ile User Interface, kullanıcıların bir teknolojik aygıt üzerinde yapmak istediği işlemi gerçekleştirmek için kullanıcıya sunulmuş bir tür sistemdir. Akıllı telefonlarda bir uygulamayı açmak istediğimizi varsayalım, uygulamalarının anasayfada listelenmiş olması ve bu listelenmişlik durumu bir Kullanıcı Arayüz (UI) elemanıdır.

2 CSS ve JavaScrıpt ile Responsıve Elementler Bu Bölümde Responsive Element Nedir? 12 Neler Öğrendik? 29 Kitabımızın bu bölümünde birkaç kısa ısınma turu ile kod yazmaya başlıyoruz, Responsive elementlerin tasarımdaki rolünü ve nasıl kodlara döküldüğünü (implement) edildiğini ve tasarım bileşenlerinin media kuralları ile nasıl yönetilebileceğini örnek kodlar ile tartışacağız. Basit HTML ve CSS özelliklerini adres ederek, CSS in sunduğu Responsive tasarım kitine genel bir bakış atacağız. Bunun yanında bu kitin JavaScript alternatifi ile birkaç kod örneğini bu bölümde sunacak ve nasıl çalıştığı konusunda açıklamalar yapacağız.

12 Bölüm 2 CSS ve JavaScrıpt ile Responsıve Elementler Responsıve Element edir Tasarımlar bölümlerden, parçalardan, objelerden ya da teknik anlamıyla elementlerden (bileşenlerden) oluşur. Eğer tasarımınızın tümü veya çoğu elementleri ekran boyutuna duyarlıysa, genel anlamda konuştuğumuzda tasarımınız da ekran boyutuna duyarlı olur. Ekran genişliği ve yüksekliğine göre durum değiştiren elementlere tasarımların Responsive Elementleri denilir. Birkaç örnek ile Responsive elementlerin tasarımınızı ekran boyutuna duyarlı hale getirme konusunda nasıl bir rol oynadığına göz atalım. CSS de Yüzde (%) Kavramı CSS de yüzde kavramı, tasarımların Responsive elementlerini oluştururken en çok kullanacağımız boyut değeridir. Bir örnek ile CSS üzerinde nasıl kullanıldığını görelim; HTML Kodu <html> <head> </head> <body> </body> </html> <meta charset="utf-8" /> <title>responsive Design</title> <link rel="stylesheet" href="style.css"/> <img id="responsiveresim" src="kozalak.jpg"/> CSS Kodu * { margin:0px; padding:0px; }

Responsıve Element edir 13 İlk görselimizde HTML çıktısını görebilirsiniz. kozalak.jpg resim dosyası, tarayıcıdan daha büyük boyutlara sahip olduğundan kaydırma çubuklarımız görünecek ve resmin tarayıcı boyutuna sığabilecek kadar olan bölümü görünür olacak. CSS Kodu * { margin:0px; padding:0px; } #responsiveresim { width:100%; }

Responsıve Element edir 23 Resimdeki ilk diyagramda ekran genişliği ve sitenin taşıyıcı elementinin genişliği birbirine eşit durumdadır. Bunun yanında 2. diyagramda ekran boyutunu 1000px in üzerine çıkarttığımda, genel taşıyıcının 1000px değerinde sabitlendiğini ve daha da artmadığını görebilirsiniz. Bunu max-width:1000px; özelliği ile sağladık. Bu özelliğin ve yöntemin birçok internet sitesinde (Facebook, Instagram vb.) kullanıldığını görebilirsiniz. JavaScrıpt ile Yüzde (%) Kavramı Kitabın bu bölümü boyunca Responsive Design yaklaşımın CSS in genellikle yeni özellikleri ile implement edilmesi konusunda bize yardımcı olabilecek özelliklerini öğrendik. Asıl amacımız ekran boyutuna duyarlılıktır. Bu yüzden JavaScript ile de benzer uygulamalar gerçekleştirebiliriz. NOT CSS, çoğunlukla daha verimli bir sonuç vereceğinden ve kullanımı daha rahat olduğundan bu tür boyut tanımlamalarını ve hesaplamalarını CSS üzerinde yapmak daha mantıklı, fakat bazı durumlarda JavaScript kullanmak zorunda kalabiliyoruz. Gelin isterseniz birkaç basit örnek ile yüzde kavramını JavaScript üzerinde uygulama yapalım... HTML Kodu <html> <head> <meta charset="utf-8" /> <title>responsive Design</title> <link rel="stylesheet" href="style.css"/> <script type="text/javascript" src="script.js"></script> </head>

4 Responsıve Sayfa Düzeni ve Uygulamalı Örnekler Bu Bölümde Responsive Elementler ve Sayfa Düzeni 50 Neler Öğrendik? 69 Responsive Design ın Web Tasarımı için belkide en önemli konularından birisi sayfa düzenini Responsive bir şekilde oluşturmaktır. Kitabımızın bu bölümünde Responsive bir sayfa düzenini, önceki bölümlerde öğrendiğimiz bilgiler ile nasıl oluşturabileceğimizden bahsedeceğiz. Bölüme başlamadan önce eğer kendinize güvenmiyorsanız CSS in temel özelliklerine kısa bir göz atmanızda fayda var gibi görünüyor.

50 Bölüm 4 Responsıve Sayfa Düzeni ve Uygulamalı Örnekler Responsıve Elementler ve Sayfa Düzeni Responsive elementleri anlattığımız bölümlerde, eğer bir sayfadaki tüm elementler Responsive ile teknik olarak sayfa da tarayıcıya duyarlı olur demiştik. Sayfa düzenini (layout) elementler oluşturur. Öyleyse sayfa düzenini Responsive yapmak için yapmamız gereken tek şey sayfa düzenini oluşturan bu elementleri Responsive birer element haline getirmektir. Çok basit ve önceki bölümlerde de göstermiş olduğumuz 2 kolonlu bir sayfa düzenini boyutlara göre bir örnek olarak modifiye edelim: Sayfa Yapısını Yeniden Oranlama Tekniği Çoğu blog sitesinde görmeye alışkın olduğumuz bir sayfa düzeni olan Yan Bölüm - Asıl Bölüm Yapısı örneğini en basit şekilde kodlara dökmeye çalışalım. Bu örneğimizde sayfa yapısını yeniden oranlama tekniğini kullanacağız. HTML Kodu <html> <head> </head> <body> </body> </html> <meta charset="utf-8" /> <title>yan Bölüm Asıl Bölüm</title> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" href="style.css"/> <div class="tasiyici"> </div> <div class="solbolum">solbölüm İçeriği</div> <div class="asilbolum">asılbölüm İçeriği</div> CSS Kodu * { margin:0px; padding:0px; }.tasiyici { position:relative; width:100%; max-width:1000px; margin:auto; }.solbolum { width:calc(30% - 1px); background:#eee; height:100%; border-right: 1px solid #888; float:left; }.asilbolum { width:70%; background:#ddd; float:right; height:100%; }.temizle { clear:both; }

Responsıve Elementler ve Sayfa Düzeni 51 Örneğimizin çıktısında 1200px ve 800px genişlikleri için kodlarımızın çıktısını görebilirsiniz. Örneğimizin sayfa düzeninde 1000px'i geçtiğinde ekran boyutunun sabitlendiğini görebilirsiniz. Bunun yanında ekran boyutu küçüldükçe ekran boyutunun %30'unu genişlik olarak alan.solbolum div i istenilenden çok daha küçük bir hal alacak. Bu durumu düzeltmek için 500px için bir kırılma noktası atayalım; CSS Kodu /* Onceki Ornek ile ayni CSS kodları */ @media all and (max-width: 500px){ }.solbolum { width: 100%; border-right:0px; max-height:200px;.asilbolum { width: 100%; float:none; } border-bottom:1px solid #888; float:none; }

6 SVG Kullanımı ve SVG İkonlar Bu Bölümde SVG Nedir? 86 Neler Öğrendik? 103 Responsive web tasarımında, çok farklı ve fazla sayıda aygıt üzerinde çalıştığınızdan dolayı performans konusu önemli bir yer alır. Resimlerin yüklenmesi ve yönetilmesi açısından tasarımsal bazı sorunları ortadan kaldırmak için vektörel grafikler ve SVG kullanıyoruz. Kitabın bu bölümünde vektörel imajları klasik resim formatında sunmaktansa XML şeklinde sunarak trafikten ve performanstan kazanç sağlamamıza ön ayak olacak SVG formatından ve SVG nin en fazla kullanılan uygulaması olan ikonlarının nasıl kullanılacağına göz atacağız.

86 Bölüm 6 SVG Kullanımı ve SVG İkonlar SVG edir SVG (Scalable Vector Graphics), XML in söz dizimi (syntax) üzerine oturtulmuş HTML içine gömülebilen bir tür boyutu isteğe göre değiştirilebilir vektör grafik formatıdır. HTML5 in gelişmesi ile ileride büyük bir kullanım alanı oluşabilir. Sistem bağımsız bir geliştirme grubu tarafından geliştiriliyor. SVG, grafiklerin geometrik olarak kodlanmış, düşük boyutlu data ile birbirine bağımlı grafikler oluşturmamıza olanak sağlıyor. Referans resmimizde gördüğünüz grafik SVG kodları ile oluşturulmuş ve bu öge istenilen boyutta piksellenme olmadan büyütülebilir halde. SVG nin mantığını anlatmak için şu tür bir örnek verebiliriz. Örneğin; internet sitenizde vektör tabanlı örnek veriyorum Adobe Illustrator da tasarladığınız bir grafiği kullanacaksınız, bunu PNG ya da benzeri bir resim formatında render edip sayfanıza eklemeniz gerekiyor. Fakat bildiğiniz gibi sayfaya bir resim eklemek her zaman sayfanın açılış hızını yükseltir. HTML ve CSS in gelişmesiyle artık göze hoş görünen resim kullanılmayan web sayfaları oluşunca, bir grup insan demiş ki, neden bir vektör grafiklerini XML benzeri bir syntax içinde oluşturmuyoruz? Bu fikirle ortaya çıkan bu grafik formatı, durumun karmaşıklığına göre, sayfaya embed image olarak resim eklemekten daha hızlı sonuç vermektedir.

SVG edir 87 Yukarıda gördüğünüz ekran görüntüsünü CodyHouse.co isimli bir web sitesinin ana sayfasından aldım. CSS konusunda bilgisi olan arkadaşlar, eğer SVG den habersizse bunun klasik bir vektörel PNG resmi olarak arkaplan (background) ayarlandığını düşünebilir. Fakat bu çalışmada hiçbir klasik resim formatı kullanılmamış. Gördüğünüz bilgisayar, tablet, kitaplar hatta ve hatta kaktüs, SVG ile kodlanmış ve içerisinde herhangi bir resim formatı içermiyor. Hızlı olmasının yanında SVG inin en güzel yanlarından birisi, örneğin isterseniz tek bir değişkeni değiştirerek bilgisayarın arkaplan rengini değiştirebilirsiniz. SVG nin Klasik Resim ormatlarına Karşı aydaları Peki neden PNG gibi klasik bir resim formatıyla resimlerimizi kullanmak yerine vektörel ögeler için SVG kodlama düzenini kullanıyoruz? Çok Daha Hızlı! Her ne kadar gelişen internet sistemleri sayesinde sayfaların yüklenme hızı arasında hissedilir bir değişiklik hissedilmeyecek olmasına rağmen çok fazla kişinin uğradığı sayfalarda SVG sistemi kullanılarak sunucunun trafiği ve sayfa yüklenme hızında gözle görülür bir değişme sağlayabiliyorsunuz. SVG nin en büyük albenisi de zaten budur. Referans resminde içerisinde websafe olmayan bir font ile yazılmış 5 harflik 300x150 boyutlarında bir logo bulunuyor. Bu logo Adobe Illustrator üzerinde hem PNG hem de SVG olarak çıktı alındı. 10x dan büyük bir boyut farkı bulunduğunu görebilirsiniz. NOT Peki SVG bunu nasıl sağlıyor? PNG ve benzeri klasik resim formatları piksel tabanlı çalışır, her piksel için renk kodları tutar, bunun yanında SVG vektörel çalışır ve grafik ortamdaki vektörlerin yalnızca konumu, açısı ve rengini tutar. Bu da büyük bir verimlilik sağlar.

8 Mobil Öncelikli Responsıve Web Tasarımı Bu Bölümde Mobil Öncelikli Tasarım Nedir? 128 Neler Öğrendik? 143 Web Tasarımcıları, tasarımlarını genellikle büyük bir ekranlarda oluşturduklarından, tasarımların genellikle masaüstü öncelikli bir hal aldığını, masaüstünde web sitesinin sağladığı bazı özelliklerin, daha küçük ekranlara sahip mobil aygıtlarda erişilebilir olmadığını gözlemlemişsinizdir. Bu bölümde, bu durumu ortadan kaldıran ve kullanıcılara her platformda aynı işlevi sunmamıza olanak sağlayan bir tasarım yaklaşımı olan mobil öncelikli web tasarımından bahsedeceğiz.

128 Bölüm 8 Mobil Öncelikli Responsıve Web Tasarımı Mobil Öncelikli Tasarım edir Mobil öncelikli tasarım ya da mobil-first yaklaşımı, tasarımcının tasarımını oluştururken, küçük ekrana sahip cihazlardan yola çıkması ile tasarımını ekran boyutuna göre uyarlanabilir hale getirmesi durumuna denilir. Bu durumun masaüstünden mobilde değil de mobilden masaüstüne doğru gelişiyor olmasının en büyük nedeni mobil kullanıcılarında büyük bir artış yaşanmasıdır. Yapılan bağımsız araştırmalara göre internet kullanıcılarının ortalama %25 kadarı yalnızca mobil internet kullanmaktadır ve bu sayı gitgide her yıl ivmeli bir şekilde artmaktadır. Bu durum tasarımcıların teknolojinin gelişmesi ile masaüstü öncelikli tasarımlardan çok mobil öncelikli tasarımları tercih etmesine yol açtı. NOT Yalnızca mobil internet kullanan %25 lik kesim istatistiği şu şekilde yorumlanabilir. Kişisel bilgisayar sahibi ya da erişimi olan internet kullanıcıların büyük bir çoğunluğu mobil internet de kullanmakta fakat bunun yanında mobil internet kullanan kullanıcıların %25 i kişisel bilgisayar ile internet kullanmıyor. Yalnızca mobil internet kullanıcılarının karşılaştığı en büyük sorunlardan bir tanesi, bazı web sitelerinin mobil versiyonlarının, klasik versiyonları ile aynı işlevsel özelliklere sahip olmaması. Bu tür durumlarla karşılaşmamak için mobil öncelikli tasarımlar en mantıklı ve işlevsel seçenek gibi durmakta. Mobil öncelikli tasarımın sağladığı faydalar;» Her ekran boyutu için eşit işlevsellik: Yalnızca mobil internet kullanan internet kullanıcılarının de web sitesinden, klasik internet kullanıcısı ile aynı randımanı alabilmesini sağlar ve kolaylaştırır.» Daha hızlı arayüz/websitesi: Mobil öncelikli tasarlanmış bir web sitesi masaüstü öncelikli tasarlanmış bir web sitesine göre genellikle daha sade ve işlev odaklıdır. Bu da kodların daha az olması ve sitenin daha hızlı yüklenmesi anlamına gelir. Bu durum veri trafiğinin azalmasına da katkıda bulunmaktadır.» Tanınabilirliği arttırır: Bazı internet sitelerinin mobil ve masaüstü versiyonları arasında hem konsept hem de yapı olarak büyük farklar bulunur. Mobilde bir in-

Mobil Öncelikli Tasarım edir 129 ternet sitesini keşfeden internet kullanıcısı, aynı internet sitesi ile masaüstünde karşılaştığında siteyi tanır ve memnun kaldı ise tekrar kullanır. Bu durum markalaşmaya da büyük bir yardım sağlamaktadır. Mobil Öncelikli Tasarım Oluşturma ve Adımları Mobil öncelikli tasarımın, estetikten çok işleve odaklandığından bahsetmiştik. Bunun yanında ekran boyutu arttıkça kullanıcıya sunulan içeriğin değerini değiştirmeden gösterilebilir hale getiriyor olmamızın mobil öncelikli tasarımın en büyük albenilerinden biri olduğunu örnekler ile sunduk. Mobil öncelikli tasarımlar oluşturulurken dikkat edilmesi gereken tek nokta ekran boyutu da değil. Hazırlanan herhangi bir Responsive tasarımda olduğu gibi, oluşturulan arayüzün/tasarımın, aygıtın desteklediği özellikler ile paralel olarak geliştirilmesi büyük bir önem taşıyor. Mobil öncelikli tasarımlarınızı oluştururken dikkat etmeniz gereken bazı adımlar şöyle sıralanabilir: 1. Arayüzde basit taslak tasarımlar ile çalışmaya başlayın! Arayüzünüzü oluştururken, estetik kaygısı ön planda, karmaşık ve fazla imaj dosyası içeren bir arayüz ile çalışmaya başlamayın. Bunun yerine, kullanıcı tecrübesine odaklanarak tasarımların taslak hali üzerinde çalışmalarınızı geliştirin, bunun üzerine sonrasında modifikasyonlar ile estetik olarak istediğiniz görünümü rahatlıkla verebilirsiniz. Ben bu kitabı yazarken çalıştığım en son iş için şöyle bir tasarım hazırladım. Bu tasarımda müşteri tarafından önceden belirlenmiş işlevler göz önüne alarak ekranda ögelerin nerede durmasını istediğimi HTML ve CSS yardımı ile konumlandırdım. Burada dikkat ettiyseniz taslak sadece ögelerin boyutlarını ve konumlarını içeriyor.