SlideShare une entreprise Scribd logo
1  sur  27
Hack’n Break
Open Innovation
Camp & Conference
Merhaba!
Ersin KAYA
Senior Front-end Developer @ Hürriyet
Linkedin: ersin-kaya
2
Yüksek trafikli web sitelerinde
front-end mimarisi ve dijital dönüşüm
3
● Hürriyet
● Bigpara
● Mahmure
● Hürriyet Aile
● Spor Arena
● Milliyet
● Posta
● Fanatik
● Dsmart
● Cnn Türk
4
Yüksek Web Trafiği?
Hurriyet.com.tr
5
● Nasıl çalışıyorduk?
● Neye karar verdik? Neler başardık?
● Gelecekteki hedefimiz neler?
Nasıl çalışıyorduk?
1
7
Karmaşık HTML & CSS Yapıları
“ - Onu da kullanalım
- Şunu da mı kullansak
- Hepsi olsa daha iyi olmaz mı?
- Zengin görünür
8
Neye karar verdik?
Neleri başardık?
2
10
Ürün -> Tasarım -> Arayüz Yazılımı
11
İş Süreçleri
“ Tasarım aracını seçmeliyiz
12
13
Script kullanımı
14
Grid yapısı
“ “Mobile first” stratejisi demek, inşa
ettiğiniz yapının odağına mobil cihazları
ve bunları kullanan kullanıcıları oturtmak
demektir.
15
Versiyon
Kontrol
Sistemi
16
Code
Review
Yazdığınız kodun kontrol edilmesi
sizin için ne ifade ediyor?
17
FE yapısı nasıl olmalı?
18
● Ortak font kullanmalıyız
● Daha hızlı yazmak için mixin oluşturmalıyız
● Daha temiz kod için variables tanımlamalıyız
● Front-end standartları oluşturmalıyız
“
@import "../fonts/pt_sans";
19
“
@include line-clamp(3);
20
“ .button{
background-color: #000;
color: #fff;
}
.button{
background-color: $color-black;
color: $color-white;
}
.button{
background-color: $spor-link-backcolor;
color: $spor-link-forecolor;
margin-bottom: $spor-margin-bottom;
}
21
Task runner <Gulp>
Front-end tarafında bazı şeyleri otomatize etmek için Gulp kullanıyoruz,
Nedir bu Gulp, ne gibi avantajları var.
22
● Minify, Uglify
● Image Optimization
● Sass
● Icon Font
● Concat
● Image Sprite
Front End Standartları:
● Sitilleri alfabetik olarak yazın
● Büyük harf kesinlikle kullanmayın
● Semantik kod kullanın (a, h1, ul)
● Alt ve Title etikenleri kullanmaya özen gösterin
● Html yapısının iyi okunması için girintilere dikkat edin
● Html içindeki attribute’lerde çift tırnak kullanın
● Id ve class isimlerini mümkün olduğunca kısa tutun
● ‘0’ kullandığınızda birim belirtmeyin
23
Gelecekteki
hedeflerimiz neler?
3
- Yeni teknolojiler kullanacağız
- Tüm sayfalarımızı responsive yapıya geçireceğiz
- -
- -
25
Front-end Hedeflerimiz
26
27
Teşekkürler!
Linkedin: ersin-kaya

Contenu connexe

Similaire à Yüksek Trafikli İnternet Sitelerinde Front-end Mimarisi

Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuAhmet S.
 
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıİTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıMurat Kader
 
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityAvva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityMurat Yılmaz
 
DECE | Çözüm Ortağı
DECE | Çözüm OrtağıDECE | Çözüm Ortağı
DECE | Çözüm OrtağıDECE Software
 
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013Hakan ERDOGAN
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?mobilike
 
Meteor.js Hakkinda
Meteor.js HakkindaMeteor.js Hakkinda
Meteor.js HakkindaUğur Oruc
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekVolkan Özçelik
 
Mobile First Indexing
Mobile First Indexing Mobile First Indexing
Mobile First Indexing ceydaaricioglu
 
