Upload
bora-yalcin
View
172
Download
5
Embed Size (px)
Citation preview
WP REST APIve WordPress Ekosistemindeki
Değişimler
Bora Yalçın
PHPKonf 2015
Bora Yalçın
Dion Works - Ortak ve Yazılım Geliştirici
2014’ten beri Budapeşte yaşıyorum.
WordPress Budapest Community - CO-
Founder
Coffee Master ve Kahve Tiryakisi
Matt Mullenweg tarafından b2 blog yazılımından forklandı.
PHP ile yazıldı.
2003 yılında ilk versiyonu yayınlandı.
60 milyondan fazla site
Top 10M sitenin %24+
WordPress.org: 3.000+ Tema - 36.000+ Plugin
Kimler Kullanıyor?
Android ve iOS uygulamaları da WordPress (WP-API kullanılarak)
Neden Bu Kadar Çok Tercih Ediliyor?
● Açık kaynak kodlu ve ücretsiz
● Kurulumu kolay, çok az teknik bilgi gerektiriyor.
● Yazılımcılar için değil kullanıcılar için bir admin paneli
● Kullanılabilirlik önplanda
● Kolay öğreniliyor
● (Neredeyse) her yerde çalışıyor.
● Tema ve pluginler sayesinde geliştirilebilir.
● Aktif olarak geliştiriliyor.
● Büyük ve güçlü bir komuniteye ve ekosisteme sahip
WordPress Ekosistemi
WordPress.org
WordPress.com
Tema ve Plugin Marketplaces: Envato, WooThemes, Elegant Themes...
Plugin Geliştiricileri ve Servisleri: WPML, WPMUDEV, Gravity Forms, Ninja Forms, Visual Composer
WordPress E-commerce: WooCommerce, Easy Digital Downloads
WordPress Danışmanlık ve Destek Servisleri: WP Curve, WP Site Care, Yoast
Web Yazılım Firmaları, Yazılım ve Tasarımcılar: Dion Works :)
Managed WordPress Hosting Firmaları WP Engine, Kinsta, Pagely
WordPress Yönetim Servisleri: ManageWP, WP Remote, InfiniteWP
WordPress Haber Siteleri, Podcastler
Copywriterlar
WordPress Eğitimleri/Kitapları
Peki Yazılımcılar?
● PHP geliştiricileri
● Yazılımcılar için düşük bir giriş seviyesine sahip.
● Giriş kolay, ilerleme zaman ve tecrübe gerektiriyor.
● Deneyimli veya başka object oriented yapılara alışkın olan
yazılımcılar için kabus olabiliyor.
● Güvenlik yetersiz bulunabiliyor.
● Kendi ekosistemi dışında kişisel kullanım haricinde uzak durulma
eğilimi var.
● PHP dışında yazılım geliştiriciler içinse daha da uzak.
● PHP konferanslarında pek konusu geçmiyor.
Peki nasıl değişir?
API
APIİçeriğin platformdan ve dilden bağımsız olmasını sağlayacak
REST? JSON?
RESTRepresentational state transfer - sunumsal durum aktarımı SOAP ve WSDL tabanlı web servislerine spesifikasyon olarak daha basit bir alternatif olarak geliştirilmiştir. RESTful sistemler çoğunlukla HTTP protokolü üzerinden, web tarayıcıları tarafından sayfaların transferinde de kullanılan HTTP fiilleri (GET, POST, PUT, DELETE vb.) ile haberleşirler. (vikipedi)
REST? JSON?
JSONJavascript Object NotationXML'in Javascript ile çok da iyi kullanılamamasından ötürü tercih edilir. Klasik DOM ağaçlarından farksız bir yapıya sahiptir.
Kaynak: Vikipedi
WordPress ve REST API
2009’dan beri wordpress.org’da JSON API adlı bir eklenti mevcut.
2012’den beri wordpress.com kendi REST API’ını kullanıyor, Jet Pack eklentisi ile wp.com dışında da kullanılabiliyor.
2013’den beri WP REST API eklentisi geliştiriliyor.
WP REST API
v2.wp-api.org
Kolay Kullanılan
Kolay Anlaşılan
Kapsamlı Test Edilmiş
API Altyapısı
WordPress kullanılarak geliştirilen uygulamalar için
Elimde bir
WordPress REST
API olsa
neler
yapabilirim?
SPA - Single Page Application
● Başta tek bir server-side sayfa yüklemesi
● Olaylar Javascript ile gelişir
● Kesintisiz ve daha akıcı bir kullanıcı deneyimi sunar
(ideal şartlar altında)
Mobil Uygulamalar için Backend
Yeni Nesil WordPress Temaları
● The Loop olmayan
● Sonsuz ve bazen tutarsız WordPress fonksiyonlarından bağımsız (çoğunlukla)
● PHP 4 ve PHP 5.3 öncesi mirasından tamamen arınmış● Çılgın template hiyerarşisinden büyük ölçüde muaf.
Yeni Nesil WordPress Temaları
Onlarca farklı .php dosyası yerine view için React dosyaları
AngularJS yada başka bir route sistemi
Backbone, Ember, Browserify, Gulp…
(Hayalgücü ve yeteneğinize göre listeye devam edebilirsiniz)
Yeni Nesil WordPress Temaları
● Kullanıcı etkileşimi yüksek● Daha hızlı çalışan bir site, özellikle mobil deneyim
açısından avantajlı● Çevrimdışı çalışabilme (localStorage kullanımı ile)● Potansiyel olarak düşük kaynak tüketimi imkanı
Meşhur The Loop
WordPress Tema Dosya Hiyerarşisi
Twentyfifteen Teması
Devamı vardı daha
Picard Present Teması (WP-API Örnek)
Picard Present Teması (WP-API Örnek)
Peki YaWP REST API
Nasıl Çalışıyor?
GET /wp-json/wp/v2/posts
POST /wp-json/wp/v2/users/4
GET /wp-json/wp/v2/posts?s=bora
Kanlı Canlı Örnek
PHPKonf
Websitesi
phpkonf.org
Altyapı
AngularJS
CMS
JSON Dosyaları
img klasörü
“Bana 5-6 plugin ve 1 WordPress verin, size REST API vereyim” Bora Yalçın
“Bana 5-6 plugin ve 1 WordPress verin, size REST API vereyim” Bora Yalçın
Resmin küçük halinin linkini de ekle
Speaker içerik türünü API’a ekle
Work meta datasını da speaker ile gelen veriye ekle
Konuşmacılar listesi
Konuşmacı detay modalbox
Yalnızca 30 dakika içerisinde
WordPress ve WP REST API ile
Biri keşif amaçlı toplam 6 plugin kullanarak
● İçeriği yönetimi● Resim yönetimi ve düzenleme, ● Sıralama● Admin arayüzüne sahip● Kullanıcı yönetimi olan● RESTful
Bir webservis oluşturduk.
Teşekkürler!
Bora Yalçın
@borantula
borayalcin.me