#351 A Look at Meteor pro
Meteor is a JavaScript framework for building rich client-side applications. Here I re-create the Raffler app to compare with Backbone.js and Rails. Meteor may not be related to Rails, but I think many will find it interesting.
- Download:
- source code
- mp4
- m4v
- webm
- ogv
Really nice to see such presentation in RailsCasts. Even if little aside from Rails itself it's highly appreciated.
Following the same path, I'd love to see the same Raffler application made with EmberJS (formally SproutCore 2).
I would like to see that too
+1. Would like to see an introduction to emberjs using rails.
+1
Yes please! Trying right now to make the decision of backbone or ember.
+1 on EmberJS screencast. Different technologies are always welcome!
+1 for EmberJS
+1 on a Rails + Ember.js example that includes basic authentication and authorization.
+1 again for the Rails/EmberJS screencast and including basic authentication/authorization would be a huge bonus!
+1
+1
+1
+1
+1 EmberJS
+1
+1 to ember.js!
+1 for Ember.js!
Awesome. Ryan, do you reckon Meteor is production ready at this time?
No, Meteor is still in very early development. It's API changes frequently and also I believe the whole DB is exposed to the client. I'm not 100% sure about the last one though.
Well meteor looks as magical as Rails did the first time i saw Rails, I mean , where is the db connection set? I know everything is work via CoC but wow that is one slim app.
I believe that is even if meteor or similar clients side technologies don't replace Rails eventually there is a very high possibility they could replace sinatra apps since I use sinatra for very similar applications and meteor does seems to be a quicker/slimmer/awesomer solution.
Wow! Super impressive. Thanks a lot Ryan. I was intrigued by backbone.js, but it really seemed confusing to me. Meteor has a lot of qualities that Rails had that made me want to dive in. I look forward to using it
Ya, A similar episode with Ember JS would be super useful. How does Node JS fit into all this?
Meteor is running on Node.js. As javascript was a client side only script it lacked functionality to make it run on the server, for example there was no api for IO interaction in javascript (no way to access the hard drive), the team of Node.js build a non blocking IO api and since node is recent the api is very modern.
Now Node.js runs on top of V8 , and all (that i now of) server side javascript plaforms run on top of Node.js. Backbone.js is a client side technology so it not related to Node.js. For an extensive explanation of what is cool about node and what it really is read this thread http://stackoverflow.com/questions/3436335/could-node-js-replace-ruby-on-rails-completely-in-the-future
Nice response!
+1 for Ember.js
+1
I love that you expose me to new technologies that I may never have checked out in my frenzy to get my work done. I'm a far more well rounded developer thanks to you.
+1 for AngularJS
+1 to that!
+1 to that.
I would love to see some AngularJS too. It seems like the thinnest one, compared to Backbone.js and Knockout.js (although it does not provide a full server like meteor).
I'm keen to understad which of these rich application frameworks would be best suited for developing HTML5 mobile apps. How well do they work with offline storage and automatic synchronisation?
+1 for ExtJS 4.1
I enjoyed the introduction to Meteor.
I think Opa, http://www.opalang.org is another option to look at that is equally mind-blowing and perhaps more mature than Meteor.
Can anyone tell me how this kind of frameworks handle file uploads, since ajax upload is not standardized?
The video always cuts off at the last moment.
Yes, always.
For me too. Using Google Chrome 19.0.1084.46 m on Windows 7.
Maybe add a few extra seconds of silence at the end?
Me too. OS X FF10
me too xD
Meteor looks awesome! I would love to see another screencast on meteor, perhaps with more advanced concepts
1st look at meteor - awesome! Second look, forget it. sass does not seem to work at all, you can't customize twitter bootstrap as there is no way to customize what files are loaded in what order, ... I try it again in some years... screencast great as always!
Is there a relation between this and meteorserver?
No
I went ahead and started a project with meteor then got stuck on a multi-table-join problem.
I documented it here:
https://github.com/meteor/meteor/issues/147
For mainly this reason, I don't think meteor is production ready, but it certainly has some good ideas.
There is also derby, a very similar framework with somewhat different philosophies. A Railscast on that also comparing it to Meteor would be great. From what I read, derby seems to be more flexible and less "lockin" then meteor.
+1 on Derby. Derby allows you to use the 10k existing NPM modules vs the ~9 meteor only ones.
Actually I just read that you can use npm modules: http://stackoverflow.com/questions/10165978/how-do-we-or-can-we-use-node-modules-via-npm-with-meteor
So no lock in after all?
+1 both Derby.js and Ember.js are heading towards a full-stack solution, but integrate well with other best of breed options such as jQuery, Rails, Racer, Node, etc.
Ryan says in the end of the cast that Meteor is "only" for rich client side applications he is not normally working on. It appears to me though the trend for ALL web apps is currently exactly going towards that direction. Towards more interactive, javascript rich and snappy websites. As it is stated on the DerbyJS website: why not having realtime data push updates as a default on all websites if it is possible? To me it seems frameworks like Meteor and Derby are the future of web development. They also significantly improve the development experience by making browser reloads unnecessary. Opinions? I'd love to hear what others think. Especially, are there any use cases where "traditional" server side heavy frameworks like Rails are fundamentally working better than those new type of frameworks?
I've toyed with Derby and Meteor quite a bit over the last few weeks. Derby JS is by far my favorite. The biggest hurdle for both of these frameworks as a node novice has been lack of documentation but both of these frameworks are nothing short of revolutionary! Meteor has several full time programmers and a larger following, but at the end of the day Derby just makes more sense to me.
I have started playing with meteor. Developing is very smooth and fun. I get this "it just works" feeling, although there is still a lot missing in meteor. ;-) Actually I started first with derby as well, as it was also more appealing to me, however, I couldn't even get the examples to work. And reading the issues I found I'm not the only one.
While Derby and Meteor are nice at the first glance both a still in their –promising– infancy.
I expect to kind of web app to dominate in the future: Highly interactive and responsive apps build using frameworks like Derby, Meteor, Slipstream or alike. And static HTML assets / pages where no interactivity is necessary.
Rails will not be able to compete with any of these hyper modern Node frameworks as long as the Rails project avoids integrating Websockets as a core feature. We could of course integrate Juggernaut, Faye or Torquebox Stomp but would be left on our own devices. But then every one of us must build a synchronization mechanism.
I'm just considering AngularJS and Joosy. And whether generators would be useful to write all the boilerplate code by introspecting the existing models.
+1 For Ember.js. I watched the Ember crew sharing their product here: http://vimeo.com/36992934
Honestly, Ember.js is changing really fast at the moment. I would probably wait till certain approaches settle down.
That said maybe Mustache, or HandlebarJS could get their own episode.
This is an unbelievably awesome platform, very interesting..
https://github.com/railscasts/episode-351/blob/master/raffler-after/raffler.css is returning a 404 for me, the correct link should
https://github.com/railscasts/351-a-look-at-meteor/blob/master/raffler-after/raffler.css
Just adding another +1 for EmberJS
In case anyone failed to notice:
http://railscasts.com/episodes/408-ember-part-1
http://railscasts.com/episodes/410-ember-part-2
Awesome screencast! Thanks for exposing this, and making it easy for me to ask a question (almost a year later) "Gee, I wonder if this was ever discussed on Railscasts?"
After pulling my hair out a bit with EmberData, I'm completely blown away by meteor...
What's the word on meteor support for other database technology? Like a SQL db?
Meteor currently is heavily reliant on mongodb because it uses minimongo on the front end. I believe there are a few groups looking to implement a Postgres version on the backend. I think Mongo makes Meteor better because it forces you to design your applications with speed in mind.
the video doesn't work