Akar Şümşet - Ürün Yönetimi ve Metotlar
Akar Şümşet - Ürün Yönetimi ve MetotlarAkar Şümşet - Ürün Yönetimi ve Metotlar
Akar Şümşet - Ürün Yönetimi ve MetotlarProductTank İstanbul
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişEgemen Mede
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Gokhan Boranalp
 
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)Mert Nuhoglu
 
Google Analytics - 12 Adımda Dijital Check-up
Google Analytics - 12 Adımda Dijital Check-upGoogle Analytics - 12 Adımda Dijital Check-up
Google Analytics - 12 Adımda Dijital Check-upDeniz Utku
 
13 prpsl stratejik_crm_v2
13 prpsl stratejik_crm_v213 prpsl stratejik_crm_v2
13 prpsl stratejik_crm_v2ERDEM ÖZŞEN
 
Vidco Digital Tanitim Sunumu
Vidco Digital Tanitim SunumuVidco Digital Tanitim Sunumu
Vidco Digital Tanitim SunumuVidco Digital
 
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje Süreçleri
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje SüreçleriOktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje Süreçleri
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje SüreçleriOktoPeople
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım MühendisliğiAliMETN
 

Similaire à Yüksek Trafikli İnternet Sitelerinde Front-end Mimarisi (20)

Atif Unaldi - Isp
Atif Unaldi - IspAtif Unaldi - Isp
Atif Unaldi - Isp
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
 
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıİTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
 
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityAvva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate Idendity
 
DECE | Çözüm Ortağı
DECE | Çözüm OrtağıDECE | Çözüm Ortağı
DECE | Çözüm Ortağı
 
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
 
Meteor.js Hakkinda
Meteor.js HakkindaMeteor.js Hakkinda
Meteor.js Hakkinda
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
 
Mobile First Indexing
Mobile First Indexing Mobile First Indexing
Mobile First Indexing
 
Akar Şümşet - Ürün Yönetimi ve Metotlar
Akar Şümşet - Ürün Yönetimi ve MetotlarAkar Şümşet - Ürün Yönetimi ve Metotlar
Akar Şümşet - Ürün Yönetimi ve Metotlar
 
Turkuvazsoft
TurkuvazsoftTurkuvazsoft
Turkuvazsoft
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
 
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)
Kurumsal Profesyonel Çalışanlar için Wordpress (İK, Finans, Lojistik, Satış vs.)
 
Google Analytics - 12 Adımda Dijital Check-up
Google Analytics - 12 Adımda Dijital Check-upGoogle Analytics - 12 Adımda Dijital Check-up
Google Analytics - 12 Adımda Dijital Check-up
 
13 prpsl stratejik_crm_v2
13 prpsl stratejik_crm_v213 prpsl stratejik_crm_v2
13 prpsl stratejik_crm_v2
 
Vidco Digital Tanitim Sunumu
Vidco Digital Tanitim SunumuVidco Digital Tanitim Sunumu
Vidco Digital Tanitim Sunumu
 
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje Süreçleri
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje SüreçleriOktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje Süreçleri
OktoPeople Kullanıcı Deneyimi & Kullanılabilirlik Proje Süreçleri
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
 

Yüksek Trafikli İnternet Sitelerinde Front-end Mimarisi

