PHP Geliştiricileri İçin JavaScript Kullanmaya Başlama

Başlığı okuduktan sonra merak ediyor olmalısınız, “Neden ilk etapta PHP’den JavaScript’e geçiyorsunuz? Ve bunun hakkında bir makale yazmak neden önemlidir? ” Bir PHP geliştiricisi olarak, PHP’den JavaScript’e geçmek benim için büyük bir hareketti ve aynı zamanda zordu.

İlişki kurabileceğim bir JavaScript çerçevesi bulmam gerekiyordu – bir örnek AdonisJ’lerdi çünkü Laravel ile aynı MVC (model, görünüm, kontrolör) mimarisine sahipti. Oradan yavaş yavaş diğer çerçevelere geçtim, sözdizimini inceledim ve PHP ile JavaScript arasındaki muazzam farklılıklara uyum sağladım.

JavaScript kullanmaya başlamamın en büyük nedenlerinden biri, ön uç becerilerimi geliştirmek istememdi. Dil, istemci tarafı programlamayı da destekler ve JavaScript ekosistemi açık ara en büyüklerinden biridir – doğru anahtar kelimeleri kullanırsanız, kelimenin tam anlamıyla herhangi bir şeye çözüm bulabilirsiniz. ( Yığın Taşması , yine de sorunları çözmek için ana kaynağım 😂.)

Peki neden JavaScript? Neden başka bir dil değil?

İlk başta, Ruby ve Python’dan Swift’e ve daha pek çoğuna kadar birçok seçeneğim vardı. Ancak JavaScript’i tercih etmemin en büyük nedenleri esnekliği, JSON biçimleriyle kolay etkileşimi ve tabii ki DOM işleme yetenekleridir. Web, mobil ve masaüstü uygulamaları oluşturma, 3B oyunlar oluşturma ve bahsedilemeyecek kadar çok sayıda diğerleri gibi geniş kullanım senaryoları da çekiciydi.

PHP’den farklı olarak JavaScript, mobil, web ve masaüstü uygulamaları için geliştirmeyi destekler ve geliştiricilerin size en iyi sonuçları vermek için eşzamansız çalışan pek çok harici dosyayı eklemelerine izin vermesi sayesinde bunu etkili bir şekilde yapar.

JavaScript topluluğu bir başka büyük nedendir. Geniş ve aktiftir ve temelde herhangi bir programlama modelini seçebilir ve ihtiyacınız olan desteği alabilirsiniz. Örneğin, sıkı bir programcı mısınız? TypeScript ile çalışabilirsiniz. Sebeplerle devam edebilirim ama kısa tutalım.

JavaScript kullanmanın avantajları

JavaScript, ECMAScript spesifikasyonuna uyan bir istemci tarafı programlama dili olarak oluşturulmuştur. Dizileri, döngüleri, ifadeleri, işlevleri ve bir dili oluşturan diğer yapı taşlarını içeren her üst düzey programlama dili ile aynı temelleri izler. JavaScript ile, Node.js ve Deno sayesinde hem ön hem de arka uç uygulamaları oluşturabilirsiniz.

JavaScript’i bir arka uç geliştiricisi olarak kullanmak, esneklik, kullanılabilirlik ve aralarından seçim yapabileceğiniz çok sayıda çerçeve dahil olmak üzere tonlarca avantaj sağlar. Ancak tartışmasız en muhteşem avantajı, iş fırsatlarından bahsetmiyorum bile kendi topluluğu.

Mimari

JavaScript, oluşturmak istediğiniz uygulama türüne bağlı olarak birden çok uygulama mimarisini destekler. JavaScript uygulama mimarisi, MVC’den izomorfik, SPA, çok sayfalı uygulama ve diğerlerine kadar değişir. PHP, MVC mimarisi etrafında döner ve gerçekten bundan kurtulamaz.

Verim

JavaScript, olay odaklı, tek iş parçacıklı, engellemesiz bir G / Ç yürütme modeline sahiptir. Böyle bir model, olay döngüsü ve Düğüm kümeleme ile sağlanır. Node.js’nin eşzamansız doğası, bazı işlevlerin yürütülmesini beklemeden tüm kod tabanında aynı anda çalışmasını sağlar.

PHP, çok iş parçacıklı, engelleyen bir G / Ç yürütme modeli ile karakterizedir. JavaScript’ten farklı olarak PHP eşzamanlıdır; bu basitçe, bir sonraki kod satırının ilki tamamlanmadan yürütülemeyeceği anlamına gelir.

Kullanılabilirlik

