Using tower.js for my first "real" project

1,187 views
Skip to first unread message

edubkendo

unread,
Apr 14, 2012, 1:16:19 AM4/14/12
to tow...@googlegroups.com
So, I guess I'll go first.  I'm a total noob. Over the last three or four months, I've worked through a dozen books, dozens of online tutorials, and watched hundreds of screencasts teaching myself first Rails (along with html, css, etc), Node, JS and my favorite Coffeescript. I've built lots of toy programs at this point, and I'm really itching to get started on my first real project, ie. the startup idea I've had burning inside me that got me motivated to learn how to do this in the first place. I know at this point that I want to build with Node and Coffeescript. It would be easier, I think, to do it with Rails (due to the enormous amount of easy to access information), but Node just makes so much more sense, and it is definitely the direction everything seems to be moving in, and I think that its far more suited to the sort of very dynamic, user-involved application that I have in mind. Looking at the various frameworks out there, tower most definitely sits the best with me, and just really seems to be doing everything right. 

That said, I have a couple of questions (actually hundreds, but a couple for now). First, is anyone actually already using tower for production environment, real-world, mission critical development? The impression I get is that viatropos already is, but I wasn't 100% sure because of discussions being held in the "issues" tracker on github. 

Second, I've spent hours upon hours pouring over both the "finalized" documentation on the towerjs site as well as the wiki on github, and I still feel completely overwhelmed and unsure of where to get started. Tower seems to have so many moving pieces, and I think that really understanding how they all fit together can only come from actually using them, but being able to use them without understanding how they all fit together creates a chicken-and-egg dilemma that is quite frustrating. Tower has a lot of clear, well-written documentation, in fact a deal more than any of the other "full-stack" Node frameworks out there. But what is missing, at least for someone like me, is a clear starting point.  The perfect thing, in my opinion, would be a nice tutorial that walks someone through the building of the infamous Todos app (or far better, something more interesting), explaining each step as you go, so someone like me could take that as a starting-point for gaining a more gestalt-like comprehension of using the framework, and build something with limited but full-functionality, that I could then use to begin creating something with more functionality.

