[ANN] Express Train - Lightweight MVC framework for Express

208 views
Skip to first unread message

autoric

unread,
May 21, 2013, 1:20:46 PM5/21/13
to nod...@googlegroups.com
Hi All,


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!

Duy Nguyen

unread,
May 21, 2013, 11:26:25 PM5/21/13
to nod...@googlegroups.com
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,


--
--
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 nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
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 nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Nguyen Hai Duy
Mobile : 0914 72 1900
Skype: nguyenhd2107
Yahoo: nguyenhd_lucky

Erin Noe-Payne

unread,
May 22, 2013, 11:18:32 AM5/22/13
to nod...@googlegroups.com
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.



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 nodejs+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages