How to get started with ExtJS? - extjs

I am beginner to ExtJS technology. I wish to learn it.
But, how should I start it ?
Sencha's price is too high to buy ?
Is Sencha's tutorial available for free ?
Is ExtJS needs to be run in a special IDE ?
Thank you

Its free using the gpl terms, download it and toy with the examples. Anything you would make money from would be able to easily pay for the cost of the kit.

You'll find several guides accessible from the API docs main page: http://docs.sencha.com/ext-js/4-0/
There are books you can buy, though I don't if any of them covers Ext4. Note that transitioning from Ext3 to Ext4 is rather easy and straightforward (I wouldn't know about migrating an existing codebase).
There is no IDE requirement, ExtJS is straight JavaScript.

Related

Some questioning about codenameone

I don't know if it's the good place to ask these questions. So if it's not the case sorry for inconvenience.
We are looking for the most adapted tool for our crossplatform mobile project. Before begin to invest time we are testing many crossplatform develeoppement solution ... it's difficult to find the tool where you say Yes it this one !!
Actually we are beginning to test codename one. It looks very promising but we have some doubts and question about features and how we can organize our project :
Do you know if it is possible to separate code and design -> build each "screen of the app" with one xml file to describe components and style and one java class to define behavior and contents(dynamically or not) of these components ?
What about nfc support ? at least for android apps ?
The ui components are not really "sexy" in examples. Do you know if it is possible to load/download or why not buy some more attractive one.
I hope you will be able to answer our questions
Thank you and sorry for my english ...
build each "screen of the app" with one xml file take a look at
https://www.codenameone.com/blog/gui-builder-walkthru.html
What about nfc support ? at least for android apps ? see here
https://www.codenameone.com/blog/native-interface.html
The ui components are not really "sexy" in examples.
https://www.codenameone.com/gallery.html
But overall I would like to suggest you can't get 'that' sexy unless you not try. Don't take it wrong but see the examples submitted by other and what they developed you may get same or more than that if you try.
I hope you will be able to answer Your questions :)
Cheers

Is it better to start with Sencha Touch 2, or Sencha Touch 1.x?

I've recently built a demo application using PhoneGap, and I chose to try JQuery Mobile as a UI framework. It was... okay. I'd like to try out Sencha Touch now and see if I like it better.
As of now (mid-December '11), it appears that Sencha Touch 2 has been released as a preview, and has significant improvements in performance (which is a key ingredient for me). However, it's missing some features, and doesn't seem to have many demos / tutorials yet on the Sencha website.
In the valuable opinion of SO's seasoned Sencha Touch developers (and by seasoned, at least in the mobile realm, I mean that you've at least played with it for a week or so), would you recommend I start with Sencha Touch 2 from the get-go, or go through the motions of learning 1.x and just upgrading to 2 later on? What are the advantages / disadvantages of using "preview" versions of this and other frameworks, particularly when working within the ever-shifting world of mobile development?
Thanks for any input!
I created a few proof of concepts for my company in jQuery Mobile. While I personally love jQuery, jQM was not ready for a production environment if you wanted a slick, responsive, bug-free user interface. That was in the v1.0RC3 days. It is a stable release at the moment but I still feel the same way, hopefully future versions will address the shortcomings. I made this decision after running a number of benchmarks, a focus group and a pilot program(6 ppl). All said and done, I decided to evaluate ST.
Sencha Touch has the best UI, IMO. However, there is a strong learning curve with this framework. API documentation is complete and while there are tutorials lurking here and there, there is NOTHING that spells out the ST framework from start to finish. I often find myself searching in the depths for a brief glimpse of an explanation with no resolve. I find it frustrating that the Sencha team hasn't addressed this. I hear a lot about brushing up on EXTjs first as that is the placenta of ST's birth. (yes, I just said that) Truth is, if one has to learn another framework to utilize the one you are interested in, just to understand how it works, its a major fail. I'm not learning EXTjs just for ST...
For Sencha Touch, you should be versed in MVC, object oriented programming, debugging web technology and have a solid understanding of JavaScript.
Now the real question is 1.x or 2.x. Situations like this are highly debatable. Resource and cost analysis should be done on both versions to show how your development time increases if you were to port 1.x code to 2.x and any other overhead associated with learning curves, etc. So instead of give you my biased opinion, I'll just tell you what I did for my company (7k + employees).
My project needed to be at a certain milestone by a certain date and I certainly can't deploy something that isn't in production status. Simply meaning I cannot use a beta for anything substantial. As ST2.x is in the PR3 stage, it isn't ready for production. Not to mention a lot of key features of ST are currently missing from the ST 2.x release, though will be added in future releases as they progress to production stable.
I developed my app in 1.x because it was stable, has numerous examples and documentation available so I could produce an app TODAY. If I started in ST2, I wouldn't be able to finish the app. The API is not frozen, lacking full documentation, sparse examples, limited community resources and missing features. I can't wait for ST2(going to be great!) but can't risk my project over it.
Bottom line... if you need an app today, go with ST1, if you can hold off for another few months and have the time to make updates to your app as the ST2 API is frozen and features are added back in, then I would go that route. Cheers.
I would suggest learning Sencha Touch 2. I wasted a lot time working with Sencha Touch 1. Just before giving up - decided to try Sencha 2 - devel release 4. Much much easier to work with and learn.
Good luck
JRS

