Example of Firefox OS cross-platform compatibility? - android

From what I had heard of Firefox OS, one big advantage was that you could build an offline, locally-stored "app" that works on Firefox OS, Android, (and Windows/Mac/others?) with one code-base. However, after looking at the MDN Howtos, I can't seem to find the instructions on cross-compiling for other platforms.
With the Firefox OS simulator installed, I was able to install Firefox OS apps like-native with Windows and Ubuntu, but is there a guide to creating installers for non-FirefoxOS devices, or is this just a technology preview?
Are there any good examples of cross-platform apps written in Firefox, and compiled for multiple platforms, Ubuntu store, Windows store, and/or Android Market?

If you develop a FirefoxOS app it will be relatively simple to port that into various different mobile platforms, because FirefoxOS apps are mostly standard web technologies. However, currently FirefosOS API's include some new and not yet standard API's as well that are available only in FirefoxOS, for example SystemXHR.
If you want to write an app for FirefoxOS and want to be able to compile the same codebase for Android, iOS, Blackberry etc. your best bet right now is to use Apache Cordova project. They have a nice set of command line tools that make building for various mobile platforms slightly less painful. But you should keep in mind that developing hybrid apps in this way can be pretty daunting process (each native platform has their own quirks and pain points and needs some configuration). FirefoxOS support in Cordova is pretty new, but I am sure it is already better than many native platforms.
That being said, if you are just getting started with mobile web app development, I highly recommend using FirefoxOS as a target platform. They have excellent tools that help you test and develop your app and focus on the open web technologies. FirefoxOS community support is really strong too, which I find very helpful.

For Windows/Mac/Linux/Android that Firefox Browser is reached,
you can put your webapp in Marketplace and chooce your app to support all platform.
Then you could browse Marketplace and install your webapp in Windows/Mac/Linux/Android.
Your webapp will be shown in launch menu and appear in application folder in windows/mac/linux/android. The webapp will have a standalone window, just like native application, and can be uninstalled as the native application.
That's what Mozilla called cross platform.
With web technology, you could adopt Apache Cordova for the platform that Firefox not reached out yet, though your app performance will be constrained by the supported browser engine (webview) per target system.

Related

Do 'Chrome Apps for Mobile' use native web-view on each platform?

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.

IOS and Android Developing in Windows

I am currently developing Android Applications and would like to enter into IOS developing. Many have advised the use of cross platform development tools. I hav searched and found nothing solid. Can anyone suggest a good cross platform deveoping IDE for IOS and Android. Please give suggestions that is sure to work.
I have worked with these both Cross platforms. these are simple to use.
Appcelerator Titanium for cross platform applications.
Using this you can Create rich native iOS, Android, hybrid, and mobile web apps from a single JavaScript-based SDK
PhoneGap
Developing with PhoneGap gives you the freedom to create mobile applications for iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada and Symbian using the web code you know and love: HTML, CSS and Javascript.
Cordova/PhoneGap works well between iOS and Android but the down side is that you have to use HTML and javascript to implement your application. Native elements such as maps require quite a lot of work although there are many plugins for them. Unfortunately plugins are not standard.
Style sheets and html are good, because they make it relatively easy to scale the application over the huge array of screen sizes.
Window phone has problems with standards and old models are quite slow, but perhaps there is an improvement in WP8.

Rearchitecting existing Desktop application to technology that support multiple platforms

We recently confronted a challenge where we got to port an Existing Desktop (.NET 3.5) application (Which communicates a WCF service and a Webservice) to the technology that can meet following:
Should support IPAD
Should Support IPhone
should support Android
Should Support Window Mobile
Should be on WEB based, so that can run on DT.
Optimized in Performance.
Cool UI.
With so many technologies available to support them all. Its become a challenge for us to finalize one upon other. So far, we are thinking about a Web based application in ASP.NET MVC-4 (As we are .NET engineers). We are open for suggestions.
Thanks for your suggestions and time you devote in helping me.
Regards
Sumeet
Take a look into the MONO Project it is a open source project that aims to bring the .net framework to linux/mac os Mono Website mobile development does come with a licensing fee in order to deploy to a device or distribute the application tho there is also phonegap which lets you use javascript and html5 markup to create native cross platform applications for mobile platforms PhoneGap Website

