Are you sure? I used Turbolinks with another, similar framework - KnockoutJS - and it all worked OK. But if somebody want to build singe page sit it does not need to use Turbolinks.
Once you start using more third party plugins, more advanced UI, own workflow and bindings, turbolinks may be a potential blocker. It can be useful, but only for simple sites, sites without too many legacy javascript code and plugins. So it is not better for every site, for sure.
After playing a while with Turbolinks I had to disable it. Too many small problems with other JavaScript code. it also does not fit to more complex scenarios. I wonder why Rails core team decided to add Turbolinks to incoming Rails 4. For more complex site, all those additional side effects are not worth. I think, that full blown Javascript MVC framework (e.g. AngularJS) can be a better way. Not only faster (only chosen parts of the page are refreshed) but also simpler (no jQuery spaghetti hell, thanks to two-way data binding)
Rails is not a PHP framework where every request always destroys and creates all variables and object over and over again. In Rails class variables are created once during boot time. They are not recreated with incoming new HTTP request. So in multithreaded mode those variables should not be changed or should be guarded by mutex.
I think it would be worth to mention ExtJS 4 / Sencha Touch 2. It is more comprehensive and powerful than Backbone. It uses similar approach - client side MVC but Sencha have also validators, a lot of widgets and the killer app - Sencha Designer 2, graphics IDE for fast building the whole application (see: http://vimeo.com/36420727) In all such solutions Rails can be narrowed to be just RESTfull server...
From my experience, Sphinx is about 1000x faster than Solr when I have to index several millions rows from MySQL. And Sphinx can use case insensitive searching with different languages. I could not find Lucene collation files nor it was clear how to create them.
Hi Ryan, have you ever considered doing a cast about Torquebox? Torquebox supports all Rack-based (J)Ruby frameworks and it comes with job scheduling and asynchronous task scheduling out of the box (no extra installs necessary) Torquebox is the most enterprise-oriented platform I've seen to date.
Cage Match - EmberJS vs. Angular http://vimeo.com/68215606
Cage Match - EmberJS vs. Angular http://vimeo.com/68215606
Vide: Ember vs Angular
Good article: Ember vs Angular
DurandalJS vs. AngularJS
It's already fixed. binding_of_caller works with Ruby 2.0.0p0
Check that one ;) http://durandaljs.com/
There is another one, JS MVC framework for Rails - Joosy. And Node.js is not a client side framework. It's the server side framework.
Migrating from Ember.js to AngularJS ;)
Are you sure? I used Turbolinks with another, similar framework - KnockoutJS - and it all worked OK. But if somebody want to build singe page sit it does not need to use Turbolinks.
Something for Show Notes:
AngularJS Batarang - AngularJS WebInspector Extension for Chrome
AngularJS YouTube channel, e.g. "AngularJS MTV Meetup: Best Practices"
Unfortunately, Ruby 2.0.0-rc1 does not work with binding_of_caller :(
How? It launches an external console, not better_errors. Also binding.pry only set up a breakpoint at the specific place.
Once you start using more third party plugins, more advanced UI, own workflow and bindings, turbolinks may be a potential blocker. It can be useful, but only for simple sites, sites without too many legacy javascript code and plugins. So it is not better for every site, for sure.
After playing a while with Turbolinks I had to disable it. Too many small problems with other JavaScript code. it also does not fit to more complex scenarios. I wonder why Rails core team decided to add Turbolinks to incoming Rails 4. For more complex site, all those additional side effects are not worth. I think, that full blown Javascript MVC framework (e.g. AngularJS) can be a better way. Not only faster (only chosen parts of the page are refreshed) but also simpler (no jQuery spaghetti hell, thanks to two-way data binding)
They did wrong. That's true, MongoDB is not very good for abstracting complex social network structures. But MySQL is not any better either! For that class of problems the best solution is graph database. http://www.infoq.com/presentations/emil-eifrem-neo4j. (for Rails: http://neo4j.rubyforge.org/guides/rails3.html)
Rails is not a PHP framework where every request always destroys and creates all variables and object over and over again. In Rails class variables are created once during boot time. They are not recreated with incoming new HTTP request. So in multithreaded mode those variables should not be changed or should be guarded by mutex.
+1 for ExtJS 4.1
+1 for evergreen because it use jasmine with coffeescript
What about Knockback http://kmalakoff.github.com/knockback ? It is a hybrid of Backbone and Knockout, seems to take the best parts from both.
I think it would be worth to mention ExtJS 4 / Sencha Touch 2. It is more comprehensive and powerful than Backbone. It uses similar approach - client side MVC but Sencha have also validators, a lot of widgets and the killer app - Sencha Designer 2, graphics IDE for fast building the whole application (see: http://vimeo.com/36420727) In all such solutions Rails can be narrowed to be just RESTfull server...
From my experience, Sphinx is about 1000x faster than Solr when I have to index several millions rows from MySQL. And Sphinx can use case insensitive searching with different languages. I could not find Lucene collation files nor it was clear how to create them.
Hi Ryan, have you ever considered doing a cast about Torquebox? Torquebox supports all Rack-based (J)Ruby frameworks and it comes with job scheduling and asynchronous task scheduling out of the box (no extra installs necessary) Torquebox is the most enterprise-oriented platform I've seen to date.