Why to use Phonegap if you only develop on one platform - android

I've been checking out a lot of open source projects for a SQLite map database I'm getting ready to develop and have seen a lot of finished Phonegap applications that are just primarily written natively for one platform with an index that just have references. Why do I see this so much? What the advantage to this?

If you don't know the language+the sdk&apis you need to know to build native apps
If you think maybe oneday you will have to target an other platform
if you want to use some libraries available in javascript
if you want to share code between your app and a webapp
Ok, there are also many disvantage as speed or the need to test with many devices because you rely on the webview. If the target is android maybe using crosswalk can remove many of the disadvantages.

Related

Writing for iOS and Android - possible for this function?

Read a number of questions on writing in just one language for both iOS and Android and what I learned is that it depends on the special functions you need. What I want to build is a very simple app that will ask the user what he or she is doing. We need this for billing the customers but my co-workers keep forgetting to update their time-sheet, so I want to write this little app that pops-up every x minutes and asks them what their doing. At the end of the day the list will be sent by e-mail or whatever.
Anyway.... is a pop-up from an app from the background a 'special' function? Can a general language be used on both for this?
Edit: I have searched for crossplatform tools, but all replies talk about specific functions that still require native coding. That is why I was wondering if something as simple as a popup with question and entering / saving a text, would be native or could easily be handled with a crossplatform tool.
You may use Xamarin to create a cross platform applications. I am satisfied with Xamarin platform at the moment. I have been working on native iOS, java for Android also.
Please keep in your mind that, it would be great if you are familar with these platforms because Xamarin is just a wrapper of methods which exist in the native platforms. Since I am familar with native Android and iOS, it makes me comfortable when I work on Xamarin platform.
My personal recommendation is to stick with Native platform. But if you have to work on cross platform, I believe Xamarin is a good option.
Pros:
If you are familiar with C#, it will help you a lot to develop an application for android, ios and windows platforms in Xamarin.
It is demanding platforms, and many big companies are looking Xamarin developers especially after the Microsoft acquisition.
Cons:
You need to buy a license.
There are other platforms as well, but I did not use any of them. Here are some of them
Cordova
HTML5
Unity
PhoneGap
Appcelerator
Corona
Qt
You may find useful the following urls
http://appindex.com/blog/ten-best-cross-platform-development-mobile-enterprises/
http://www.developereconomics.com/pros-cons-top-5-cross-platform-tools/
For sure what you describe can be achieved with using Ionic. Its a free solution and it comes with a lot of good documentation to get you up and running quickly. You'll need to use AngularJS for developing apps with Ionic so that might be a good solution if you know your way around that framework, or if you are familiar with Javascript or have done some web development before.
On regards to your question regarding native functionality (by popups I assume you mean notifications) Ionic sits on top of Cordova so there is a huge amount of native plugins that you can use to implement native functionality. You can take a look at plugins here.
Hope this helps!

Converting android app to ios

I have one simple question, that is can I convert my android .apk app into ios using any software? If yes, then please give me the name of that software. If any alternative method for that please guide me.
Google has a tool to convert the back-end, nothing for front-end though
http://www.xda-developers.com/google-tool-helps-developers-port-android-apps-to-ios/
There is a new startup that clains to convert the APK to IOS.
It's called MechDome.
The goal is very simple and attractable:
Reduce time to market by eliminating cross-platform development. Automatically convert your existing Android apps to high-fidelity, native iOS apps.
There is nothing out there that would convert apk into ios app. To my knowledge there is also nothing out there that could translate android code to IOS. The operation is simply too complex for a simple tool to manage.
However, there are tools you could use to make your apps (developed by you) work across multiple platforms. I'm sure there are more, but here are 2 of them I found in minutes (look into them if you are interested): Apportable, Phonegap (discontinued as of 2020/03. It was made obsolete by ProgressiveWebApps - PWA).
In past decade or so WebApps have been picking up for anything that is not too graphically demanding as they can run on anything that has a Web Browser. With this style devs pretty much open their website in a platform-specific executable and it looks like an app.
As for your existing app depending on complexity of your software you have to rewrite from a little to a lot of code to adapt to IOS APIs.
In short: No. Unless your app is build on multiplatform framework, converting means manual adaptation.
There is no known way to convert an android app to iOS. MechDome which is a Developer Tool that Automatically Converts Android Apps into iOS Apps seems to have stopped as of 30/03/2021. link
However if it is your plan to launch android and iOS app from one coding project, use Flutter which allows you to launch on both platforms simultaneously.
Flutter is Google’s mobile UI framework that provides a fast and expressive way for developers to build native apps on both iOS & Android, using a single codebase.
Get started here link