Are applications developed using 3rd party mobile application development tools acceptable to their respective markets?

I am trying to implement application that is supported to android,iphone,blackberry,windows mobile,symbian, webos (palm).
For that I am using the 3rd party applications here.
However, upon research I found that Android market doesn't accept the application that is developed on total cross tool.
Same for iphone to use application that is done on total cross mobile must be jail broken.
So, now I am in confusion that, is mobile applications those are developed using 3rd party Mobile application development tools are acceptable with their respected marckets.
For example, if I develop an application using phonegap tool on android, will android market accept that application?
The iOS and Android application stores have plenty of applications built using cross-platform frameworks. Apple originally suggested they would restrict these platforms, but they backed off from this position last year as shown here:
http://www.apple.com/pr/library/2010/09/09statement.html
I have to disagree with Sheikh Aman, however. I believe there are several platforms that do that. According to the original poster's link, Bedrock does so.
It's a little misleading to say that PhoneGap is for mobile websites--it's true it uses JavaScript+CSS, but their apps are packaged so they can be sold through the app store.
My company's product, the Particle SDK, covers Android, BlackBerry, iPhone, webOS, and WinPhone7, and legacy support is available for Symbian, but so far we haven't had much call for it. Particle apps are written in Java or ActionScript, not JavaScript.
If the original poster actually needs Windows Mobile, as opposed to Windows Phone 7, Bedrock or PhoneGap might fit the bill.
I haven't tested those toolkits, but they both have applications in the app store. EA's iPhone Battleship game is apparently a Bedrock app.
AFAIK, Appcelarator is very well accepted in app-store and in Android market too.
Phone Gap is for mobile websites.
Most importantly, there's no cross-platform development environment available, which lets you develop for Android+iPhone+WP7+BB+Symbian by writing a JS (or whatever) only once.

Cross platform non-browser development for tablet PCs?

I have to develop an app for the Ipad. It has to be non-browser based. That's a requirement and I can't change it.
I think it likely that the app would be useful on other tablet PC types and have a good chance of a second app which requires IPad and Android at a minimum; Windows and Linux would also be useful.
If it makes any differences these are "desktop" apps for tablet PCs and it is not envisaged that there will be any handphone development.
Is there a “Grand Unifying Theory” of cross-platform desktop app development? Is there a good IDE, preferably FOSS? I'd rather code C++ or Java and am less keen on Ruby or Python (through lack of experience) but would accept if there is no alternative.
I need a GUI builder, something like Borland Delphi or MSVC or the Eclipse Android plugin and I need a way of executing different code on different platforms (#ifdef Android … etc)
Any ideas, or should I just go ahead and code the current project for Ipad only and stick to browser based HTML5 + CSS3 with Jquery/Ajax for cross platform apps (the problem being that some will need to execute native system calls, like en/de-crypting a file and at least one app has to work in “local mode” if there is so internet access, so I guess I would have to bundle a web server (Apache) if I go browser based (in order to serve the web pages), which would not be necessary with a “desktop app”.
Any recommended IDEs, Web sites? Books? Thanks
The "grand unifying theory" is that core business logic should reside in the cloud; that allows your iOS and Android implementations to be just a thin GUI on top of this shared logic. Unfortunately, there isn't really a way to reuse the GUI, and even if you did, it would go against the intuition of users on one or both platforms, since you wouldn't be using the paradigms of those specific platforms.
Google App Engine provides a way for implementing your core business logic in Java on top of Google's cloud computing infrastructure at reasonable costs (development is free, cost is proportionate to usage, and one can put caps on how much one is willing to pay). There is an Eclipse plugin for developing App Engine applications. When developing for Android, you will similarly want to use Eclipse (there is a plugin specifically for Android development), although the Android SDK can be used just from the commandline (which is good for setting up a continuous build and test system).
For iOS, you will want to use the standard Xcode and the iOS SDK. Xcode is an IDE, but it is possible to build Xcode projects directly from the commandline using the xcodebuild command (also good for continuous building). The standard language for iOS applications is Objective-C.
You should take a look at jQuery Mobile. I used it to cross develop between Android and Playbook. I know that it also does iOS.
Maybe for you the downside is that you have to program in JavaScript.

Categories

Resources