JavaScript ile yeni başladığınızda, fark ettiğiniz ilk şeylerden biri kullanılabilirliğidir. JavaScript sözdiziminin basitliği, dilin temellerini bildiğiniz sürece herhangi bir JavaScript çerçevesini benimsemenizi kolaylaştırır. JavaScript aynı zamanda bakımı son derece kolaydır ve tonlarca paketi destekler, bu da birinci sınıf uygulamalar sunmada daha etkili olmasını sağlar.

Esneklik

JavaScript, geliştiricilerin ön ucu oluşturmak için harici API’lere veya başka bir dile güvenmeden web, mobil ve masaüstü uygulamaları oluşturmalarına olanak tanıyan tam yığın uygulama dilidir. Öte yandan PHP, kesinlikle JavaScript’in sunduğu esneklikle eşleşmeyen bir arka uç dilidir.

Uygulama uyumluluğu

JavaScript, büyük ölçekli yazılım uygulamalarını, 3B oyunları ve diğer harika şeyleri çalıştırmasına izin veren özel sunucu barındırmayı destekler.

PHP genel amaçlı bir programlama dilidir ve öncelikle dinamik web uygulamaları oluşturmak için kullanılır. PHP, daha fazla içerik yönetimi uygulamasını tercih eder.

Topluluk

Başlangıç ​​olarak JavaScript, GitHub’daki en popüler dildir. En sağlam ve aktif geliştirici topluluklarından birine sahiptir ve aktif bir web varlığına sahip dünyadaki her büyük şirket tarafından küresel ölçekte kullanılmaktadır.

PHP ayrıca çok geniş bir topluluğa sahiptir, ancak yıllar geçtikçe, yeni geliştiriciler PHP’den çok JavaScript üzerinde çalışan çerçevelere yöneldi.

Dil çapraz derleme

Birçok dil çapraz derlenebilir ve JavaScript’te çevrilebilir – Java, C #, Lisp ve hatta BASIC gibi diller. Üstelik JavaScript, sıkı programlamayı seven geliştiriciler için TypeScript ve CoffeeScript gibi üst kümelere sahiptir.

PHP geliştiricileri için en iyi JavaScript arka uç çerçeveleri

JavaScript’i ilk kez deneyen bir PHP geliştiricisi olarak, JavaScript’i kullanmaya başladığınızda hangi çerçevelerin tanıdık geleceğini bilmek önemlidir. Karar vermek için şunları göz önünde bulundurmalısınız:

  • Alışkın olduğunuz mimarileri hangi çerçeveler destekliyor?
  • Veritabanı bağlantısı ve yapılandırması var mı?
  • Çerçeve, uygulama içinde ön uç oluşturmayı destekliyor mu veya ön uç ile iletişim kurmak için API’leri kullanıyor mu?
  • Bu çerçeveyle oluşturduğunuz uygulamayı sürdürmek ve ölçeklendirmek ne kadar kolay?

Kararı biraz daha kolaylaştırmak için işte size tavsiye edeceğim birkaç JavaScript çerçevesi. Bu çerçeveler, programlama için farklı yaklaşımlar kullanır ve mimarileri farklılık gösterir. Ancak uygulama türünüze bağlı olarak, tavsiye edeceğim seçenekler bunlar.

AdonisJ’ler

AdonisJ’lerle başlıyorum çünkü Laravel’in popüler olduğu MVC mimarisini destekliyor. AdonisJs, mikro hizmetler yazmak ve standart uygulamalar oluşturmak için kullanılan bir JavaScript çerçevesidir.

Laravel’den ilham alır ve kod organizasyonu için sağlayıcıları ve bağımlılık enjeksiyonunu kullanmayı kapsayan aynı programlama modelini takip eder. Adonis.js’nin dosya dizini bile Laravel’e benzer ve bir Laravel geliştiriciyseniz başlamak için en iyi çerçevedir.

AdonisJ’ler, API’leri oluşturmada çok etkilidir ve hafif bir uygulamadır, bu nedenle onu başlatmak için çok fazla depolama alanı veya yapılandırma gerektirmez. Ayrıca MySQL (PHP’nin kullanımı ile ünlüdür), SQLite, Redis ve diğerleri gibi bir dizi veritabanını destekler.

Express.js

Express.js, web ve mobil uygulamalar için sağlam bir dizi özellik sağlayan minimal ve esnek bir Node.js web uygulaması çerçevesidir. Ayrıca tek sayfalı, çok sayfalı ve hibrit web uygulamaları oluşturmak için tasarlanmıştır. Zamanla, Node için standart sunucu çerçevesi haline geldi.

