node.js ile meteor.js arasındaki fark nedir? [kapalı]


88

Bu yüzden meteor.js hakkında çok şey duyuyorum / okuyorum. Eğitimler, bir çerçeve olarak çok sportif görünmesini sağlıyor, ancak web programlama söz konusu olduğunda hala biraz acemiyim.

Son bir buçuk aydır node.js'yi gerçekten öğrenmek ve hepsinin nasıl bir araya geldiğini anlamaya çalışıyorum. Ayağa kalkıp koşmanın ne kadar hızlı ve kolay olduğunu ve onunla birlikte gelen topluluğu (Düğüm için alabileceğiniz akıllara durgunluk veren çerçeve sayısı ile örneklenen) seviyorum.

Peki ya meteor? Bunun gerçek avantajları nelerdir ve farkı nedir? Herhangi biri bir node.js kullanıcısı olarak başladı ve 'dönüştürüldü' mü yoksa daha çok merak uyandıran yeni bir çerçeve mi?

Yanıtlar:


159

Basit bir benzetme, "Rails Ruby için olduğu gibi Meteor Düğüm içindir." Sunucuda Node'u kullanan büyük, kararlı bir çerçevedir. Düğümün kendisi, HTTP isteklerini göndermek ve almak ve diğer I / O'ları gerçekleştirmek için işlevler sağlayan düşük düzeyli bir çerçevedir.

Meteor radikal bir hırslıdır: Varsayılan olarak, sunduğu her sayfa aslında sunucuyla senkronize tutulan bir Gidon şablonudur. Skor Tablosu örneğini deneyin : Yalnızca "Adları ve puanları listeleyin" yazan bir şablon oluşturursunuz ve herhangi bir müşteri bir adı veya puanı her değiştirdiğinde, sayfa yeni verilerle güncellenir - yalnızca o müşteri için değil, sayfa.

Diğer bir fark: Düğümün kendisi kararlı ve üretimde yaygın olarak kullanılsa da, Meteor "önizleme" durumundadır. Ciddi hatalar var ve Meteor'un veri merkezli kavramsal modeline uymayan bazı şeylerin (animasyonlar gibi) yapılması çok zor.

Yeni teknolojilerle oynamayı seviyorsanız, Meteor'a bir şans verin. Node üzerine kurulu daha geleneksel, kararlı bir web çerçevesi istiyorsanız, Express'e bir göz atın .


2
Meteor geçen yıldan beri "ciddi hatalarını" iyileştirdi mi?
danorton

3
@danorton Evet, kesinlikle öyle derim. Bazı uygulamalar için, Meteor artık oldukça uygulanabilir ve geliştirmek için mutlak bir zevk.
Trevor Burnham

4
Ayrıca, Meteor aktif geliştirme aşamasında olduğu ve geliştirme süresini hızlandırarak onu "önizleme" aşamasından çıkararak önemli mali katkılar elde ettiği için bu cevabın sonunda tam olarak doğru olmayacağını unutmayın.
Goddard

12

Meteor, node.js üzerine inşa edilmiş bir çerçevedir. Dağıtmak için node.js kullanır, ancak birkaç farklılığı vardır.

Anahtar, düğümün modül tabanlı sistemi yerine kendi paketleme sistemini kullanmasıdır. Node kullanarak web uygulamaları yapmayı kolaylaştırır. Düğüm çeşitli şeyler için kullanılabilir ve dinamik web içeriği sunma konusunda kendi başına korkunçtur. Meteor kütüphaneleri tüm bunları kolaylaştırır.


4
0.6.0 sürümü artık NPM modülleri için doğrudan desteğe sahip meteor.com/blog/2013/04/04/…
Max Hodges

9

Meteor'un gücü, üzerinde çalıştığınız şey için herkesin güncellemelerini gördüğünüz günümüzde gördüğünüz bazı sosyal uygulamalarda iyi çalışan gerçek zamanlı güncelleme özelliğinden kaynaklanmaktadır. Bu güncellemeler, web tarayıcınızda yerel mini-mongo (istemci tarafı MongoDB alt kümesi) veritabanı güncellemeleri olarak kapakların altındaki bir MongoDB koleksiyonunun alt kümelerini çoğaltma etrafında toplanır (bu, şablonlarınızda birden çok işleme etkinliğinin başlatılmasına neden olur). Birden fazla render güncellemesiyle ilgili ikinci kısım da zayıflıktır. Kullanıcı arayüzünüzün kullanıcı arayüzünün ne zaman yenileneceğini kontrol etmesini istiyorsanız (örneğin, HTML'yi yüklediğiniz ve tüm AJAX çağrılarını ve UI güncellemelerini kontrol ettiğiniz klasik jQuery AJAX sayfaları), bu mekanizma ile savaşacaksınız.

Meteor, ihtiyaç duymadığınız depolama katmanı için w / MongoDB'nin altında güzel bir Node.js eklentisi yığını (Handlebars.js, Spark.js, Bootstrap css, vb. Ancak npm yerine kendi paketleme mekanizmasını kullanarak) kullanır. hakkında düşün. Ancak bazen bununla da mücadele edersiniz ... örneğin, Bootstrap temasını özelleştirmek istiyorsanız, Bootstrap'ın responsive.css dosyasının yükleme sırasını bozar, böylece artık yanıt vermez (ancak bu muhtemelen Bootstrap olduğunda kendi kendine düzelir. 3.0 yakında piyasaya sürülecektir).

Dolayısıyla, tüm "tam yığın çerçeveler" gibi, uygulamanız amaçlanan şeye uyduğu sürece işler harika çalışır. Bu kapsamın ötesine geçip sınırları zorladığınızda, çerçeveyle savaşabilirsiniz ...


2
Meteor V0.6.0 + npm entegrasyonuna sahiptir: meteor.com/blog/2013/04/04/…
Manav Kataria
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.