JavaScript: Derin Doğru Hedef mi?
“Learning JavaScript, Derinden” WordCamp Miami şarkısının bir parçası olduğum için çok mutluyum. Ancak yedi görüşmenin beşinin JavaScript çerçevesinde olması, Matt Mullenweg’in WordPress geliştiricilerinin “JavaScript’i derinlemesine inceleme” çağrısını görmem için beni rahatsız eden tepkiyi yansıtıyor. WordPress tarafından kullanılan omurga gibi JavaScript çerçevesi, karmaşık JavaScript görevlerini kolaylaştırmanın iyi bir yoludur. Ancak JavaScript MVC çerçevesini incelemenin JavaScript’i derinlemesine incelemek olduğunu düşünmek aptalca olurdu.
JavaScript: Derin Doğru Hedef mi? Beni yanlış anlamayın, Angularjs hakkında iki ders veriyorum çünkü bence Angular, olağanüstü sonuçlar üreten basit bir JavaScript çerçevesi. Açıkçası gelişmiş bir JavaScript geliştiricisi değilim. PHP ve Angularjs ile çok daha iyiyim, bana benim için mantıklı tasarım ilkelerini içeren iyi bir müşteri tarafı uygulaması oluşturmanın bir yolunu veriyor. JavaScript’imin temellerini biliyorum, bu yüzden Angularjs’in basit veya kolay olduğunu söylediğimde, biraz şovenist olduğunu biliyorum. Her ne kadar bir bilgisayar bilimi eğitimim olmasa da – aslında eğitim geçmişim çevrenin bir çalışmasıdır – yazılım geliştirmenin temel kalıplarını ve ilkelerini ve PHP’ye nasıl uygulandığını anlamak için zaman harcadım.
Genel olarak JavaScript veya yazılım tasarımı hakkında hiçbir şey öğrenmeden WordCamp Miami’de konuşan AngularJS’ye girişimde görünürseniz, bunu takip edemezsiniz. İlk olarak açısal öğrenmeye çalıştığımda bir felaketti. O zaman, JavaScript’in kapatılmasını ve nesne yönelimli gelişiminin JavaScript’ten PHP’ye nasıl farklı olduğunu tam olarak anlamadım. Ayrıca daha önce MVC modelini hiç yaşamadım. Beni yanlış anlamayın, WordCamp Miami’deki JavaScript parçasından çok memnunum. Umarım birçok insan oturumlara gider, onlar için mantıklı bir çerçeve bulur ve onlarla olağanüstü şeyler inşa eder, WordPress Rest API. API tabanlı bir JavaScript istemci uygulamasının geliştirilmesiyle başlayın, ancak doğrudan JavaScript’in derin bir anlayışına yol açtıklarından emin değilim. İyi olmak daha kolaydır, Matt Mullenweg’in ekibi bir WordPress.com admin yeniden tasarımı yapmak için React kullandığında JavaScript’i derinlemesine incelemekten bahsettiğini duymak oldukça komiktir (bu, bu konuda yanlış bir şey olduğu anlamına gelmez). Kolay’ı seviyorum. Ben bir WordPress geliştiricisiyim. Bir kariyerim var çünkü WordPress PHP geliştirmeye başlamanın kolay bir yolu. JavaScript ile çalışabilirim çünkü JQuery-Javascript’in gelişimine başlamanın kolay bir yolu-işimi yapmak için yıllarca JavaScript açısından ihtiyacım olan her şey.
Bu nispeten kolay – başladığımda çok kolay olmasa da – geliştirme aracı beni ihtiyaç duyduğumda çok hızlı bir şekilde Angularjs gibi bir şey alabileceğim yere götürüyor. Bu yayında bir yorum bırakırsanız, yorumların sayfada serinletilmeden göründüğünü göreceksiniz. Bu sayfayı açtığınızda diğer kişiler yorum bırakırsa, yorum ekranda 15 saniye içinde görünecektir. Çok havalı olduğunu düşünmeyi seviyorum. Belki de önyargılıydım çünkü eklentilerin çoğunu Epoch olarak adlandırdım ve Postmatic tarafından mümkün kılan, bunu etkinleştirdim. Müşterinin JQuery ve Sıradan JavaScript’teki eklentisinin tarafını yazdım. Bu çalışıyor, ancak onun için ateş çekmek ve gerektiğinde verileri biçimlendirmek için çok sayıda özel PHP gerektiriyor. Bu makaleyi yazarken, özel ateşimden daha WordPress API’sını kullanmak için epoch’u yeniden yazıyorum ve ayrıca AngularJS kullanıyorum. Sonucun çok daha iyi ve daha hızlı olacağından eminim. Bu kesinlikle daha basit ve daha temiz olacak. Epoch sürüm 1 için yazdığım JavaScript kodu lüks bir JavaScript MVC çerçevesi kullanmasa ve zamanla hata iyileştirmeleri ile biraz dağınık hale gelse de, JavaScript hakkında yazma hakkında çok şey öğreniyorum.
JavaScript’in temelleri hakkında birçok şey öğrendim ve Dom’un açısal manipülasyonu tüm büyüsünün arkasında benden saklanacak. WordPress gerçekten yangın tabanlı arayüzler dönemine girerse, açısal ve omurga gibi araçlar bunu kolaylaştıracaktır. Hala savaş çerçevesinden uzak duralım, çerçeveye odaklanmak beni korkutuyor. Bunun nedeni sadece bence “çerçevem senden daha iyi” tartışması değil. Benim endişem, WordPress’in tamamen JavaScript ile ilgili olduğu veya yakın gelecekte olacağı fikrini güçlendirmesi. WordPress.com ile ilgili birçok konu, son iki yıldır uyguladıkları yönetici arayüzünün geliştirilmesinin arkasındaki açık kaynak kodu. Ancak, bir WordPress geliştiricisi olarak, Automattic ile ilgili haberlerin WordPress yazılımı ile ilgili olmadığını anlayabilmeliyiz. WordPress’i modernize etmek için görsel arayüzleri artırmaya odaklanın – ve JavaScript MVC çerçevesi bunun önemli bir parçası. Ancak WordPress bir sunucu tarafı PHP uygulamasıdır. Evet, WordPress’in node.js gibi bir şey yapabilirsiniz, ancak WordPress’in yaptığı bu değil ve Automattic’in Calypso ile yapmadığı şey bu değil. PHP’yi derinlemesine öğrenin Bir WordPress geliştiriciyseniz, API tabanlı JavaScript arabiriminde olduğumuzu düşünürsek, PHP becerilerinizin eskisinden daha önemli olduğunu anlamalısınız. JavaScript arayüzü, çoğu zaman WordPress’i, birkaç eklenti ve diğer bileşen koleksiyonlarını seçtiğim sağlam bir sunucu tarafı uygulaması gerektirir – her şey PHP’de yazılmıştır.
Şu anda birçok WordPress çekirdeği var ve popüler WordPress eklentileri, API dinlenmesinin bitiş noktasına sarılmak için kolay -uyarlanabilir bir şekilde yazılmıyor. Bu, bunu değiştirmek için çok iş gerektirecektir. PHP’de yazılacak iş. Gelecekte, WordPress ve eklentimizin çekirdeği ve belki de temamızın mantık ve crud’u görünümden ayırmak için daha iyi iş yapması gerekiyor. Aynı düşük seviyeli sistemin geleneksel WordPress yöneticileri ve tema arayüzlerinin yanı sıra API dinlenmesinin bitiş noktasına hizmet etmesi gerekir. Yeni eklentinin bu bölümde avantajları var, ancak yukarıda bahsettiğim gereksinimleri karşılayan eklentiler yapmak için disiplin ve daha fazla çalışma gerektiriyor. API tarafından desteklenen JavaScript arayüzü tarafından yönlendirilen WordPress’in geleceği hakkında heyecanlı bir WordPress geliştiricisiyseniz, daha fazla JavaScript öğrenmelisiniz. Ve evet öğrenmek için bir JavaScript çerçevesi seçmek – Angularjs öneriyorum – sizi JavaScript’in geliştirilmesine başlamaya yardımcı olacak. En önemlisi, daha iyi bir PHP yazmaya ve sorunların ayrılmasına ve tek sorumluluk ilkesine güçlü bir saygı geliştirmek için kendinize meydan okumalısınız.