Express, sunucu tarafı programlamayı tamamen içerir ve MongoDB ile son derece uyumludur, ancak Mongo’ya gerçekten aşina değilseniz MySQL gibi diğer veritabanları ile kullanılabilir. Express, ön uç uygulamaları oluşturmayı desteklerken, API’ler oluştururken kullanılması şiddetle tavsiye edilir.

AdonisJ’ler gibi, Express de MVC mimarisini destekler ancak diğer modellere de açıktır – seçim sizin.

Node.js

Evet, Node.js, tam yığın uygulama çerçevesi olmasına rağmen bir arka uç çerçevesi olarak da düşünülebilir.

Node.js, Chrome’un V8 JavaScript motorunu temel alan bir JavaScript çalışma zamanıdır. Düğüm, onu hafif ve verimli kılan, olay odaklı, engellemeyen bir G / Ç modeli kullanır. Eşzamansız, olay odaklı bir JavaScript çalışma zamanı olarak Node.js, ölçeklenebilir ağ uygulamaları oluşturmak için tasarlanmıştır.

Node.js’nin bir başka güzelliği de Adonis.js, Express.js ve diğerleri gibi diğer çerçevelerin Node.js üzerine inşa edilmiş olmasıdır. Yani evet, zevkinize ve kendi mimarinizi göz önünde bulundurarak yapılandırılmış yeni bir çerçeve oluşturmak için Node.js’yi kullanabilirsiniz.

Next.js

Next.js, arka uç ile ön uç arasındaki çizgiyi gerçekten bulanıklaştıran tam yığın bir web uygulama çerçevesidir. Next.js, ön uç olarak düşünülebilecek, kullanıcıların görüntüleyebileceği ve etkileşime girebileceği, istemci tarafında önceden oluşturulmuş bir React uygulamasıdır.

Aynı zamanda, sunucu tarafı kod çalıştırabilen ve veritabanındaki verilere erişebilen sunucu tarafı oluşturma ve API yollarını da yönetir – bu nedenle arka uç olarak kabul edilebilir.

Next.js da typescript destekler ve kullandığı m mimarisi onorepo tek bir yerde, mağazalar, tüm yapılandırma ve test dosyaları, atomik kaydedilmesini sağlar ve genel olarak bir depo içerideki bütün izole kod parçalarını tutar.

Sonuç

Bir geliştirici olarak, bir uygulama oluşturmak için hangi çerçevenin veya dilin kullanılacağına karar vermek zordur. Her zaman kullanım durumuna bağlı olacaktır ve sizin adınıza karar vermek için burada değilim. Sadece fikirlerimi ve uygulamalarımı oluşturmak için JavaScript kullanmaya başlamamın nedenlerini paylaşıyorum. Beni yanlış anlamayın – PHP’yi severim, ancak JavaScript’i tercih ederim. Umarım bu makale, neyi ne zaman kullanacağınıza karar verirken size bir bakış açısı kazandırır.

Performansı artırmak veya yeni özellikler oluşturmak için yeni JS kitaplıkları mı ekliyorsunuz? Ya tersini yapıyorlarsa?

Ön uçların daha karmaşık hale geldiğine şüphe yok. Uygulamanıza yeni JavaScript kitaplıkları ve diğer bağımlılıklar ekledikçe, kullanıcılarınızın bilinmeyen sorunlarla karşılaşmamasını sağlamak için daha fazla görünürlüğe ihtiyacınız olacaktır.

LogRocket , hatalara daha etkili bir şekilde tepki verebilmeniz için JavaScript hatalarını kendi tarayıcınızda olmuş gibi yeniden oynatmanıza olanak tanıyan bir ön uç uygulama izleme çözümüdür.

https://logrocket.com/signup/

LogRocket , çerçeveden bağımsız olarak herhangi bir uygulamayla mükemmel çalışır ve Redux, Vuex ve @ ngrx / store’dan ek içerik kaydetmek için eklentilere sahiptir. Sorunların neden olduğunu tahmin etmek yerine, bir sorun oluştuğunda uygulamanızın hangi durumda olduğunu bir araya getirebilir ve raporlayabilirsiniz. LogRocket ayrıca uygulamanızın performansını izler, istemci CPU yükü, istemci bellek kullanımı ve daha fazlası gibi ölçümleri raporlar.

Güvenle oluşturun – Ücretsiz olarak izlemeye başlayın .

Makalenin orjinal kaynağı için tıklayınız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.