Sure, I'll summarize in a couple main points. 1) "It's just express". Most frameworks that I have encountered that are built on express tend to wrap or obfuscate express's api in some way. For example in locomotive for routing they have this.match() with string keys automatically generated from controllers, and so on. There are countless examples across various frameworks that introduce a lot of new specific api. And I'm not saying that these are bad but they are different from express (see point 2 for why that matters). Our approach was basically that express already works great, it's extremely popular, and people know how to use it. So we don't want to change how you use express. Instead we are trying to provide a consistent project structure and bootstrapping process, which is the problem that express does not solve and is pretty agnostic on. In express train, the express app is available to your modules and you operate on it directly. Meaning for routing, middleware stack, and everything else, if you already know how to use express there is nothing new to learn there.
2) Express train is designed with large-scale & team projects in mind. Over the course of a project you will add or lose developers. You may have a lot of modules. Consistency and code readability are really important. This is part of why we think "it's just express" is valuable. Express train also bootstraps the application using nject, a module that automatically resolves the application's dependency tree and injects dependencies (this should look very familiar to angularjs users). This means that express train does not require lots of initialization code, and it is easy to test out of the box. It also means that throughout your project injected variable names always match file names. I.E. the "Users" variable is the export of Users.js. That makes it really easy to read code and know where functionality is coming from. I'm sure there are lots of other differences as you compare against various frameworks. But these are the main discriminators we see in express train, and are the reasons we had in mind when we built the project. On Tue, May 21, 2013 at 11:26 PM, Duy Nguyen <[email protected]> wrote: > Hi congrats you and your team and thanks for sharing, > > Have not used express-train but I have used express, locomotivejs and > compoundjs, could you point out some advantages(noticeable features) of > express-train to those frameworks? > > Best, > > > On Wed, May 22, 2013 at 12:20 AM, autoric <[email protected]> wrote: > >> Hi All, >> >> https://github.com/autoric/express-train >> >> Express Train is a lightweight mvc framework built on top of express. We >> have developed express train internally and been using it in our >> applications over the last year. >> >> In comparison to other mvc frameworks express train aims to provide >> *consistent >> structure* and bootstrapping to your projects *without obscuring or or >> rewriting the express api*. >> >> With our 1.0 release we are now feeling like the project is pretty stable >> and ready to open up to a wider audience. If you have interest, please >> check it out and give feedback. >> >> Thanks! >> >> -- >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > Nguyen Hai Duy > Mobile : 0914 72 1900 > Skype: nguyenhd2107 > Yahoo: nguyenhd_lucky > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to a topic in the > Google Groups "nodejs" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/nodejs/k6zINWAoWaQ/unsubscribe?hl=en. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
