18 Feb 2012 12:38 AM #1
Relation between SenchaTouch 2 and ExtJS4
we are evaluating the use of SenchaTouch 2 and ExtJS for a web application project. The project will have a desktop version (maybe ExtJS) and a touch version (maybe SenchaTouch).
A big part of logic have to be implemented in JS. GUI and platform independent logic: client/server communication, plugins to access our services (e.g. Authentication) or data handling etc.
So the question is: Is there a shared part, we can use for both plattforms? It seems, that a lot is equal, similiar or different. E.g. the class system seems to be equal, the store system is different. But the important point is, that the overlap is not defined. We do not want to build our software on our speculations .
ExtCore stucks at version 3 and is not part of ExtJS 4 and SenchaTouch 2. We found ext-core.js and ext-foundation.js in ExtJS 4. But both files are not available in SenchaTouch 2, as far as we see. Is this correct?
The current solutions for our requirements:
- Implementing the logic twice (with ExtJS and SenchaTouch)
- Use plain JS
- Use another Framework for shared functionality.
Are these the only valid solutions or is there an official and reliable way to implement things for both Sencha Frameworks?
19 Feb 2012 6:36 AM #2
- Join Date
- Mar 2007
- Gainesville, FL
- Vote Rating
The biggest issue is that Sencha Touch 2 uses a config object that automatically creates getters and setters but that is where the config properties go. Ext JS 4 doesn't use this.Mitchell Simoens @SenchaMitch
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.
19 Feb 2012 9:49 AM #3
For that problem, we already found a workaround. An own define method which applies the config - stuff to the ExtJs4 Objects. The bigger problem is that the parameters do not match, even in the non-gui classes. As I mentioned, it is important, that we can rely on something. So there is no official shared part? Are there any plans for that?
20 Feb 2012 12:34 PM #4
21 Feb 2012 3:44 AM #5
Currently the config object is not in ExtJS 4.1 Beta2.
I read about a "Sencha Platform".
E.g. http://www.sencha.com/forum/showthre...235-Ext-Core-4 or here http://vimeo.com/17733892. At 2:30 Ed Spencer talked about a foundation for both frameworks.
I did not search for differences, but the code of basic classes (classes I would expect in sencha platform) looks different for me. Here are two examples, I stumbled over:
- Ext.data.reader.Json: In ExtJS the property for the root node is called "root" in SenchaTouch it is "rootProperty".
- Ext.data.proxy.Ajax.doRequest() differs completely, so it is impossible to overwrite this method in an extended proxy object.
For me it looks like Sencha Touch differs apart from ExtJS.
Is the "Sencha Platform" real or will become real? Is there an official statement?
21 Feb 2012 4:41 AM #6
Why then this :Note: this is a new feature of the upcoming Ext JS 4.1+ and Sencha Touch 2.0+. Ext JS 4.0 does not make use of this feature.
In Ext JS 4, we introduce a dedicated config property that gets processed by the powerful Ext.Class pre-processors before the class is created. Features include:
Configurations are completely encapsulated from other class members
Getter and setter, methods for every config property are automatically generated into the class' prototype during class creation if the class does not have these methods already defined.
An apply method is also generated for every config property. The auto-generated setter method calls the apply method internally before setting the value. Override the apply method for a config property if you need to run custom logic before setting the value. If apply does not return a value then the setter will not set the value. For an example see applyTitle below.
7 Mar 2012 2:33 PM #7
I'm still waiting for an official statement about Sencha Platform. I have to made a statement to my boss . What is the plan? Or is Sencha Platform dead?