Notes de l'éditeur

  1. Merhaba, Ben Ersin Kaya, Hürriyet’te Sr. Front-end Developer olarak çalışıyorum. 6. yıldır buradayım. YTÜ Bilgisayar Programcılığı mezunuyum. Hobi olarak başladım Hayatımın parçası oldu Severek yaptığım iş
  2. Yüksek trafikli web sayfası nedir? Elimizde hangi projeler vardı, artık hangileri var
  3. Bugün sizlere Hürriyet’te Front-end Mimarisi önceden nasıldı? Şuanda ne durumda, Gelecekte neleri hedefliyoruz Umarım keyifli bir sohbet olur, şimdiden hepinize çok teşekkür ederim.
  4. Html yapımız çok karışıktı, her yeni iş için yeni html yazılıyordu buda proje genelinde kod kalabalığı yaratıyordu. Sitiller düz css ile yazılıyordu, aynen html’de olduğu gibi her bir yeni geliştirme için yeni css yazılıyordu, 10binlerce satıra çıkan sitil dosyaları mevcuttu, ki projelerimizin birçok yere dokunduğu için hala tamamından kurtulmuş değiliz Yine css ile ilgili olarak, her developer sitilleri kendi alışık olduğu düzene göre yazıyordu. Birbirimizin kodunu anlamakta zorlanıyorduk. Tasarımlar photoshopta geliyordu, onları developer’lar kesiyordu, dosya boyutları çok büyük olabiliyordu, imaj kaliteleri bozulabiliyordu. Bir script yazmak gerektiğinde genellikle daha önce yazılmış varsa onu çoğaltılıp kullanılıyordu, ya da internetten benzerleri bulunup editleniyordu.
  5. Bir iş bittiğinde test edilmes için, işin varsa sahibini çağırıp, işi yapan developer’ın makinasından test ediyordu :) Ve buna benzer, zamanında gayet normal gibi görünen ama bugün geriye baktığımızda bizi gülümseten, hatta hey gidi günler dedirten bir çok yapı daha önce Hürriyet’te denenmiş.
  6. Yüksek trafikli internet sitelerinin FE yapılarını araştırdık. Daha sonra kendi yapımıza hangisinin daha iyi uyum sağlayabileceğine karar verdik. Son olarak hangi teknolojilerin bizim yapımızda daha sağlıklı ve hızlı çalıştığını araştırıp, uygulamaya geçmeye karar verdik. Neydi bu kararlar
  7. Öncelikle her ürünün bir tasarımcısı ve yöneticisi var, bu kişilerle çok yakın çalışmalıyız. Ürün şekillenip tasarımcı işe başlamadan önce bizde bu işe dahil olmalıyız, teknik analizini yapıp, hem tasarımcının işini kolaylaştırmalıyız, hemde işin development’a başladığında bir daha geriye dönme ihtimalini azaltmalıyız. Sonraki slide: İş süreçleri ->
  8. Tasarımlar her developer’a ayrı ayrı gelmemeli, ortak bir tasarım altyapısı kullanmalıyız. Tasarım ve ürün ekibininde destekleriyle ilk olarak Adobe Creative Cloud, daha sonra bir türk girişimi olan Zeplin ve son olarak Avocode kullanmaya başladık.
  9. Bir iş başlanmadan önce ortak/benzer alanlar tespit edilip, kod genel için yazılmalı. Scrpit kullanımını minimuma indirmeliyiz. Mümkün olduğunca scriptleri kendimiz temiz ve anlaşılır yazmalıyız ve daha az 3th party script kullanımına izin vermeliyiz. Şuanda swiper kullanıyoruz. bir çok slider tipini kaldırdık.
  10. Bir grid yapımız olmalı, bootstrap’in grid yapısı bize uygun olduğu için bunu kullanmaya karar verdik. Html ve css oluşturulurken mobile-first kavramı dikkate almaya başladık. Seo uyumlu kod yazmaya başladık.
  11. “Mobile first” stratejisi demek, inşa ettiğiniz yapının odağına mobil cihazları ve bunları kullanan kullanıcıları oturtmak demektir.
  12. Yazdığımız kod kontrol edilmeli. Bazı developer arkadaşlarımızın öncülük etmesiyle code-review sürecini başlattık. Yazdığımız kodları versiyonlayabilmek için GIT kullanmaya başladık.
  13. Yazdığımız kod kontrol edilmeli. Bazı developer arkadaşlarımızın öncülük etmesiyle code-review sürecini başlattık. Yazdığımız kodları versiyonlayabilmek için GIT kullanmaya başladık.
  14. Gulp, Grunt, Webpack, Yeoman Minify: css dosyalarını minimize etmeye yarıyor Uglify: js dosyaları minimize ve karmaşık hale getiriyor. Image Optimization: imajların boyutlarını optimize ederek istenilen klasöre kaydedebiliyoruz Sass: scss kod yazabiliyoruz Icon Font: Svg eklediğimiz imajları fonta çeviriyor Concat: Js dosyalarını birleştirmeye yarıyor Image Sprite: imajları birleştirip sprite yapıyor Vs vs vs