Reputation: 2051
Id just like to get peoples opinion on which of the above 2 are best and easiest to develop on.
I need to have a iPhone and Android app ready and in stores in 2 weeks but dont have a Mac to develop natively on. So as far as I can see these are my 2 best choices (and they are free mostly as well which is important).
I have mostly C# and Java experience but have dabbled in CSS and HTML a few years back. So just from this point Xamarin looks the better choice for me?
Can anyone please share their experiences or advice if they have any? Also, is there another service that I can use that may be better than these 2 (needs to be free or VERY cheap).
Thanks in advance.
Upvotes: 3
Views: 6080
Reputation: 1555
I need to have a iPhone and Android app ready and in stores in 2 weeks...
Well forget about it. It sounds like you are an inexperienced app developer so developing and publishing an App in just two weeks is not going to happen. Only the approval process for iOS apps can take up to two weeks for new apps to be approved.
but dont have a Mac to develop natively on.
Both Xamarin and Cordova require a MAC to build on. Xamarin even needs a MAC to develop on, Cordova doesn't. The iOS UI framework can only be accessed on OSx and therefore needs a MAC.
I have mostly C# and Java experience but have dabbled in CSS and HTML a few years back.
For Xamarin you will need good knowledge of C# as well as UI framework knowlegde of Android and iOS. The learning curve is quite steep since both UI framework behave different and have different patterns. Cordova just allows you to develop your UI web based which really speeds up early development.
Can anyone please share their experiences or advice if they have any?
I've done both and Cordova and Xamarin. In your case it sounds like Cordova is the best way for you to get started. If you are really thinking about developing multiple apps or one app that will take up several months of development work then try Xamarin. I also wrote a blogpost about Xamarin vs Cordova which may help you to decide.
Upvotes: 3
Reputation: 9965
Phonegap is pretty slow: clicking a button can take up to 3 sec to display the next screen. iscroll is slow and jumpy.
There other funny bugs and issues that i was able to overcome, but in total - not fully matured.
Upvotes: 0
Reputation: 1414
You will need a Mac to do any sort of iPhone testing. I don't know what your definition of "cheap" is exactly, but with Xamarin you are looking at spending $600 to be able to put your app on both Android and iOS.
As for actual programming with Xamarin, there are ways to not have to learn each platform's unique API. For example, you can use a UIWebView/WebView to display HTML as your interface. Additionally, you can use Razor Templates to generate the HTML the WebViews will display. Within both iOS and Android you can communicate back and forth between the HTML and C#.
To say another way, you could create your own PhoneGap with Xamarin.
Also, Xamarin provides component libraries like Xamarin.Mobile and Xamarin.Social that generalize some of the platform functionality so you don't have to learn some things twice.
With that all said, PhoneGap may be your better solution. Adobe provides a service that checks out your code and bundles the iOS binary for you.
However, I believe you will still need to have an iOS Developer's license ($100) and will need to set up all of the provisioning profiles and what not.
As Mike mentioned, you also have to give yourself at minimum one week to get your app approved in the Apple App Store.
Upvotes: 5
Reputation: 39023
Your only bet, and that's sketchy, too, is PhoneGap. Xamarin doesn't hide away the OS, so you'll have to learn what APIs to use - twice. Doing that in two weeks, and getting a production-level application ready, is a mighty achievement. With PhoneGap, you need to learn just one main platform, and some adjustments. If you're in a hurry - use that.
2 weeks is still a very short amount of time.
Be that as it may, you won't be able to test the iPhone app without a Mac (the emulator requires a Mac, and I don't think you can transfer an app to an actual phone without one).
Upvotes: 1