I want to develop a HTML5 Web App.
I read that in HTML5, you can use the new feature "Offline Web Applications"
With the *.manifest file
I read an article from november 2010, that this feature only works on the iOS platform.
Does it work on Android now?
Yes. It works on Android as well as iOS and most desktop browsers. You don't need PhoneGap unless you want to access native features or deploy to the App store.
UPDATE:
Check out this chapter from Jonathan Stark's book: Building Android Apps with HTML, CSS, and JavaScript.
In general, http://mobilehtml5.org/ provides nice mobile compatibility tables to answer this and other similar questions.
Yes it can. Here's an example for an offline game:
http://www.davidgranado.com/2010/11/make-a-set-mobile/
The one thing that sucks is that iOS generates a nice icon automatically. However, android doesn't. Also, I noticed that on random versions of android, it will display an error popup about the fact that it can't connect to the internet, but still runs fine after that.
Related
Please, am a web developer. I just built a web app for a school to manage their results and fees.
Now, i intend to build an app on android and ios so its 'easier' for both staff and students to get notifications and interact better.
Is JQuery mobile the asnwer?
Thanks for your reply
jQuery Mobile doesn't create an application for Android nor for iOS, it only makes websites look better on said platforms.
To create a real, native, application for Android you should use Android Studio. To do the same for iOS you need XCode and MAC OS X.
But, if you prefer to write websites, Apache Cordova does what you need. Allows you to create apps for any platform using your usual HTML, CSS and Javascript.
I'll drop the link here so you can check it out.
https://cordova.apache.org/
Another approach is creating a basic Android and iOS app that simply opens a web page (your website), but it is most of the time lacking in performance. If this last approach interests you, just look up "WebView" for Android, "UIWebView" for iOS (Obviously you'll need Android Studio and XCode)
EDIT
This is an old answer, now a ton of different technologies exist to build multiplatform applications, without even losing out on performance (for example, see react-native)
If you have already built the app using JQuery mobile and want to make it into an app I recommend looking at Cordova (PhoneGap) https://cordova.apache.org/
For notifications etc I found https://www.pushwoosh.com/ to have the best integration
Is Chrome Apps For Mobile only a collection of Apache Cordova plugins for each mobile platform or does it intend to also replace the native web-view with Chrome based web-view ?
This question and this slide on Google Docs seem to indicate that it is only a collection of plugins. This question says that on iOS it uses the native web-view.
What about on Android and any future platforms Google might support?
Yes, all current Chrome Apps for Mobile using the cca toolkit are cordova based and thus use the Native system WebView.
On iOS, this currently seems unlikely to change because of policy restrictions (but hey, who knows).
On Android, the cordova contributors would like to experiment with supporting the use of custom web renderer implementations. This is being discussed as a possible cordova-4.0 major version bump milestone feature, and would thus target fall/winter of 2014. This is really just a dream at this point, but its certainly a feature that is on everyones mind.
I should note, there are a many downsides to doing this, its not all gravy. Using a custom WebView means adding ~20meg to application download size, and means significantly more memory/video memory usage on device. Alternatively, we could ask users to download a separate "cordova-runtime" app from the store (like Adobe Air for Android, or like you have to download a Java Runtime for desktop), but users usually dislike that experience.
Also, with Android 4.4 KitKat now having a chrome-based WebView, which enabled remote debugging and implements many modern web capabilities, the usefulness of a custom WebView is shrinking.
Finally, there is already a project that does what you ask, but isn't cordova based, and is not used by the cca tool: Intel's Crosswalk Project. Just adding it for reference. Their wiki goes over a lot of tradeoffs with their approach.
We're developing several HTML5 apps based on the Sencha framework, and thinking about packaging them into apps with say PhoneGap.
However, even if you package these into apps, I'm assuming you still have to deal with the Android fragmentation with various manufacturers making weird modifications to the browser. We've tested a lot of manufacturers (especially those from China) and the default Android browser is being hacked to death.
Our app works perfectly in the Chrome browser on Android, so, the question is, is it possible to just literally put Chrome into the same package and just use that? Instead of some random modified browsers each manufacturer feels like making.
Sorry if this is a dumb question, still very new to this. Any help / advice would be greatly appreciated!!
I want to point out Crosswalk: https://crosswalk-project.org/
It seems to provide what you require.
What is Crosswalk for?
If you are a developer working with web technologies, Crosswalk enables you to deploy a web application with its own dedicated runtime (ed: modified Chromium). This means three things:
You can distribute your web application via app stores.
Your application won't break in whatever ancient webviews or browsers your audience is using, as you control the runtime and its upgrade cycle.
You can build applications without worrying so much about runtime differences and quirks: you only have one runtime to deal with.
I'm assuming you still have to deal with the Android fragmentation with various manufacturers making weird modifications to the browser
PhoneGap doesn't use the browser. PhoneGap uses a Web rendering engine per platform. On Android, that is WebView. Hence, it matters not a whit what manufacturers do the the AOSP Browser application.
is it possible to just literally put Chrome into the same package and just use that?
If you have a dozen or so Java and Android native code engineers who are capable of taking the Android build of Chromium and rewriting substantial amounts of Apache Cordova (a.k.a., PhoneGap) to use Chromium, it's at least conceivable. Then again, if you have a dozen or so Java and Android native code engineers, you might be better served simply writing a native Android app, as it will be smaller, faster, and easier to maintain than your own home-grown edition of "ChromiumGap".
To quote the Chrome for Android FAQ:
Does Chrome for Android now support the embedded WebView for a hybrid native/web app?
We are evaluating ways we can support WebView with Chrome but do not have any plans to announce at this time.
I'm about to start on a new web application project where I need to support iOS, Android and Windows mobile 7. Is there a framework that will support all three?
In the past I've used Sencha Touch for iOS and Android, but it would be nice if there was a framework for all three systems.
I would like it to be as native looking as possible since this is a demand from the client.
I will use PhoneGap for this. You can refer official PhoneGap site at http://www.phonegap.com/
It supports six platforms which includes ios, android, blackberry, windows, symbian, palm os..
You can refer complete chart here for different features in different mobile os http://www.phonegap.com/features
You can see for Windows its still coming soon.
https://build.phonegap.com/
However they are updating with Bada & MeeGo..
W3C has a list of mobile web app best practices. Please check this link
http://www.w3.org/TR/mwabp/
I hope this will help you in designing a mobile web applicaiton.
Although still in alpha you may want to consider using jQuery Mobile http://jquerymobile.com/ for the UI. It does have some WP7 support, but expect this to get a lot better after the IE9 mobile/Mango update.
would like to build an app that can run on any of the new PAD's hitting market.
I don't want to limit our users to a specific OS.
What is the best solution to allow all these pads to use our app.
The app needs to be able to run offline.
Thanks!
You could write a web application and use HTML5 for off-line caching.
http://diveintohtml5.ep.io/offline.html
Alternatively, you could try and use Titanium Mobile.
http://www.appcelerator.com/products/titanium-mobile-application-development/
You should also spend some time reading this discussions:
is-there-a-multiplatform-framework-for-developing-iphone-android-applications
technology-to-write-iphone-blackberry-and-android-phone-at-the-same-time
Have a look a MonoTouch, it will let you write all your logic in C# over all the main mobile platforms. However you still need custom UI code for each platform, but as least it will all be in C#.
(Better then having to use C#, Java and Objective C)
You could use Adobe Air that could works in most of Mobile/Tablet operating system Iphone,Android and Windows 7. but im not sure if Apple will approve your App if you plan to released to the App market.
Another way to think about it is to create an HTML resources and then integrated in away seems native to the system its more work but you will have a higher chance to get approved from apple and the app look more integrated with the OS .
The obvious -- and currently free -- answer is to use Adobe FlashBuilder to develop iOS apps. There is an iPhone and iPad emulator included. This does not use xcode, but you get most of the features to work with, and you can also develop Android apps from the same set of code. Further, with minor modifications for mouse usage, you can also have the apps run on any desktop as an Air app.
Adobe's website has detailed directions for how to create iOS apps on Windows with Adobe Air, though the most useful instructions for Air are from untoldentertainment.com.