Cross platform development (Windows Mobile, Windows Phone, iOS, Android) [duplicate] - c#

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Was just wondering if there were any cross platform development platforms which would run great for corporate type apps on various mobile devices.
Would be ideal if the language was C# but feel free to suggest others.

If you're happy to re-use business logic and write device specific user interfaces (more work, but better user experience on each device) you could consider the various Mono frameworks.
Writing the core business logic as a class library, then writing specific user interfaces using MonoTouch, MonoDroid and Windows using .NET Framework you'll have a cross platform application (albeit with individual UIs) in C#.

have you checked out Titanium at http://www.appcelerator.com
And then there is the PhoneGap at http://www.phonegap.com/

Worth noting that you'd be writing once for the PLATFORM, but being certain that your app works on the DEVICES is a different kettle of fish due to the variety of handset providers, their customized platform implementations and the hardware specific to the device.
Check out these related questions... otherwise know as duplicates....
Developing cross platform mobile application
Are there any huge differences between objective-c and Java, or iPhone and Android?
What work has been done on cross-platform mobile development?

Titanium Mobile is a popular choice these days.
I strongly doubt that you'll find a C# option* that's cross-platform since C# is tied to the Microsoft stack.
You could also just write a mobile-centric webapp with jQuery Mobile or similar.
*For mobile. For desktop, there's Mono (whose site appears to be down right now).

well if you've got a mac, your best bet would be to go for phonegap which supports a wide range of platforms,
if not, you could go for titanium

Although there are many platforms that provide you the facility to write once and run on multiple platform but from my point of view its not a great idea for simple reason of performance just think of below example
A C code is far faster than a java code because java provides you the virtual machine to run that code and java is far more easier to write than that of C. The idea is the more you stick close to native API the more you will get performance.
So considering the above example just think what will be the performance of such application that is supported on so many platforms
Note: I have not worked on any of such platforms so I might be wrong but this just a simple conception that fits to all

If you are used to working with Visual Studio, you can try Teleric's http://www.icenium.com/ . Icenium does not support Windows Mobile 6 though

Related