Android app with HTML5

I want to create a Android Application.
Altough I want to use HTML5 for creating that application.
Later on I even want to get the application to multiple platforms like for Apple.
I have tried Eclipse but couldn't get it to work.
When I create a new "Project > Web > Dynamic Web Project" I can't export this into a Android Application.
PhoneGap looks interesting.
Although I'm not sure how you can create a .apk (for android) there.
Or should this work together with Eclipse?
Could anybody give me a headstart?
What Application should I use to make a HTML application?
How do I create a .apk file?
Thanks in advance.
If you really want to dive right into developing with Phonegap, you can try out Telerik's AppBuilder (http://www.telerik.com/appbuilder). The demo project uses KendoUI Mobile (which I can also recommend) is comprehensive enough for anyone. As far as I recall you can use it for free for up to 2 projects.
There is also Intel's XDK (http://xdk-software.intel.com/), which is completely free - but the simulator and deployment features aren't as far developed as Telerik AppBuilder's are.
I strongly recommend AGAINST doing it the "real way" with eclipse/xcode if you have no prior experience with developing native android/iOS apps.
Start with the following project:
http://code.google.com/p/html5webview/
This will give you a good start. You can download it and import it into eclipse.
Phonegap does create an APK.
Essentially what Phonegap does is present a WebView and a simple API for calling native methods on the respective platforms. This allows you to write the same app and deploy it on multiple platforms with minimal or no changes. The majority of what you would do in Phonegap is set up the projects to pull in the cross-platform libraries.
The major limitations come from lack of access to native UI components. As you progress in app development you may find that it's a significant limitation. I rarely build HTML5-based UIs anymore, and instead go with native apps.
There are other cross-platform frameworks out there as well. Here's an article describing some pros and cons of each:
http://www.developereconomics.com/pros-cons-top-5-cross-platform-tools/

Hybrid apps for iOS/Android/Windows 8