Agile Toolkit, worth using?

I'm considering using the Agile Toolkit, ATK4 to upgrade a number of web projects that I'm working on. I really like the idea/paradigm that the Agile Toolkit presents, but I'm worried about documentation.
The agile website's documentation is sparse, in broken English, and seems to 'paraphrase' the symfony documentation.
The agile toolkit alleges to have been in development/production since 1999, yet there are only a handful of StackOverflow.com posts regarding agile, and next to nothing comes up in Google searches...
In short is it worth spending time learning the Agile toolkit, or would my time be better spent on a framework that has more of an active support community? I've tried a few other frameworks, but ATK's implementation really stands out...
Initially ATK was born as an internal tool from Agile Technologies (.ie) so that has been conceived in 1999 but it was recently launched as dual licensed framework.
That's why it lacks some documentation and has not a huge community nor appears Googling.
I was amazed at first sight by its working way proposal so that I engaged it. The documentation has been already improved and over the time it will keep getting better and community will grow.
I had the chance to get in touch with the lead developer and trust me, it will get better and better.
Even, as an example all the ATK4's site is developed with the toolkit and the code is short and pretty easy to read.
Good luck!
ATK4 does have many examples, and code is concise and clear. It accomplishes the goal of wrapping server-side and client-side into one comprehensive framework via php. Plus it looks nice. It does appear that documentation is improving.
Yep - agree with what the others are saying - Romans is doing a great job of getting the documentation updated. I started writing an application in straight php but realised i was going to need to use jquery to get a nice, cross browser compatible front end and wanted a php framework that would support that.
I looked at Yii, Cake and CodeIgniter but ATK4 really seems to do what i wanted. Like anything, it takes a bit of getting used to and i'm still relatively new to both php and ATK4 but i've rewritten what i already had for my application in the framework and the code is so clean - all the html and css are separate and the page code is really compact. The integration with Jquery is great and i've just written a plugin that i needed to get jqplot working for nice looking graphs.

What new features and improvements does Lithium provide over CakePHP?

