1. FeedTheShark's Avatar
    So after many years of saying "I have to start coding apps" I'm finally going to start coding apps. As background I'm a developer with 20+ years experience in building websites and programming in VB, asp, java-script, and some but less c#.net than is healthy these days. But when I look at how to create apps I'm getting confused & find it hard to know where to begin, because I need/want to develop for iOS, WP and begrudgingly Android.

    I've looked at Xamarin (confused the hell out of me). I've looked at Channel9 videos, bit better, but really only Windows based and didn't get too far. Looks like I need a Mac for iOS dev (*eugh*). Looks like I need to use Java for Android. I need to improve my C#, don't really want to have to learn Java and C+ for iOS as well.

    What do other developers who develop for all 3 do? Is Xamarin good enough or do you need to go native? Where do you recommend I begin? I have an app in mind that a friend wants me to build, but I really do have to have it working first on iOS (boooo!), and then do everything in my power to have it on WP seconds later.

    Appreciate all advice, thanks.
    10-21-2014 02:48 PM
  2. LuvMeSomeWP's Avatar
    My friend just finished and released a cross-platform game on iOS and Android using the Corona SDK.

    And after many many months after it was first announced, Corona today finally released WP8 support. I haven't used it myself, so I can't speak as to how well this all works, but I believe you write in LUA script, and Corona will translate and compile native applications for the specific platforms.

    Corona appears to be geared towards 2D apps/games. There's a certain threshold where it's free to use and sell, and after that point, you must pay?

    Introducing Corona Support for Windows Phone 8 | Corona Labs
    10-21-2014 04:22 PM
  3. Mameless's Avatar
    If you are developing a game, you can try Xamarin+MonoGame or you can try Unity. I personally use Xamarin+MonoGame. MonoGame is basically cross-platform XNA. If you look at XNA tutorials, which are quite many, you can use MonoGame with ease. You can do all development on Windows Phone, then when you are ready, port it over to the other platforms quickly. That's usually straight forward with the only bothersome parts being having to deal with platform specific stuff like IAP, launching browser/email apps externally, etc. Only iOS and Android need the not-free Xamarin. MonoGame runs natively on Windows/phone.

    Look up cross-platform games like Infinite Flight, Skulls of the Shogun and Draw a Stickman. They are pretty good and all use Xamarin+MonoGame.
    FeedTheShark likes this.
    10-21-2014 06:48 PM
  4. FeedTheShark's Avatar
    Thanks for your feedback Mameless. I should have pointed out that I plan to write apps only, not games. I've got no background in writing games, so the platform specific stuff will be more of an issue for me.

    So ignoring game dev, what's the best way to get into cross OS development?

    Thanks again.
    10-22-2014 06:04 AM
  5. Michael Brooks5's Avatar
    I've had some friends recommend phonegap which enables you to make your app with html, CSS and JavaScript and it can use each phones APIs. I suppose it also depends on which APIs you want to use on each phone though.
    10-22-2014 06:11 AM
  6. a5cent's Avatar
    Wait for MS' dev conference on november 12th before you decide. They might have something to announce that could interest you.
    10-22-2014 07:12 AM
  7. George Kounas's Avatar
    I've seen some demos of Appcelerator but I haven't tried it yet, it is also a platform you can use for multiplatform development
    10-23-2014 05:30 AM
  8. eshy's Avatar
    Check out these MvvmCross videos. Using MVVM libraries with Xamarin makes it even easier to share code between all platforms.
    10-30-2014 11:28 AM
  9. eshy's Avatar
    And here's another video about MvvmLight
    10-30-2014 11:30 AM
  10. Ordeith's Avatar
    I was looking at Xamarin myself. I am interested in how your experience progresses.
    10-30-2014 11:33 AM
  11. FeedTheShark's Avatar
    Thanks for all the comments. Right now I'm pretty much convinced Xamarin is the way to go. PhoneGap & other solutions don't seem as advanced, and Xamarin looks like it's just going to grow and get better and better. Never heard of MVVMCross until now, at a quick glance it looks like a good framework to use on top of Xamarin, but my knowledge of .Net & MVVM isn't the best, so now the decision is "vanilla Xamarin" or MVVMCross. Lots more research and testing ahead.
    10-31-2014 06:46 AM
  12. Vaipa's Avatar
    To go cross-platform you will be forced to delve into some platform specific wierdness such as:

    * For iOS you need a layer of Objective-C code
    * For Android you need a layer of Java

    So far Windows Phone is the only mobile OS that allows you to go directly native (build a high performance native code app compiled from C/C++ code). However when going full native you don't get access to a lot of APIs because they haven't been migrated from C# yet (live tiles, application states, call interaction are just a few).

    The alternative for Windows Phone is to make a C# app that binds into native code. This way you can interface with the legacy APIs AND get some performance from your code.
    10-31-2014 07:39 AM
  13. Smartaps's Avatar
    Unity , great tool
    11-17-2014 09:08 PM
  14. msftguy's Avatar
    try new apache cordova framework ... built in support from visual studio
    12-09-2014 04:50 PM
  15. MatLoz's Avatar
    We used Unity for our game Shuttle Shuffle, it was very easy to have the Windows Phone version working. And it has a free version that allow publishing too.
    12-19-2014 08:50 AM
  16. zzdjk6's Avatar
    I develop games for ios,android,wp using unity, it's a viable game engine.

    but for apps, you may consider html5 since your exp is mainly about the web :)
    01-01-2015 10:56 AM
  17. alva christi's Avatar
    Xmarin is a C#-based platform where code is written generally for iOS and Android and compiled differently during the deployment. Xmarin is rather advanced, and allows users to call native API’s in the resulting application than other tools. Before compiling, Xmarin executes code on a .NET framework at runtime and gives a native dialect of either iOS or Android. For large teams that work on different parts of the same project, I have found this to be particularly versatile and adaptive.
    02-19-2015 02:27 AM
  18. Ray Adams's Avatar
    What do other developers who develop for all 3 do?
    Unity for games.
    Native for apps.
    This is now I do my job.
    I know this is hard way to make apps, but I am old programmer and prefer to use native coding for platform to be able to use all features.

    Just a little IMHO.

    The hardest language is Objective-C and most stupid one. XCode is most awful IDE you ever can imagine. Developers of XCode seem have no idea how IDE should work :) And also you need Mac. But!!! User base is big, and the users are willing to buy apps! Even if you think total maarketshare of iOS is less than Android, revenue on iOS is 5x times more.

    Java is very outdated, but still more pleased that Martianian Objective-C! As about IDE, you have a few of them. Mostly good ones, I prefer Eclipse. Is has a few bad things, but you can live with it. Developing for Android is not hard , but you should consider big amount of devices with big amount of OS versions, screens, hardware and so on.

    Windows Phone:
    C# is best language is compare it with previous two. Visual Studio the best IDE! But in last versions too many idiots worked on it so you WILL face a few annoying bugs and a lot of small ones :) Windows Phone API is very limited even if you compare it with iOS yet you can produce excellent apps! Microsoft brought RunTime environment into 8.1 and trying to kill Silverlight :) I do not know why they did it because RunTime even more limited than Silverligh (for example you cannot use C++ component libraries). Also RunTime UI (animation especially) is slow. File access subsystem 50x slower than Silverlight. Userbase is very low, BUT! Like in iOS people are willing to pay for good apps. At least it was like that 1 year ago. And at that time revenue of WP developers was same or more that on android!
    But right now downloads and revenue dropped 5x times (this is for me) :( And this is because MS do not provides high end phones!
    02-25-2015 01:00 AM
  19. JoHam's Avatar
    +1 to unity, give it a try, you wont get disappointed at all.

    But you will need to make a big optimization, that's true.
    03-13-2015 04:59 PM
  20. luke_f's Avatar
    I do not know why they did it because RunTime even more limited than Silverligh (for example you cannot use C++ component libraries). Also RunTime UI (animation especially) is slow. File access subsystem 50x slower than Silverlight.
    I do not agree. WinRT is almost a direct clone of Sliverlight (most classes were directly re-used, only new namespace), but with a lot of improvements and additions. Especially the animations are much smoother thanks to "independent animations" which were not possible with Silverlight. List and grid views are much faster due to new virtualization and layout/rendering improvements. By creating a C++ Windows Runtime component it is very easy to interface with any kind of native code (both COM and C/C++). File access if very efficient when used correctly (async). Of all recent MS UI frameworks (Silverlight, WPF, WinRT), WinRT is the most performant one. Unfortunately it still lacks a bunch of features WPF has, but the speed makes up for it.
    03-17-2015 06:29 AM
  21. Kraljo's Avatar
    We also used Unity. Great development platform.
    04-24-2015 08:38 AM

Similar Threads

  1. How can I Install And Run Android OS On Windows phone 630?
    By WPCentral Question in forum Ask a Question
    Replies: 9
    Last Post: 05-02-2017, 09:59 AM
  2. Replies: 12
    Last Post: 04-08-2017, 04:14 PM
  3. Replies: 1
    Last Post: 10-19-2014, 08:17 PM
  4. Microsoft to hold Connect() developer conference Nov. 12-13
    By WindowsCentral.com in forum Windows Central News Discussion
    Replies: 0
    Last Post: 10-18-2014, 08:30 AM
  5. YouTube WP8.1 Developers Preview
    By Talal Al Reyami in forum Windows Phone 8.1 Preview for Developers
    Replies: 1
    Last Post: 10-17-2014, 10:22 AM