I hope this question is specific enough. I have a client for whom I made an iOS native app and an Android native app (same app, different platform). It's a fixed pixel design (I made this work for Android somehow:) and it works on iPad, iPhone and most Android devices (with some letterboxing). Now I am asked to write the same app for the Windows store and they want me to use HTML and JavaScript. My question is, when I use HTML and JavaScript, would it be "easy" for me to use this code into some sort of hybrid solution (PhoneGap, etc)? The app doesn't need much complicated functionality but does need to support push notifications on iOS and it needs to be able to play videos, preferably HLS. Any advice on what the best hybrid solution and do hybrid solutions allow you to build for Windows 8?
I'm a cross-platform developer working on PhoneGap and Titanium Appcelerator. The correct answer is "It depends". Currently the state of cross-platform development is not very recommendable. Yes, you can write plugins for PhoneGap and it does support windows phone but you will have a ridiculously hard time getting them to communicate with each other properly. I learnt this from experience.
If it was a hacking/hobby project to further the cause then I would say go for it but for a time-bound client project like yours, I would recommend against cross-platform solutions and go native instead. Plus native always gives considerably better control, speed and ease of development. You will probably develop it faster in native than cross platform anyway. I've played around with windows SDK and it seems easy to use and well-built with good documentation and you can use C# which is similar to Java since you have already used it on android.
You can also build windows 8 desktop apps using html and javascript natively but this isn't present in windows phone 8 yet.
As I mentioned, If you don't need too many native controls, then you can go cross-platform. For your requirements, it can be done. If you have already developed android and ios apps and only need windows app now, then going native would be easier. But if you have to make all 3 then you can go cross platform if your requirements are restricted to what you mention. Here's a good quora thread that discusses the pro's and cons:
http://www.quora.com/Is-Titanium-good-for-developing-iPhone-apps
Take a look on Xamarin
Main idea - they brings real native code for all platforms.
They have instruments to compile C# code that it can be used at all platforms
For example you should create UI in XCode (for iPhone) and use ModoDevelop to create DAL/BLL, then you can re-use C# code base over all other platforms
They have cross-platform iPhone/Android/WP7/W8 samples on GitHub
Also see Q&A on Stackoverflow tagged Xamaring
We are starting to build multiple apps for multiple clients both in IOS and Android native platforms. The problem is we are going completely native which is taking too much time.
I would like to look at the linked in method (http://arstechnica.com/information-technology/2012/10/a-behind-the-scenes-look-at-linkedins-mobile-engineering/) which is a more hybrid approach using HTML and native code.
The problem is I don't think Phonegap is that good - good for prototyping but maybe not for full versions of apps as it can be a bit slow and a bit buggy.
I would like to look into doing a model where we create like 65% HTML and 35% native to that device (like linked in)
Would anyone have any suggestions for this? Would people say we need a massive development team to pull such an approach off?
I welcome thought:)
Thanks

Flex and Action Scripts

I'm instructed to develop a project in such a way that it is available for iOS, Android and Blackberry OS platform all at once. A herculean task!! indeed...
I am searching for all the possible development platforms for this assignment. I came across Flex 4.5.1 and the initial thoughts are really positive. Somewhere in SO I read that flex applications suffer from code bloating problem. I dont want such solution; infact memory is an important concern for me.
I want to know which one of the following is the optimum approach:
Developing using OS specific SDK i.e. xCode for iPhone, Andriod SDK for Android.
Developing using Flex builder and ignore code bloating.
Using Flash Builder and developing application in ActionScript.
I would also love to know if there is any other platform / language / API available for me...
Thanks for your time,
Flash Player's ubiquitous delivery makes developing and packaging mobile applications easy; however, HTML5 / JavaScript platforms such as PhoneGap would also enable rapid cross platform delivery.
Flex is heavier than Pure ActionScript. Depending on what you're developing, Flash Professional or a pure ActionScript project in Flash Builder may meet needs in a very lean and performant manner.
few days back I also asked a similar question here on SO and unfortunately so far I have not got the answer I wanted. (question is still open and you can share your findings with me there..)
Regarding your questions about Flex 4.5.1, I would like to say it is very neat and nearly perfect programming platform and learning it is quite simple. The Support & training available from Adobe is just awesome. You can easily get confidence in just few weeks. See an Excellent Downloadable tutorial, I would suggest you follow it for initial weeks.
In Flex, We Program in .mxml files and ActionScripts(.as) ... *.mxml files are converted to ActionScript during compilation. To increase the efficiency you can directly program in ActionScripts once you understand how they actually work. (Which I am trying to learn now.)
I am not sure about C/ C++ but Flex definitely supports some other languages i.e. Java, PHP etc. For Java developers like me another surprisingly good thing is that Flex can be integrated with Spring also.
Share your findings about Flex..
There are a quite a few cross platform mobile development tools
phoneGap
Appcelerator
Rho mobile
Mosync
Sencha
Corona
WidgetPad
Each one has their own advantages and disadvantages. For example, the applications built using phoneGap uses a html view to show the UI while Appcelerator uses native UI components which offers better UI responsiveness. Some are free and some are not. So you need to decide on your requirements and choose a framework.
If you like HTML5/JavaScript and want to extend it with C++ then you should try MoSync, it gives you the flexibility to blend them all if you so like. You can find out more at mosync.com.

Categories

Resources