I've used CakePHP on several projects in the past, and have more recently started using Ruby on Rails, but there's a new project I'm about to start that will require PHP. While refreshing myself on CakePHP I learned that there is a new framework called Lithium that is essentially what CakePHP 3 was going to be. It's being developed by a group of former core CakePHP devs.
I haven't found a whole lot of information about it since it's still under development status, but I was wondering if anyone knows (or has a link to) some information on what benefits it provides over CakePHP. Hopefully something a bit beyond the quick overview shown on the official site. I'm trying to decide whether to use CakePHP for my upcoming PHP project or to wait a bit for Lithium to release a non-development version and try that out.
Hope this answer doesn't come too late, (and as the lead developer of Lithium, I'm a little biased :-)), but I will say that this is a hard thing to sum up. Lithium is the culmination of over 4 years' experience building and working with CakePHP, and while it retains many of the same designs and conventions, it was built to correct CakePHP's many architectural flaws.
In brief:
Framework features are grouped into loosely-coupled "packages" that are easy to use independently.
Tangentially, everything in Lithium is a "library", including your application, and Lithium itself. Support for integrating 3rd-party libraries is vastly improved, and all classes are namespaced, so you can finally have a model called File.
It is very easy to swap out core classes with your own custom implementations.
Lithium has a unique "filter" system that allows you to hook into many methods in the framework, which allows you to design your applications in an aspect-oriented fashion. These features work together to make Lithium the most flexible PHP framework, bar none.
Everything is lazy-loaded, and the architecture has been designed for maximum performance.
Lithium supports the latest tech, especially new databases like CouchDB and MongoDB.
I could go on for a while, but that's the gist of it. If you have any more questions, feel free to drop by #li3 on Freenode, and someone will happily give you a tour.
There is very little documentation so far. Here are some brand-new slides from gwoo though, that might be a good overview:
http://www.slideshare.net/gwoo/li3-ocphp
See the Lithium about page in their wiki. It lists all the features it will provide.
http://rad-dev.org/lithium/wiki/about

Making development with Ext JS fast

Ext JS is a nice framework for web UI, but I found that building and putting stuff together takes a long time and painfully slow.
This might be a general problem when working with JavaScript, but does anybody have any way to speed things up?
What can I use? Better IDE with good JavaScript suppport? GUI designers? Code generators?
I need some way to speed up common things like building grids and forms but yet let me do complex things like creating custom components easily.
I'm using ASP.NET MVC. Coolite seems nice at first, but I feel that I'll be having trouble when creating any custom components later on.
There's always Ext GWT, which lets you use Eclipse tooling (and all of the advantages that gives you, such as refactoring, swift code navigation, etc.) to create your Ext/JavaScript app.
When you download the ExtJs library, you find lot of sample applications for common requirements like Grid panel, forms, form elements etc.
Regarding IDEs, you dont find mature productive tools, but check the below link and wish it could be of help to you
http://www.extjs.com/blog/2008/02/01/ides-plugins-and-tools-for-ext-js-20/
But if you really wish to develop custom components, you need to get through knowledge,start approaching with ExtJs-provided sample apps.
If you want to get faster at anything, practice it until you fully understand how it works and how to make it do what you want. If you are just starting out, why would expect to be able to work as quickly as you do when you are working on something that you are very familiar with?
Things I use to make ExtJS less painful
Chrome, for it's developer tools, or Firefox with Firebug.
snipMate: snippets for Vim, so I can quickly produce boiler plate code for classes.
JSLint as a command line tool. Especially good for detecting rogue commas.
Sencha forums.
ExtJS IRC chat (Server: irc.freenode.net Room: #extjs).
API documentation.
Sencha and Saki's ExtJS examples.
Beer.
ExtJS is building a designer right know so you can look forward it, the only problem I think is not gonna be free.
you can see a video demo there, in term of release date I think this is due to the first quarter of this year.
I say learn the framework. But to develop apps, I use IntelliJ IDEA, which has partial code completion, etc. It costs money though.
Once you have some practice and understanding of how ExtJS works, you'll get faster at it. By using the examples for reference, and building up my application in small pieces, I've gotten much better (and faster) at developing stuff with ExtJS. A great way to get started is to find an example (or two) that kind of do what you need, and modify (or combine) them to see how they work together.

Resources