If so, does anybody know which version it's scheduled to be supported in (in built-in Chrome Lite browser)? Also, is it currently supported on any of the alternative browsers for Android like FireFox or Opera Mini?
Will Android support WebSockets in an upcoming version?
Probably, given Google's HTML5 emphasis.
If so, does anybody know which version it's scheduled to be supported in (in built-in Chrome Lite browser)?
Google does not publish that sort of detail in advance of releases. Hence, you'll know about it when it ships, not sooner.
Also, is it currently supported on any of the alternative browsers for Android like FireFox or Opera Mini?
Firefox Mobile's FAQ does not list it among the HTML5 features it presently supports. I have no idea about other browsers.
The iOS 4.2 beta currently has WebSockets support: http://twitpic.com/2yiygv
Come November when iOS 4.2 actually ships, if it still has WebSockets turned on (it has been in a previous beta and been turned off before shipping), then you can be sure that google won't be far behind.
Regardless, I predict that it will arrive with Gingerbread (the next one) since they are making such as big for other HTML5 features in that version: http://www.shoutpedia.com/what-is-next-to-froyo-android-2-3-might-be-released-by-fall-of-2010-3457/
Opera Mobile, Opera Mini and Firefox Mobile do not currently (Feb 2010) support WebSockets and won't do so until a change to the specification has been made. This is because a security issue was found in November 2010 in the underlying protocol: http://www.ietf.org/mail-archive/web/hybi/current/msg04744.html
I imagine WebKit support is also on hold until it's safe again, but it's not clear when that will be.
It's 2012, and the Android Browser still doesn't support Websockets (at Android v4.0). Also, there does not seem to be any indication into have websocket in the Android Browser. some speculation seems to revolve around Google switching the Android Browser with Chrome for Android (why they didn't do this before, is beyond me).
iOS (safari, chrome and opera*) has been supporting Websockets for some time now, however, you loose iPhone 3 (and below) clients. Not that they're much nowadays (from statistics).
Flash....well, flash isn't a browser platform, but it's a good fallback. Thanks to Flash, you can get websocket goodness on older browsers like IE, even on Windows Mobile.
Still, it doesn't fix the issue on Android (the default flash player is a slim vendor-specific mutilation) nor does it work for older iPhone/iPad versions (they tend to get sick whenever they hear anything about flash).
*Opera Mini DOES NOT support websockets, as opposed to Opera Mobile.
Even BlackBerry 6.1+ supports Websockets, but not Android. Google was first in HTML5 among desktop browsers and seemingly last one among mobile platforms.
The iOS WebKit does only support old, outdated WS spec. Not RFC6455.
On Android: built-in browser up to and incl. Android 4: no WS support whatsoever.
Firefox Mobile .. current WS spec support. Same with Chrome for Android (only avail. for Ice Cream).
===
Btw: For Android native apps, there is Autobahn WebSockets for Android
https://github.com/oberstet/AutobahnAndroid
It supports the final RFC6455, integrates well with UI and service apps, provides RPC and PubSub over WebSockets, and more. Check out the project README on GitHub.
Disclaimer: I am the author of Autobahn.
Firefox Mobile 7(Aurora) support WebSocket(renamed to MozWebSocket):
console.log(window.MozWebSocket.prototype)
Related
I can't seem to find anything definitive about whether WebRTC (or some subset of features) is supported in Oculus Browser 12.0, and I don't have access to one to test myself.
According to the Oculus Browser 12.0 release notes, it uses Chromium version 86. According to the WebRTC Wikipedia page, Chrome has supported WebRTC since 29. So that seems promising. But caniuse.com says that it's only supported in 87 (unless I'm reading that wrong...). It's unclear to me what the relationship is between Chrome, Chromium, and Chrome for Android. Just because it's "supported in Google Chrome", does that mean it's supported on all platforms? Are Chrome for Android and Oculus Browser basically same thing for the purpose of which APIs it supports?
Thanks in advance!
WebRTC does work in Oculus Browser.
I'm not sure why caniuse does not have data for Chrome for Android before 87. WebRTC was implemented in Chrome for Android in 2012 and shipped in 2013. Here's the old launch bug for WebRTC on Android in the Chromium bug tracker.
Google Chrome and Oculus Browser are different browsers, but they share a lot of code from Chromium. One browser supporting feature X does not guarantee that the other browser does, but it is usually the case.
If an API is not core to your experience, it is good to use feature detection and degrade gracefully if an API is not implemented on a browser you're on.
Apache Cordova apps use the default WebView control in Android.
Change default webkit on Apache Cordova - Android
So for Android 4.4, the WebView is using Chromium 30, and will never be updated (on 4.4).
http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview
Does the "Chrome Apps on Mobile" version of Apache Cordova, package a Chrome Runtime with it to use for rendering? (please say yes)
https://github.com/MobileChromeApps/mobile-chrome-apps
The answer is no. The "Chrome Apps for Mobile" use the default WebView just like the normal Apache Cordova.
Do mobile chrome apps run in chrome?
The default system WebView’s are as follows:
OS: Mobile Safari WebKit based. Lots of web-platform overlap with Chrome, but not exact and diverging slowly.
Android 4.3 or older: Legacy Android WebView. Dated and occasionally buggy, but still fairly performant on certain tasks.
Android 4.4: Chrome based WebView. This initial release brought a slew of modern web apis, and enabled remote web
inspector. However, it also introduced some regressions, is stuck
at Chrome 30, and didn't bring all features, such as WebGL and
WebRTC.
Android Future: Since the first launch of Chrome based WebView, it was announced that work is ongoing to make the WebView
auto-update just like the Chrome Browser does.
Here's the good news quote from May 13th, 2014 from the same answer quoted above:
Excitingly, a significant portion of our recent work on
cordova-android has been on bundling a tip-of-tree chromium based
“webview” alongside your app, thanks to the Intel Crosswalk project (https://crosswalk-project.org/).
This would mean you ship your app to the Play Store together with your
very own modern build of Chromium webview. Best yet, it will work all
the way back to Android 4.0. Expect announcements on how to try it
yourself in the next month or so!
I need to make a 3D animation across the web, android and iOS platforms. My question is, is it possible to use WebGL to make the animations in native android and iOS apps? As I would write the animation once and it would in theory port to the android and iOS with out any problems or am I going to have to simply use the OpenGL ES to make the animations for the mobile devices and webGL for the web.
Disclaimer: I work for ludei
So, that's exactly what a company called ludei is preparing to launch ;)
We have it working on Android 2.3 (even on a Nexus One!) through 4.2, and iOS 4 (I think?) and up. We don't rely on the system browsers or webviews, so there are no "private libraries" problems, and we support versions of Android that can't have WebGL otherwise.
We're giving it the final touches now, but we should be able to release it in a few weeks :)
Check out http://impactjs.com/ for iOS they are allowing you to use threeJS //asmallgame.com/labsopen/webgl_impact/ right now for Android it is only supported on Chrome Beta and you have to enable the flag http://thenextweb.com/google/2013/01/25/google-finally-makes-it-easy-to-enable-webgl-support-in-latest-chrome-for-android-beta/ I would expect webGL to be fully supported with key lime pie version of android coming out soon. Also you can hack the iAd platform to support it on iOS but you will not get it through the app store due to using private libraries. github.com/benvanik/WebGLBrowser also be aware of github.com/kripken/emscripten because firefox recently came out with asmJS on odin monkey techcrunch.com/2013/03/21/firefox-nightly-now-includes-odinmonkey-brings-javascript-performance-closer-to-running-at-native-speeds/ this enabled firefox to port over unreal engine to webgl in only a few days at the last GDC so hopefully chrome and other browser start supporting asmJS for the obvious speed boost. techcrunch.com/2013/03/27/mozilla-and-epic-games-bring-unreal-engine-3-to-the-web-no-plugin-needed/
WebGL is not fully supported on all browsers, however both Android and iOS have native OpenGL views that can be used (and will provide a much faster experience than WebGL). Once your environments are set up for each platform, using the same code will be mostly trivial.
Although cocos2d-x does not support 3D animations, its documentation may help you get started for cross-platform apps using openGL.
The Challenge
I would like to create a simple website for:
iPhone 3 and 4
iPad
Android 2.2
– BBerry OS 7 and Playbook Browser
Symbian
Desktop Webbrowser
The Problem
Whats the "best-practice" for detect, optimize and deliver the Webapp for each device/screensitze? I know this is about HTML5, CSS3 Mediaqueries and JS. HTML5 Boilerplate is a good point to start.
But:
Should I detect Browser/Devices via backend/front? What are good
libraries?
How Do I detect different screensizes? What are good libraries?
etc.
Use Phone Gap as your starting point.
Depending on your use case, there may be other libraries you may want to pile on top of it, but basically Phone Gap is what you should start with.
My suggestion would be to use Sencha Touch. Its a very mature mobile app frame work with a very active community. They support any mobile that uses the webkit based browser which is everything on your list(Im not sure about the symbian browser).
Sencha 2 which will be released by the end of october will have its own native packaging library, so the use of phonegap wont be required. But it work well with phone gap if preferred.
Mobl is new language for the mobile web. just a look on it.
Adobe's Edge is the most refined HTML5 creator that also supports Android, iOS and Playbook (IMHO forget about Symbian, that's Nokia's half dead platform). BB7 uses webkit like most other desktop and mobile browsers.
Note that coincidentally Phonegap (that I see in other answers here) is part of Adobe now.
You can give a try to Titanium's new web SDK too.
And then look at this SO question which is very similar to yours and has lots of useful links in it.
How many browsers support
-webkit-overflow-scrolling:touch
iOS5 does, what about the rest of them, and android etc..
As of this writing, -webkit-overflow-scrolling was exclusive to Mobile Safari on iOS 5 and later.
As of mid-2012, the latest Android version (4.1 Jelly Bean) does not support it, but it IS supported in Chrome for Android, which can be downloaded from Google Play (and only supports Android 4.0+). Android 3.0+ supports overflow: scroll, but it's not very snappy.
Just iOS5 right now. The only other major mobile browser that would use this would be Chrome as others have their own extensions.
Since this post is now 2 years old, just thought I'd share some helpful updates I dug up:
Chrome Browser for Android no longer supports -webkit-overflow-scrolling? Is there an alternative?
http://cantina.co/2012/03/06/ios-5-native-scrolling-grins-and-gothcas/
Please note that the Android 4.1.2 Stock Browser that comes with the Galaxy S2 official firmware reports that it supports webkit-overflow-scrolling, but when you poll the value, it's always an empty string.
Which can lead to nasty bugs like this one: https://github.com/lazd/iNoBounce/issues/8