Alternatives For ActiveX in .NET [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I know that there are a lot of threads talking about this topics but please let me discuss my problem in some details.
In our project, we are using a lot of devices (Cameras, Printers, Fingerprint devices, Smartcard readers) in desktop applications and we have already C# components that are developed to deal with these devices using their SDKs.
The problem now is that we are moving into web development and we are supposed to convert our WPF desktop applications into ASP.NET MVC web applications and also we should use our existing components for the devices.
The possible solutions to deal with devices from web .Net application are:
Using ActiveX (Which is dead or will die soon and it required some COM experience and very hard to develop).
Using Silverlight (Also, is dead or will die soon and it is very limited such that we can not add reference to existing C# components).
Using Java Applets (which require some Java experience and we will rewrite existing c# components in Java).
Is there any other solution so that we can deal with devices from ASP.NET MVC application over Intranet?
You can write browser extensions for Chrome, Firefox, and Edge (soon). I'm not sure how much code reuse you'll get across the browsers if you need to target them all, and I'm not sure of the extent to which you can run arbitrary code to connect to devices from your extensions, but it's something you should look into. You can then have your browser extensions communicate with your webpages to pass the necessary data.
Your users would need to install the extension for their browser to receive the functionality.
You can still distribute small "helper" applications that are based on a pared down version of your current WPF applications. These would perform the device access, and communicate directly back to your web server. The web site would serve as the interface.
This would allow you to leverage your existing device communication code. On the downside, it requires a separate install on the client, which means one more thing for the user to do and one more thing to keep updated.

What is the best way to make games in C# .NET? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I have a little experience in making small time game applets in Java, and A LOT of experience in making games with Python/Pygame. I also know a like of SFML (C++) and SDL (C). I usually develop games in Pygame but its SLOW... performance is a constant nag. So I was looking for some good game library when I noticed the growing number of games developed in C#. I know a little of Windows Forms, and I know that It has a good Graphics API which wraps GDI. But which library is SERIOUSLY recommended? I know about SFML .NET and TAO SDL , should I use one of those? Or is Windows Forms alright? I was thinking of XNA but I have heard it needs a license and you need to BUY the XNA Game Studio. So which library should I use?
XNA is free for PC development; it only costs money to develop for the Windows Phone and XBox (and use their marketplace) -- PC games are still free (source):
The App Hub website is exclusively for Windows Phone and Xbox LIVE Indie Games developers.
It's an extremely good framework, and I'd suggest going through their tutorial, and then checking out some of the samples in their education catalog.
Nope!
XNA is free :)
http://www.microsoft.com/download/en/details.aspx?id=23714
My understanding is that the XNA tools are free downloads, but that you have to have an App Hub membership if you want to sell XBox or Windows Phone games through the network. See here for more info.
XNA is good but it might be better to stick to core technologies (DirectX) by using a dot net wrapper such as Managed DirectX (from Microsoft, deprecated but usable) or SlimDX (SlimDX.org)
(Learning XNA might prove to be a waste of time and energy, as it is not a core MS product - it also changes drastically every time it is released and it hides much of DirectX so you don't have anything to put on your CV/resume)
You can try XNA Framework. You can develop for PC, XBOX, and Windows Phone. If you're a student, you can get it from www.dreamspark.com for free.
If you interested in C# game programming best choice (imho) is Unity (http://unity3d.com/). Because its free (not Pro), powerfull, level editor included , based on Mono etc

Cross Platform Alternatives to WPF [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
all, I'm thinking of porting my application from VB.net to the C# based MONO project, so it can run on both Windows and Mac. However, I am in need of a Mac-friendly alternative to WPF. It has to have very similar functionality. QML (by QT) is not a viable option, as it costs far too much money for us.
There is also https://github.com/AvaloniaUI/Avalonia a multi-platform .NET UI framework inspired by WPF
Miguel de Icaza recommends MonoMac as a substitute to WPF for Mac as stated here. As he explains there is no plan to implement WPF in mono.
MonoMac is a work-in-progress. Some parts of the Cocoa APIs are not wrapped yet. You should start with the samples to get an idea of what is possible.
You will have to build two different UI on top of a common engine, but that's generally a good separation of concerns.
There is also a possible common code base for UI with GTK#.
Depending on your application's functionality, you could potentially port your application to Silverlight/Moonlight. Silverlight is supported on the MAC, but you'll need Moonlight for Linux. Of course, if you're doing a lot of work with the client machine's file system or what not, this is not an option.
tho I have accepted an answer a while back, I want to post what I am doing currently if anyone views this question.
I am currently using Python with PyGTK for the GUI, and GStreamer for the video. This is producing results almost identical to WPF (except some hardcoded animations). Furthermore, it runs on Windows, Mac, and Linux.
EDIT: GStreamer did not pan out for my purposes. While it works well for the most part, I could not layer transparent .png images over the video. I have switched finally to Adobe Flash (Adobe AIR).
EDIT 2: For anyone who comes across this later, when the future of SWF fell into question, my company started building our own animation system in C++, using some components of Gtk+/gtkmm and Cairo. Ultimately, that falls under the advice of the other answer...separate GUI from platform.
https://www.noesisengine.com/
Is another alternative to xaml/wpf that is also for video game engines. It currently has a Indie/Free tier up to 100k in revenue, and is cross platform.

Why is MS not more open with .Net? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
I have been a developer for many years and have used several different programming languages. However, the one I love the most is C#. I think it and the .Net framework make development quick and enjoyable.
With that said .Net works, with MS full support, only on windows machines. I would love to natively use C# on android, iPhones, and other environments.
Why has Microsoft seemingly dropped the ball and restricted .Net only to windows?
Have you considered using Mono? This is an open source version of C# which is available on all of the platforms you listed. It has a great amount of community support and many popular applications are written on top of it.
I don't think it's really MS that's the culprit here, though they may be part of it. Android doesn't support .NET not because MS doesn't want to, but because Google doesn't. The story is similar with Apple.
Probably because Microsoft doesn't want to directly support competing operating systems. They are however nice enough to let projects like MONO exist. They just aren't going to do the support for other platforms themselves.
They even released the source for .NET, I'd say they're fairly open.
because MS developed Windows and their whole marketing strategy is built on it?
$$ runs the world, you know.
They only support Windows, but it has been made available on Linux via Mono. It is also available on the iPhone via MonoTouch.
.NET is Microsoft's CLI (Common Language Infrastructure) runtime. There are other runtimes that support CLI. There's Mono, which runs on Windows, Linux, and probably OS X too (I haven't really checked this). Actually, that's the only other one I know, but since the CLI language and platoform specs are open for all to see and read, anyone could implement their own runtime.

Writing Android apps in C# (Xamarin) [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm a C# programmer and want to write an Android app. I'm a stubborn curmudgeon and refuse to write Java ever again (after switching to C# six years ago).
Besides Mono and MonoDroid (and writing Java), are there any options for me? Or should I just feel foolish for refusing to returning to my Java roots?
What's the advantages and disadvantages of Xamarin over others like Phonegap etc. ?
(Please refrain from Java-related vs. C# discussion. I was being rhetorical when I asked about returning to me Java roots.)
I believe that this is basically the only option for c# developers.
Developing a mobile application these days is an arduous task. You need to have a mobile app to get your business noticed and to gain market share with your audience, however which platform do you choose? Apple? Android? Windows Phone?
Cost of developing a mobile app is one of the biggest hurdles besides the choice of platform. To get an application developed natively in two of the three major mobile operating systems immediately doubles the cost of development.
Each mobile operating system is designed around development in a specific programming language and development environment.
3 different operating systems, 3 separate languages and development environments, and counting. To be able to cater to all of these operating systems natively, mobile app developers need to have someone able to be an expert in each of these programming languages and also be an expert in the nuances of how each mobile operating system works. Task lifecycles, multi-threading, memory limitations, garbage collection, etc.
More more about Xamarin :
http://devproconnections.com/mobile-development/product-review-xamarin-monotouch-and-mono-android
http://www.justinshield.com/2014/05/cross-platform-mobile-development-phonegap-vs-xamarin/
MonoDroid is worth the wait,
http://tirania.org/blog/archive/2010/May-21.html
Besides Mono and MonoDroid (and
writing Java), are there any options
for me?
Another option is Scala. I'm not sure what the tooling is like right now though.
Since you are a dedicated C# developer, I think that MonoDroid is the right answer for you. MonoDroid Preview 1 has been released 2 days ago, so there won't be long until the beta and full release.
Xamarin is another option, it is possible to create android as well as IOS apps with it and you can use Visual Studio or use our full featured MonoDevelop IDE.
http://xamarin.com/monoforandroid

Categories

Resources