Last week i've been busy with mobile html5 frameworks like sencha touch and jquery mobile.
I bumped into a few bugs and strange things when testing on real android phones. (from slow to missing components to even not displaying anything)
Is it correct to say that html5 frameworks for mobile platforms aren't ready for production when one of the requirements is that it must function on most android/iphones?
If you plan to support most android phones, you should be aware of that performance will not be satisfying on middle to low-end devices. This is because that both libraries depend heavily on javascript( especially sencha ), and javascript and the whole webkit performance are not great on these phones. The situation is a bit better on the iphones.
I don't know about jquery, but sencha touch sure is.
See if the android bugs you found are mention here because they will or already are solved in the next release.
http://www.sencha.com/forum/showthread.php?135798-List-of-Known-Android-Issues-Fixed-in-Upcoming-Release
The sencha touch 2 is going to have all other improvements especially, bugs and performance related to android OS. Read it here:
http://www.sencha.com/blog/sencha-touch-2-what-to-expect
In the end test and see it yourself some of the apps that are built with sencha touch:
http://www.sencha.com/apps/
Related
I'm working on a Phonegap app implementing websockets (as several other people have done on here) strictly for iOS but I cannot seem to get the call to run. I am aware that iOS now allows websockets, and several older solutions are out of date. Does anyone have a more recent tutorial or demonstration of websockets via phonegap for iOS?
I found there is no special implementation needed, and despite my best efforts there was actually an error with my javascript, and when editing in Phonegap be careful which files you are modifying, as Phonegap will keep copies for each platform as well as a master version
In the past i've used PhoneGap (1.x) with Sencha Touch 1.x, because that was back then the best combination. Although i'm a much bigger fan of jQuery than any ExtJS library. But jQuery Mobile was really buggy back then. Page transitions caused white flashes on Android devices. Responsiveness wasn't as good as it was with Sencha Touch 1 (ST1). Eventhough ST1 also had its quirks, it was definitely the best choice.
But currently PhoneGap is at version 2 and Sencha Touch aswell. But like i said, i like jQuery more. So i'm actually wondering if jQuery Mobile is any good these days. Does it still show alot of flickering when sliding from one page to another? Or any other buggy things?
Or should i still go for Sencha Touch (version 2 in this case)?
I hope i can cut some time in testing out both of these products by the answers in this post. That's the reason i'm asking.
This really depends on what platform you are going to create the application.
If suppose you want to build an iOS app then you should go for Phonegap + sencha because sencha makes it looks like a real native app. It will work very good for iPhone. But if you want to port the same app in Android. Then its a mistake. It is very slow in android due to low hardware specs. Although it is some what better in HTC one x and S3 because of there good specs.
I would recommend for Jquery Mobile because it is improved in these years. Although its look and feel is not that much good as Sencha but it works very well in almost all the platforms i Tested(Android 2.x and later, Iphone, BB 5.x and later).
One advantage that JQM has over Sencha is that
Jquery mobile scripts can be customized and then imported in your application. It can be minified as per your needs. For furthur info look here http://jquerymobile.com/download-builder/
So JQM will be more lightweight than sencha.
This is all my personal experiences which i have. Hope it helps you
That flickering issue has been resolved in the latest version of Jquery Mobile.
http://jquerymobile.com/blog/
https://github.com/jquery/jquery-mobile/issues/4024 resolved.
#Coder_sLaY: Sencha has SDKTools and a Visual IDE that can not only create an app build, and after that they can create native android/ios builds. Sencha can be as lean as jQuery mobile.
So Sencha mobile scripts can be customised, external scripts included, and then the code is minified ready for production, removing all unused classes from Sencha touch.
If you're going to look at the Sencha route, then go to the API docs and check out the guides and videos, as there is a lot that's changed to make coding easier including the new data package which is simply amazing!
There are some discussions about this subject on Quora too.
You might want to check out this thread We're deciding between jQuery Mobile, Sencha Touch & Dojo Mobile. What are the pros and cons for each?.
I was trying some slider / drag-n-drop demos of JQuery Mobile, Kendo UI and other javascript frameworks, but none seem to work in the Metro version of IE10 on my tablet (running Windows 8 Consumer Preview).
I remember there was a similar issue on IOS, but using most frameworks it's now working on my iPad.
Does anyone know how to solve this problem?
Is there any JS framework that has addressed this issue?
Could this be something that is still to be fixed by Microsoft before final release of Win8?
Cheers,
Ray
Internet Explorer 10 has a more abstact event model when it comes to touch, mouse, or pen events. Rather than having events like touchstart or mousedown, Internet Explorer 10 has an arguably superior model consisting of a much simpler MSPointerDown which is fired for all types of inputs, including fingers, mice, or pens.
Unfortunately, as you've noticed, there isn't a great deal of support in popular libraries and frameworks, though I suspect there are a few good reasons why this is the case:
IE10 is still technically incomplete.
IE10 is currently not available on Windows 7 (though it will be released on Windows 7 eventually)
IE10 currently requires the installation of unfinalized versions of Windows 8
These reasons, among more I'm sure, have likely caused the developers behind major frameworks and libraries to hold off on any serious investment of their time to target the new browser from Microsoft. That being said, I do know personally of some very key players from the jQuery project who have been keeping a close eye on Microsoft's new pointer model. I suspect the same can be said for other teams.
The reason is that IE10 introduces MSPointerEvents, which are probably not well supported by most frameworks, at least yet.
Update: Kendo UI supports MSPointerEvents since Q3 2012. As of Q1 2013 all framework widgets also work properly in IE10 when content is pinch-zoomed.
Background info:
Over the past week, I have been messing around with Chrome extensions and had no problem creating my extension. Great, Chrome rocks for making the development process very easy to learn, and, well... just easy!
Now I have it in my mind that I'd like to create this extension for as many browsers as I can, so I decided on Firefox next.
What a mess! There documentation has done nothing but give me a headache and waste my time so far, VERY convoluted and just generally unorganized.
I have managed to locate a code sample for a simple extension that I think I can use as a starting point and have begun messing around with - fine...
I have learned that this sample extension will not work with anything less than Firefox 4, as it uses the bootstrap technique to make the extension installable without a browser restart. Ughhhhhh....
Now we arrive at my questions:
Is it possible to develop an extension for Firefox 7 that will work with previous versions of Firefox? I don't even care about anything prior to Firefox 4, if that's the cutoff point for restart-less installations. It would be nice to know that what I am spending all this time making will work consistently and for more than a week when the user is prompted to upgrade next.
How about the reverse? Can I create an extension that is compatible with Firefox 3.5 through Firefox 7? I realize it would require a restart to install, but that would be acceptable if it resulted in a working extension regardless of the version.
Can anyone with experience on this stuff share a bit of what I'm getting myself into here? It seems like this is a nightmare of a platform to develop on, and that I will be constantly fixing my extension.
One last piece of relevant information:
The extension I am developing is purely javascript based - this stuff should work (I think?) because it's dependent on just one feature "content scripts" that really shouldn't be changing in implementation between versions at this point... right?
So what exactly am I missing? How do you create easily manageable Firefox extensions that will work in all versions of the browser?
Thanks everyone! :)
You have to distinguish between "traditional" extensions and extensions built with the Add-on SDK. The former are far more powerful given that they have direct access to all APIs the browser uses - but that's also the reason why they are more complicated to write and why the documentation is rather unordered (there are simply very many things that you could do, far more than you could with Chrome). They are also more likely to break as the browser changes. The Add-on SDK on the other hand gives you a limited API much like Chrome. The Add-on SDK currently supports everything from Firefox 4 onwards (yes, because of restartless installation), with the promise that browser changes will merely require your add-on to be recompiled with a newer version of the Add-on SDK. In fact, that recompiling will likely happen automatically in future for add-ons hosted on addons.mozilla.org. On to your questions:
Is it possible to develop an extension for Firefox 7 that will work with previous versions of Firefox?
Sure it is. The Add-on SDK currently marks your add-on as compatible with anything between Firefox 4 Beta 7 and Firefox 8 Alpha 1. Even as traditional add-ons go - starting with Firefox 4 the differences between particular browser versions are rather small, most things work in all of them. You can also stay compatible with Firefox 3.x but depending on what you do it might require some effort. Important information:
Firefox 4 for developers
Firefox 5 for developers
Firefox 6 for developers
Firefox 7 for developers
How about the reverse? Can I create an extension that is compatible with Firefox 3.5 through Firefox 7?
It doesn't matter which way you go. I wouldn't recommend spending much time on Firefox 3.x support however. With Firefox 3.5 no longer supported the only relevant version is Firefox 3.6. According to the statistics of my add-ons roughly 18% of the Firefox users continue using it. In the next few months this percentage will get significantly smaller, especially when Mozilla announces end-of-life for this branch. So for a new add-on supporting it is usually not justified.
Can anyone with experience on this stuff share a bit of what I'm getting myself into here?
Depends on how complicated your add-on will be. Given that you are developing an equivalent to a Chrome extension, you will most likely be using the Add-on SDK which means that there won't be any compatibility problems. As traditional add-ons go, simple add-ons that don't rely on some obscure implementation details also typically don't have any trouble staying compatible (I have two add-ons that didn't need a single adjustment since Firefox 3.5). Add-ons that go deep down into the system are more problematic of course.
Is there a "BlackBerry UI" CSS/JS framework available for Blackberry - Similar to IUI for the iPhone?
Hosted over on Google Code http://code.google.com/p/iui/ there is a great open source library for providing a "standard" iPhone UI for web applications.
i.e. a JavaScript and CSS library to provide:
BlackBerry look and feel
Data Binding
Curved corners etc.
DOM utilities
Handle idiosyncrasies between browser versions
Considering the fact UI changes across blackberry hardware, I guess it's difficult to create the equivalent of what is found on iOS.
I'm referring you to this forum thread you already saw for sure: Is there a "BlackBerry UI" CSS/JS framework for BB's - Similar to IUI for the iPhone
In term of compatibility and usability, I guess slightly altering a jQuery Mobile's theme would be your best option if you want to find one that is open source (unlike Sencha for example).
BB OS 6 contains a modern Webkit browser so it's easier to use standard toolkits such as Sencha.
Besides using Jquery Mobile or Sencha, you could give a try to this (official it seems) library https://github.com/blackberry/bbUI.js
I would recommend against using jQuery Mobile on a BlackBerry app.
It's slow (especially on older/less powerful devices), bloated (lots of stuff you probably won't ever need), the UI doesn't align with BlackBerry guidelines whatsoever and it doesn't play well with focus-based navigation (which is important as some current devices still don't have a touch screen and some users prefer to navigate with the trackpad).
bbUI.js (https://github.com/tneil/bbUI.js) as mentioned by Max is an official library originally developed by someone at RIM and, while it's not without its flaws and limitations, after months of working on a large WebWorks project it is still the best choice I've found to get up and running quickly.
Alas, the OS 6 browser crashes at the mere hint of javascript load (most usually the case), slightly less from having too many tabs open (by "too many", the amouny ranges between two on the lower spec models like 9300 to 4 or 5 on the 9780). This is from my experiences. Perhaps my settings are wrong - I tend to like smaller text, Arial and set the encoding to UTF-8.
However, I have never had Opera crash on the same phones - despite having at least 5 to 10 tabs open and in the background.