LAY vs. LAMP Stack Artıları ve Eksileri
Web yığınları teknoloji ve arka uç dillerinde gelişmelerle birlikte onlarca yıldan beri gelişmiştir. En popüler web yığınlarından ikisi şu anda LAMP ve MEAN'dir. Arka uç dilleri, veritabanları ve sunucu ortamları için iki farklı teknolojiye güveniyorlar. "Stack" terimi; web sunucusu ortamı oluşturmak için üst üste yığılmış teknolojiler.
Bu makalede, bu iki web yığınını, hem profesyonel hem de aleyhte olan teknoloji seçimlerine bakarak açıklığa kavuşturmak isterim. Her yığın nerede üstündür? Her iki seçenekten en fazla ne tür projeler yararlanabilir? Web teknolojilerinde yeniyseniz veya yalnızca bu iki yığın hakkında bilgi edinmek istiyorsanız, bu kılavuzda ihtiyacınız olan her şey bulunur..
Geleneksel LAMP Geliştirme
Çoğu geliştirici geleneksel LAMP yığını hakkında bilgi sahibi olmalıdır çünkü ilk ağlardan beri. LAMBA kısaltması Linux, Apache, MySQL ve PHP. Bunların her biri, çok yönlü bir sunucu çözümü oluşturmak için birleştirilen bireysel yazılım paketleridir..
LAMBA'ya yapışmanın en büyük nedeni güvenlik ve yaygın destek. Onlarca yıldan beri var ve web siteleri barındırmada kanıtlanmış bir yöntem.
PHP ve MySQL gibi tüm arka uç teknolojisi iyi bilinir ve her büyük barındırma sağlayıcısı tarafından desteklenir. Bir LAMP yığını üzerinde çalışıyorsanız, temel olarak her yerde barındırabilirsiniz. Ek olarak, sen almak en popüler CMS motorlarına erişim. WordPress, Drupal ve Joomla PHP / MySQL'de çalışıyor.
Var özelleştirilebilir seçenekler Apache'nin nginx ile değiştirilmesi LEMP gibi LAMP mimarisi içinde. Ayrıca bir Windows sunucusundaki bir değişkeni WAMP yığını olarak çalıştırabilirsiniz.
Ancak tüm temel yazılım - Apache, MySQL ve PHP dahil - açık kaynaklı, ve öncelikle Linux için yapılmış. İşte bu yüzden Linux bir sunucu ortamı için en anlamlı olanıdır ve bu yüzden LAMP modern web geliştirme için zaman testine girmiştir..
Çoğu geliştirici bu rotaya gidiyor çünkü çevrimiçi bir web sitesi almanın en basit yolu. LAMP ortamını yapılandırmak ve sorunlarını gidermek için ihtiyacınız olan her şeyi kapsayan forumlarda çok fazla destek bulacaksınız. Örneğin, daha fazla bilgi için bu ServerFault sorusunu inceleyebilirsiniz..
MEAN ile JavaScript Backend
Node.js, JavaScript ile oluşturulmuş ölçeklenebilir uygulamaları çalıştırmaya kararlı olan geliştiriciler için en yeni teknolojidir. düğüm MEAN yığınına güç veriyor, ve birincil bir avantaj sunar: her şey tek bir dilde çalışıyor.
ANLAMINA GELMEK kısaltması MongoDB, Express.js, Angular.js, ve tabi ki node.js. Bu kısaltma, bir sunucu işletim sistemi veya sunucu yazılımı için bir gereklilik getirmez. Bir ANAY yığını herhangi bir işletim sisteminde çalışabilir, ve Düğüm, arka uçta JS'yi işlemek için kendi sunucusuyla birlikte gelir.
Mean.io web sitesinde çok sayıda belge ve destek bulacaksınız.
Bu yığın çok fazla ilgi görmesine rağmen, hala geleneksel bir LAMP yığını olarak sabit destek miktarına yakın bir yerde değil..
Peki neden kimse MEAN ile gelsin ki? Çünkü o sonuçta daha hızlı ve ölçeklendirmek daha kolay. MongoDB bir NoSQL veritabanı sorguları optimize eder. Fullstack JavaScript'in kullanımı da gelişimi geliştirir, çünkü bir dil tüm ön uç ve arka uç çalışmaları için geçerlidir..
Ayrıca birçok diğer JS çerçevesi piyasaya istikrarlı çözümler olarak bakıyor. Örneğin, MEAN bir MEEN yığını Angular ile Ember'in değiştirilmesi.
Programcılar MEAN yığınını sevecekler çünkü sürdürülebilirlik ve büyüme için kodu ayırır. Bu yapar JavaScript web uygulamalarınızı doğal bir ortamda çalıştırmaları için düzenlemek daha kolay.
Bu konuda öğrenilecek çok şey var ve bu muhtemelen yeni geliştiricilerin girişindeki en büyük engel. Bir MEAN uygulamasını yönetmek için gereken tüm teknolojileri öğrenmek aylar alabilir. Ancak Düğüm'ü seviyorsanız ve her şeyi JavaScript'te çalıştırmak istiyorsanız, bu çabaya değer.
İşte başlamanıza yardımcı olacak bazı yeni başlayanlar için öğreticiler.
- Node.js için Mutlak Bir Başlangıç Kılavuzu
- Felix's Node.js Yeni Başlayanlar Kılavuzu
- Express.js'ye giriş
- MEAN ile Modern Web Uygulamaları Geliştirmeyi Öğrenin
- Node.js, Express ve MongoDB'ye Başlarken
PHP vs. Düğüm
PHP 90'ların ortasından beri buralarda ve en popüler arka uç dili. Birçok web geliştiricisi PHP ile başlar (veya sonunda öğrenir) çünkü web platformları ve barındırma sağlayıcıları arasında çok baskın.
Düğüm daha yeni bir çerçevedir ancak popülaritesi olağanüstü hızlı bir şekilde artmıştır. Bu, NPM'nin web geliştiricileri için bir paket yöneticisi olarak popülaritesini içerir ve Angular 2 gibi güçlü ön uç çerçevelerine daha da genişler..
Düğümün bir başka faydası da kendi web sunucusu ile birlikte geliyor. JavaScript bir MEAN yığınında her şeyin temelinde yer almaktadır, bu nedenle JS'yi seviyorsanız, MEAN web uygulamaları oluşturmayı gerçekten seveceksiniz.
Birçok geliştirici PHP'nin kötü tasarlanmış bir dil olduğunu düşünüyor;, Rasmus Lerdorf aslında bir dil olarak tasarlamadı. PHP olarak başladı web siteleri için genel çözüm, ve hızlı bir şekilde ilgisiz işlevlerden oluşan büyük bir kütüphaneye dönüştü..
Fakat PHP 7 ile birçok dilin hatasını düzeltmeye çalışıyor ve bedava OOP Laravel, PHP gibi çerçeveler şimdi olduğundan daha iyi bir dildir..
Yani dil tartışması aşağı iniyor kişisel seçimin. JavaScript yazmayı gerçekten seviyor musun? O zaman bir MEAN yığını ile Düğüm dikkate değer olabilir.
Eğer zaten PHP'yi tanıyorsanız ve bildiklerinize bağlı kalmak istiyorsanız, LAMP uygun bir yoldur.
Genel Artılar ve Eksiler:
Var çoklu katmanlar işletim sistemi, sunucu yazılımı, veritabanı ve arka uç dili de dahil olmak üzere karşılaştırılacak her bir web yığınının.
(1) ORTA yığını Ayrıca Açısal içerir Bu bir ön uç çerçevedir. Bir LAMP yığında herhangi bir gerekli çerçeve yoktur, ancak oluşturduğunuz herhangi bir uygulamaya her zaman kendinizinkini ekleyebilirsiniz..
(2) İşletim sistemi ile ilgili olarak, LAMP yığını Linux türevini arar. Linux genellikle en iyi seçimdir Yığın ne olursa olsun bir sunucu ortamı için ve MEAN için de geçerlidir..
(3) Şimdi sunucunun işletim sistemi sadece bilgisayar yazılımıdır, ancak web sunucusu yazılımı. Bunu almak için Apache veya nginx gibi bir programa ihtiyacınız var. LAMP Apache'yi kullanıyor çünkü mevcut en istikrarlı seçeneklerden biri..
(4) MEAN, Node.js sunucusunu kullanır. Düğüm paketinin bir parçası. Hala oldukça yeni ve çok sayıda destek varken, Düğüm, Apache ile aynı büyüklükteki topluluğa yakın hiçbir yerde bulunmuyor.
(5) Ayrıca bir Node sunucusu gerektirir JavaScript'in bir arka ucu (uzantıları olmadan). Apaçi çoğu arka uç diline izin verir, ve daha fazla destek için birçok ücretsiz uzantı var. Ancak şu anda Apache'nin Node desteği için hiçbir şeyi yok..
(6) Veritabanı Yönetimi nerede bulacaksın en büyük fark. LAMP ilişkisel veri depolaması için MySQL kullanırken, MEAN ilişkisel olmayan bir veri tabanı olan MongoDB'yi kullanır. İlişkisel olmayan veritabanları Çok daha hızlı, ve daha yüksek trafikle daha kolay bir ölçeklendirme yöntemi sağlar.
(7) Aklınızda bulundurun PHP sadece MySQL ile sınırlı değildir. MongoDB ve PostgreSQL veya SQLite gibi diğer alternatifleri kullanabilir. Sadece çoğu PHP geliştiricisi MySQL'i tanıyor, bu yüzden tipik bir LAMP yığını için ana rakip.
(8) YEDEK yığınları tipik olarak daha hızlı koş ve büyüt, ancak sistemi öğrenmek için daha fazla zaman ve sunucu bilgisi gerektirir. LAMBA yığınları Denenmiş ve gerçek, ve geliyorlar kutudan dışarı En güvenli altyapı ve akla gelebilecek en geniş destek ile.
(9) Programlama dilleri, iki yığın arasında büyük bir fark yaratıyor. LAMP öncelikle, WordPress ve Laravel çerçevesini içeren PHP üzerinde çalışır. MEAN, Frontgular'da AngularJS ile arka uç için ExpressJS / NodeJS üzerinde çalışıyor.
(10) Anlamı tam yığın JavaScript, ve onu çalıştırmak için öğrenmen gereken çok şey var. Bu bir sık sık yeni başlayanlar seçimi web uygulaması geliştirmede sınırları zorlamak için istekli. LAMBA ile daha geleneksel Ön uçta JS, arka uçta PHP. Sadece isteyenler için yapılmış web siteleri çok fazla endişe duymadan çevrimiçi olsun.
Lütfen daha fazla bilgi edinmek için bu karşılaştırma kılavuzunu inceleyin. Hiçbir seçim doğru ya da yanlış değil, sadece farklı ve farklı projeler için yapılmış.
Kaydırma
Çoğu web sitesinin test edildiğinden ve Google'da dizine eklenmiş birçok soru ve cevap konularına sahip olduğu için LAMP yığına yaslandığını söyleyebilirim. MEAN hala büyüyor ve çok fazla desteğe sahip, ancak çoğu insanın uğraşmak istediğinden daha teknik olabilir.
Her ikisini de denemekten çekinmeyin ve kendiniz görün. Mümkün her iki kurulumu da yerel olarak yükle Bilgisayarınızda ve uzak bir sunucu olmadan üzerine inşa.
Her iki yığında da daha fazla bilgi arıyorsanız, aşağıda bir dizi kullanışlı bağlantı topladım.
- MEAN ile Modern Web Uygulamaları Geliştirmeyi Öğrenin (Thinkster.io)
- Docker LAMP Yığın Yöneticisi (Jessesnet.com)
- Debian 8 Linux, Apache, MySQL, PHP (LAMP) Yığını Nasıl Yüklenir (Digitalocean.com)