However, as far as I am aware, nothing like this currently exists (and I didn't really expect it to, with tower being such a young framework), so I'd like to ask instead for some advice on where to get started. Does anyone have a full, working example of a towerjs app that I could look at in all its glory, play with, and maybe rebuild piece-by-piece to try to understand it, or else perhaps a list of steps to get me moving forward with learning it through trial-and-error? Or an other reccomendations at all? 

I apologize for the long-winded message, and thank everyone for their time in advance. Towerjs is a really cool framework, and I eagerly look forward to seeing how it develops.

Lance Pollard

unread,
Apr 17, 2012, 7:05:52 PM4/17/12
to tow...@googlegroups.com


On Friday, April 13, 2012 10:16:19 PM UTC-7, edubkendo wrote:
So, I guess I'll go first.  I'm a total noob. Over the last three or four months, I've worked through a dozen books, dozens of online tutorials, and watched hundreds of screencasts teaching myself first Rails (along with html, css, etc), Node, JS and my favorite Coffeescript. I've built lots of toy programs at this point, and I'm really itching to get started on my first real project, ie. the startup idea I've had burning inside me that got me motivated to learn how to do this in the first place. I know at this point that I want to build with Node and Coffeescript. It would be easier, I think, to do it with Rails (due to the enormous amount of easy to access information), but Node just makes so much more sense, and it is definitely the direction everything seems to be moving in, and I think that its far more suited to the sort of very dynamic, user-involved application that I have in mind. Looking at the various frameworks out there, tower most definitely sits the best with me, and just really seems to be doing everything right. 

That said, I have a couple of questions (actually hundreds, but a couple for now). First, is anyone actually already using tower for production environment, real-world, mission critical development? The impression I get is that viatropos already is, but I wasn't 100% sure because of discussions being held in the "issues" tracker on github. 

Tower is not production yet.  We're using/building it at our company as we go, but it's still sort of at a staging level.  It definitely works but there's a lot of edge cases to work through and test still.
 

Second, I've spent hours upon hours pouring over both the "finalized" documentation on the towerjs site as well as the wiki on github, and I still feel completely overwhelmed and unsure of where to get started. Tower seems to have so many moving pieces, and I think that really understanding how they all fit together can only come from actually using them, but being able to use them without understanding how they all fit together creates a chicken-and-egg dilemma that is quite frustrating. Tower has a lot of clear, well-written documentation, in fact a deal more than any of the other "full-stack" Node frameworks out there. But what is missing, at least for someone like me, is a clear starting point.  The perfect thing, in my opinion, would be a nice tutorial that walks someone through the building of the infamous Todos app (or far better, something more interesting), explaining each step as you go, so someone like me could take that as a starting-point for gaining a more gestalt-like comprehension of using the framework, and build something with limited but full-functionality, that I could then use to begin creating something with more functionality.

Totally agree with you.  I have been very busy building out the core of Tower and trying to simplify the installation process before I build a screencast and a clear set of getting started docs.  There's still roughly 3-4 more weeks of work to be done before I'll feel comfortable thinking about formally announcing it with a couple examples.

To finish the entire roadmap (github.com/viatropos/tower/wiki/roadmap) up to 0.5.0, I'm ball-parking the end of June.  Most of the "hard" work is done (associations, query language, working on view/autoupdating now with Ember.js, etc.), and I have a thorough understanding of how to build everything on that list, now it's just a matter of the time it takes to implement.

Ideally by 0.5.0, Tower will have 2-3 more robust apps demoing as much as possible about the framework, as well as the simple todos and blog examples.  These will demo geo-location queries, authentication, authorization, multiple file uploading, associations, as well as all the real-time updating stuff.  Can't give any exact timeframes but myself and quite a few people in the community are actively making this happen faster than originally planned, which is cool.

I understand this is a strong point in picking a framework.  I wanted to make sure it was built right though before we jump into the tutorials.  If you have any questions getting started though definitely feel free to send me an email or ask questions on StackOverflow.
 

However, as far as I am aware, nothing like this currently exists (and I didn't really expect it to, with tower being such a young framework), so I'd like to ask instead for some advice on where to get started. Does anyone have a full, working example of a towerjs app that I could look at in all its glory, play with, and maybe rebuild piece-by-piece to try to understand it, or else perhaps a list of steps to get me moving forward with learning it through trial-and-error? Or an other reccomendations at all? 

I will try to get something of a better demo up in within the next month or two.  For now you can get pretty far by just generating a new app and a few models according to the README and seeing how everything fits together.
 

I apologize for the long-winded message, and thank everyone for their time in advance. Towerjs is a really cool framework, and I eagerly look forward to seeing how it develops.

Hope that helps.

Lance

edubkendo

unread,
Apr 17, 2012, 7:46:17 PM4/17/12
to tow...@googlegroups.com
Thanks a lot. Sorry for all the trouble on my account. I appreciate the answers, and having a loose idea of the roadmap is very encouraging. Will be looking forward to seeing this unfold, and hopefully rolling up my own sleeves and pitching in as I gain experience and understanding. I had a, perhaps naive, idea to take Michael Hartl's rails guide and work through it using Tower, taking the time to figure out at each step how to make that particular bit work using Tower, then move forward. If I meet with success I will definitely document as much as possible.

Nate Kidwell

unread,
Apr 18, 2012, 1:55:57 PM4/18/12
to towerjs
Using Hartl's guide like that is a great idea.  Since Coffeescript is
inspired by Ruby, and Tower by Rails, it should be pretty easy to map
things out.

As an additional benefit it would probably help pinpoint the parts of
tower that need to be further fleshed out.

The only real gaps I can see you hitting in his guide would be
1) mongodb vs activerecord
2) asset pipeline
3) npm vs bundler vs plugins vs gems vs engines, etc.

Also, I'm using Tower in a small-ish realworld app (I'll describe in a
later post) and while bleeding edge (and has parts where the docs
don't match code 100%) it has been good for my needs so far.  Any bugs
I've encountered have been repeatable and small, which is all you can
ask for.

Great post btw.
Nate

edubkendo

unread,
Sep 5, 2012, 3:45:35 AM9/5/12
to tow...@googlegroups.com
An update for anyone who comes across this post while searching for help with tower.js (when I google "tower.js tutorial" this is the second result) I did do the first few chapters in Hartl's tutorial as I discussed doing. You can check out the results of that here: https://github.com/edubkendo/demoApp . It's somewhat outdated though, as tower has changed a lot since then. I'm currently working on a set of tutorials for tower, and you can view those here: http://nodehed.com/?p=15 . Even though it's unfinished, just these first three posts should take you a long way towards digging into how tower works, if you are just trying to get started.  Viatropos has mentioned that he'll be putting together some examples soon. I'll try to come back and update this with those links when they are available.

edubkendo

unread,
Sep 5, 2012, 3:48:02 AM9/5/12
to tow...@googlegroups.com
Oh, also should mention, this google group is currently un-used. Tower.js discussion takes place on github: https://github.com/viatropos/tower/issues?state=open and in the irc chat: irc.freenode.net #towerjs . So don't post here, visit those places to discuss tower.
Reply all
Reply to author
Forward
0 new messages