Intermediary transaction SEO diagnosis Taobao guest Cloud host technology Hall
"Editor's note" This article translator Fan, for mobile web, now is a fast growing era. Thanks to the HTML5 and CSS3 technologies, mobile browsers have a lot of performance, and the mobile app framework has expanded, which means that the viability of creating a rich interactive web experience for mobile devices has increased.
This article compares the four common frameworks to see what changes are being brought about by new technologies.
With packaged software such as PHONEGAP, you can use the native App Store and a single code base to distribute and deploy different target platforms, such as Iphone,ipad and Android.
For mobile web developers, switching frames can be costly: Because of animation transformations, toolbars, buttons, list displays, and offline storage. Because most of these features are new technology, and the technology in these areas is changing rapidly. The author has been playing around with a lot of mobile web frameworks and analyzed them, and will explain his findings here.
JQTouch
Jqtouch is easy to use and the documentation is comprehensive. It features a great ability to create iphone apps with Html,css and JavaScript. Jqtouch uses incrementally enhanced schemes to implement a user experience like the iphone at your corresponding HTML top level. It is easy to use and provides a basic set of gadgets and animation schemes that developers need to programmatically control their dynamic behavior.
However, in the author's simple test found that the performance of the app has some problems, the page may be in the conversion of the jump or missing, and in response to the tap event there is a cyclical delay. The project is technically active, but the progress and deployment of the original author seems too slow.
The MIT lic is one of the authors ' favorite open source licenses, just to comply with MIT's license license. Jqtouch.
Jquerymobile
JQuery Mobile, a new in this field, was officially announced in August 2010, but it has progressed rapidly to the feature-rich Alpha 2 beta version. JQuery Mobile is similar to Jqtouch, but is more standard, more adaptable, feels like a successor to Jqtouch, and supports a broader range of user interfaces and style.
The performance of JQuery Mobile is unstable (although better than Jqtouch), especially in response to animation delay compensation for the tap event. In addition, some key program hooks are missing, so it's not easy to make the app more dynamic. For example, when a page is started, the event triggers, but it is not possible to tell which user interface the code page of the response will turn to, or to pass additional information to the processing module. It is still possible to create workspaces to solve the above problems, but here the authors hope that their future versions will be able to learn from Jqtouch and dispose of their current functional flaws.
The relevant documentation for jquery Mobile is fragmented but improved, and the authors hope that they will become as robust as the core jquery library. (Note that jquery Mobile is complementary to the jquery UI and is not built on simple jquery)
To get jquery mobile you just have to get MIT or GPL2 license.
Sencha Touch
This is a completely different product from the Ext JS Framework, and its solution is completely different from the Jqtouch/jquery: Sencha generates its own DOM (based on objects created with JavaScript) instead of the previous HTML enhancements. So, working with Sencha doesn't feel like web programming, it's more like using techniques such as Java or Flex to do apps. Compared to jquery, Sencha feel more like Yui. The author prefers a progressive-enhanced scheme, although its performance is really unsatisfactory.
Sencha is much more scalable than its rivals: it has a large number of user interface components, direct ipad support, and a JSON and HTML5 offline storage technology that makes storage and data binding easier. (It's cool to use Sencha's data structure to manipulate app numbers). In addition, Sencha is the only object support embedded on the toolbar, all other ways are the wheel list.
In the author's test program, the use of Sencha and Jqtouch/jquery, although the app is obviously less lightweight, but its performance and reliability significantly improved, but its initialization load time is slightly slower.
When you are using library libraries or frame frames for development, it is not always successful to fail to adhere to the framework or to do so in your own way. But the scope of Sencha support is broad enough, which means that you can use the Sencha development approach to achieve any requirements. The author started with WebKit's embedded SQLite database for offline storage, but eventually abandoned it because of its complexity and the annoyance of various bug problems, instead using the Sencha data storage function.
In terms of documentation, Sencha does not do very well, although it is widespread, but there are many old versions of the old vulnerabilities did not update in time, the author in these frameworks to fight bugs, debugging process wasted a lot of time, because the document is not sound enough, many problems difficult to trace or understand. And in the Developer Forum response to the author's question is relatively high frequency, but ultimately the feeling is not enough. Sencha offers paid technical support starting at $300 each year, the author is strongly intent on paying, but Sencha's response is curious to find out why it is so urgent to send them money, I really do not understand.
Access to Sencha is required to comply with GPL3 license and to be available under a license that is not a GPL standard and very similar to LGPL, and to follow non-commercial license.
Titaniummobile
Like the Sencha touch, Appcelerator's Titanium Mobile allows you to use JavaScript APIs to write apps. But unlike Sencha, titanium compiles your code into a native iphone or Android app, which means it's not a real web framework, but a compatibility layer or compiler. (Please note that Titanium Mobile's next of kin Titanium Desktop is a web-based software that allows you to use HTML/JS to write a local application for desktop encapsulation)
So titanium allows Web developers to use JavaScript and a little bit of XML and other related technologies to achieve high performance, replace the skin is very convenient native App, without the need to learn additional C or cocoa Touch and other techniques. The authors ' simple tests show good performance, blowing away the frame of the doubt, and not too hard to integrate.
However, this is also a fatal disadvantage, you can only make titanium supported by the application of the platform, you are limited by their development tools. The author wants to prove it only needs to change a platform that is not an iphone. At the same time, the titanium debugger is not how to, can not use the Xcode way to run or debug, even in its emulator above the program running is fairly good, or need the author to the actual machine on their own to find problems.
Analysis
The authors selected 3 of these 4 frameworks and fabricated their own app to try it, although it was onerous, but the harvest was plentiful. The author likes Jqtouch, but doesn't quite believe how much it will move on the existing version. For jquery Mobile, it is appreciated for its ease of use and its web-centric development approach, but its disadvantage is that it lacks core features and is much worse than Sencha performance.
It may be unfair to use an Alpha 2 version of the product to compare with a 1.0 version of the official version, but the user has to make a choice when it has a strong user demand, so the author chooses the Sencha touch. The author was initially attracted by its strong performance and broad support, and ultimately preferred its development style. As the development progresses, the author is frustrated by the vulnerabilities of its documentation, but its extensive support still attracts the author, and gradually adapts to its development style. If they are willing to reply to the email, the author is interested in paying for technical support. But now, Pints's release is already a Sencha app.
Conclusion
The author has not answered the biggest question: is a web-based app able to hold the situation without a local app? If so, is it worth the cost of implementing such a technology to discard the original single code base?
Given the practical application of the pints two weeks ago, the authors tend to say no. Pints in the performance and bug aspects of deadlock, the average page every 10-15 seconds to jump, in the scrolling page is easy to jump, animation effect is not very coherent.
Via:dzyngiri
Source: Webapptrend Comparison of several common HTML5 mobile application frameworks http://www.webapptrend.com/2012/05/3009.html