I have a hobby project that I wrote in C#. Library is for geomatics calculations, it has over 4000 lines of code and I have spent years developing it. Recently I completed GUI using Windows Forms and shared it for free. I got good feedback and now I want to make it cross platform.
Problem is that after days of searching the Internet I found nothing. All links are outdated. I would prefer something like JavaFX, where I could possibly create one GUI for desktop and mobile without much hassle with compiling.
GTK# is stuck (no mobile and no integration for newer versions with Xamarin studio)
QtSharp is in Alpha stage
Eto.Forms for mobile is still under development
Are there any free working alternatives with good tutorials/documentation in late 2016? Or do I have to rewrite my libraries in Java and create GUI in JavaFX?
At the moment there isn't a .Net framework that support all platform. The solution that covers most platform is Xamarin (right now support Android, iOS and MS Universal App). As this post suggest probably in the near future there will a Xamarin version also for Linux systems.
But there is an alternative: duocode. Basically it's a tool that convert c# code into javascript and once is transformed you can use the javascript code to implement a mobile interface using a cross platform framework like cordova. You will have two different application but with the same code base.
Related
As I am really really new to Universal Apps and I am coming from previous experience with WPF and Silverlight I was wondering if there is an approach I could use to take advantage of the .NET 4.5 APIs in an project created as Universal App. I know this might be a stupid question but as the idea of Universal Apps is to be "universal" it bright this thought to my head "Could I create a 'class library' for WPF and use it in an Universal App".
I have been researching this on the web but with no success so decided to test my luck here. Also if anyone could point me to some good resources in getting started with Universal app (for WPF/Silverlight .NET developers) it would be awesome.
You should be using Portable Class Libraries. It will give you the option to select which platforms to target. Keep in mind that the API surface available to Universal Apps are somewhat of a subset of the API surface available to WPF. This is somewhat analogous to how Silverlight was a subset of WPF in the beginning and then branched out somewhat over later versions.
Sorry for may be stupid question, I’m novice and never had experience with compiled languages.
I have library for iOS(VideoCore) and want to start to write mobile application in C# and use Xamarin for it, but will this imported library work on Windows Phone or in Android version of my mobile application, or I need to find alternative library in C#?
VideoCore is an iOS-only framework, so you'll need to find alternatives for Android and Windows Phone.
You don't say what you're wanting to use VideoCore for, so it's hard to suggest alternatives. For video processing on Android, have a look at OpenCV.
Can somebody point me to some good Monogame walkthroughs or tutorials?
The reason I am asking this question is because when I try to create a new project in VS2012, I get the following options
But all the tutorials or walkthroughs (like this one) have the following options and develop using xaml -
Now, I guess this is because I am using Windows 7. So can somebody give me tutorials that are actually targeted to my case.
NOTE: I am trying to develop simple and normal games for Windows 7, nothing fancy like XBox, Windows 8 or Android. Where can I find appropriate getting started walkthroughs for my situation?
There's a few MonoGame tutorials listed on the forums here:
https://monogame.codeplex.com/discussions/439595
And a related post about ideas for new MonoGame tutorials here:
https://monogame.codeplex.com/discussions/439728
As previously mentioned, the MonoGame API is syntactically compatible with XNA so most XNA tutorials will also be helpful.
There is some trickiness around dealing with content, the simplest method in my opinion is to just add it to the Content folder, set it to Content / Copy if newer in the properties window and refer to it with the file extension in code (unless it's an XNB file).
MonoGame is a great project and I highly recommend it if you want to make games for many platforms, something you may want to do sooner or later. However, it still has a few missing features compared to XNA so life may be easier in the short term, while you're learning if you stick with XNA.
Last point, your nearly there anyway, based on your first screenshot I would choose the MonoGame Windows OpenGL Project if you want to target windows 7. Learn how to render your first sprite and you may decide that proceeding with MonoGame is not so bad after all.
Most MonoGame tutorials will deal with Windows 8 or non-windows. This is because MonoGame was created as an alternative to XNA for easy porting from XNA-supported platforms (such as windows 7) to non-XNA supported platforms (such as a Windows Store App).
Note that you can still use XNA in Windows 8, but you'd be creating a desktop app, not a Windows Store App.
A great resource of example is the multi-platform sample project which contains several examples made to work on all platforms
https://github.com/Mono-Game/MonoGame.Samples
The platformer sample is on all platforms and the rest are in progress, but all show a great way to setup your project ready to tackle all the platforms out there!
I've recently chosen to learn C# and develop mobile apps using C# on Xamarin. Particularly for Windows Phone and Android development. I know that Windows Phone app development is mostly C#, and that Xamarin can compile native code for Android, but how does it compare to native development in Java? Will I be able to use EVERY or at least most (like 90%+) of the Android SDK and extensions using Xamarin?
The main thing which I think there is to consider is your preferred programming language - which in your case is C# - and using that. The only thing that is of concern to me when building an app in C# as oppose to Java is their is not as many 3rd party references to use as there is with Java. You will find yourself downloading example files and reverse engineering them in order to learn how to do new features, you will have to search intellisence far more to find what something is using if you can only find a Java based example of something. One thing which you will find though is that it usually can just be the same method as what is in Java but the first letter being capitalized. LINQ is a major benefit I find in data manipulation which is not available in Java.
Good luck with whatever you choose, James
I did not do any stats or study of Xamarin C# coverage of Android Java API, but in my work, everything that I needed when porting code from Java to C# was there. Also, Xamarin says that for new Android SDK releases they usually have C# counterparts released within 24 hours. And, as #dotToString remarked, you can add Java jar libraries to Xamarin C# project and make calls to them if necessary.
Performance is another matter - I don't believe it runs natively on Android. Rather, Mono runtime is somehow interpreting the byte code. I did some comparison of Java vs. Xamarin C# code performance on real life code, see more at:
Does anyone have benchmarks (code & results) comparing performance of Android apps written in Xamarin C# and Java?
Greg
you can use all of the android functionality and java library interop. also, you get the advantage of non windows specific .net including linq.
I have just finished studying C with some website, and I covered most of the basic-intermediate things.
Now I want to develop iPod\iPad apps, using Objective-C as I understood it's the best option.
But from reading many guides, I still haven't came across one sure answer - Can you develop iOS applications using Objective-C on a PC, Windows? I know you have to pay these 99$ to be allowed to develop and to be given access Apple classes, but it's okay with me.
If you can not do it on windows, what will be the next best option? I know you can create iOS games using Unity and C#, I have it installed but I still didn't find out how to create an iOS project. And I couldn't find a simple guide for iPod apps with unity, that would be nice, too.
If the best option is not unity, what will it be? I have intermediate-high knowledge in .NET (Thats the way it seems in the forums I'm usually at... here I am a simple beginner) and I know C# syntax the best, but I know VB too. And C, and a bit C++.
Thanks :)
the short answer is no. but there are ways around it if you don't want to put the app in the marketplace
You can code Objective-C in Windows, however you will not be able to compile. http://kdevelop.org/, http://code.google.com/p/objectiveclipse/ and http://www.bloodshed.net/devcpp.html Dev-C++ are compatible with Objective-C, for example. I haven't had any experience with them, however.
XCode is still the best for this task, and I'm not sure if you would call this being able to "develop iOS applications on Windows", but I tend to code quite a bit in Notepad / GEdit anyway, so the answer is "kind of". You'll need a Mac to go anywhere further than coding though, like being able to debug.
The Unity iOS development does not come with the free version of Unity. Instead, you would have to purchase a separate license (in addition to the $99 that Apple will charge you to become a developer, I believe.) I myself have never used Unity to develop iOS games, so I don't know how well the process works.
Ideally, however, iOS development really is meant to be done on a Mac. XCode is the primary IDE used for iOS development and it is Mac-only.
Another option is to generate iOS game with Flex 4.5, which allows you to write and test code on windows and you can package it for iOS. But you have to learn ActionScript and MXML for it.
From Adobe's Website
Flash Builder 4.5 includes full support for building ActionScript® applications for Apple iOS. Flex support is planned to be available later in 2011
You can check out
Corono -- http://www.anscamobile.com/corona/
Unity -- http://unity3d.com/
Cocoa2d -- http://www.cocos2d-iphone.org/
Depending on what you are looking, all of them has nice docs that you can go through about their capabilities.