13 Jun 2013 6:48 AM #1
How do these other libraries fit in to the stack?
We are creating a web version of our report designer so a system with a main page that is the template (think word processor), lots of controls for setting properties on tags in the template, and some DB displays to show data returned.
I'm 95% certain we'll use Ext JS for the MVC framework and the controls (still waiting for a response from Sencha's OEM people). But I'm not sure if there are other JS libraries we also need to complete the stack. Or does Ext JS handle everything.
The ones I keep seeing mentioned are JQuery, Node, backbone, Meteor, Ember, & underscore. Are these libraries I should use also, and if so when? Or are they duplicates of what Ext JS provides?
thanks - dave
13 Jun 2013 8:58 AM #2
Re: the different libraries and frameworks (and yes, there is a very important difference) that you mentioned, the only way you're going to get the answer you need is to 1.) thoroughly research for yourself what each does (and does well) and how it can fulfill the needs of your app 2.) ask the communities relevant to those products very specific questions about how X can help you accomplish Y.
Does ExtJS handle everything? Of course not. Does it help you build really rich and powerful enterprise-scale JS apps? Yep. So the question is, how does what you need for your app fit into what Ext JS (and other libraries and frameworks) provides?
13 Jun 2013 9:27 AM #3
I know this is a nebulous question. And if someone asked me about the Java or Windows/.NET stack, I would previously say it depends. But seeing it from this side, where I need to get a decent feel for the stack, I would now try to lay out the basics.
The problem is everything out there talks about how to use X. There's very little about what X is for. And nothing about how the various parts are plugged together and when you should go look for something. And with no good picture of the full stack, I worry at times we'll not use something that would be very helpful, because we don't know it exists.
thanks - dave
17 Jun 2013 5:19 AM #4
- Join Date
- Mar 2007
- Gainesville, FL
- Vote Rating
Honestly, I don't see how anyone can give you a definitive answer. It's like telling someone to walk into a pitch black warehouse with a match and tell them to correctly sort boxes by size. If the application requirements aren't shown, there isn't a way to tell you you can use x, y and z.
I can say Ext JS will handle quite a bit so using micro frameworks or others rarely aren't needed. Some plugins that people have made for them you may have to make yourself extending Ext JS and doing your custom stuff from there.
Sencha Inc, Senior Software Engineer
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services email@example.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!
When posting code, please use BBCode's CODE tags.
17 Jun 2013 6:20 AM #5
"How do these other libraries fit in to the stack?"
They don't. Ext JS is a self-contained component library and it doesn't depend on other libraries, although you can use many plugins.
Backbone OTOH is not a self contained library. It's a minimalistic library composed of just 4 classes and it has a hard dependency on jQuery and Underscore. Hard dependency means that you must use these libraries. But, it has also soft dependencies. For example, many developers use RequireJS alongside Backbone. Also, many Backbone developers don't use the micro templating engine provided by Underscore, but instead opt to use e.g. Handlebars. Typically, Backbone is used on projects that require a lot of HTML templates, whereas Ext JS is used on projects where components would be a better fit.
I'm not familiar with Meteor or Ember, but I believe they strive to be self contained as well.
Node.JS is used for building network applications.
17 Jun 2013 8:59 AM #6
Thank you - that is helpful.
17 Jun 2013 12:23 PM #7
The other tools/frameworks you've mentioned tend to focus on lightweight JS development. ExtJS is a big framework designed for building rich client apps in the browser. I've built multiple large apps on ExtJS and I have yet to find any need to bring in any additional JS libraries/frameworks to get the job done.
17 Jun 2013 12:51 PM #8
Thank you - this helps a lot. Let's me know to stop stressing about it.