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
Related
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 9 years ago.
Improve this question
I was wondering if you guys could help me figure out what type of app and framework to develop in.
Having done quite a bit of research on my own, has me doubt my choice a lot since it could define a project for a long time.
My situation:
As an internship assignment me and 2 other students have to develop a timetable app for the school. The school has a few demands concerning the app.
For instance the app has to be secure (a login functionality is desired. For being able to access account information by law, to be able to e-mail a teacher regarding the upcoming lesson for a student) so there has to be tight security since we're handling personal information.
Since we're interns we have to hand the project over to the developers at the school after our internship is over. The school however, is a Microsoft school. The school only has C# programmers, hence there isn't a lot of experience in-house, when it comes to developing Objective-C. Java is quite similar to C# so it would be less difficult to develop in Android, but there is only 1 developer that has actual experience developing in Java and would therefor be a "single point of failure", which is not desired.
The application has to be able to accomodate multiple apps, if you will. The app would later contain functionality for multiple departments within the school. For these departments Video, the gyroscope, push notifications, e-mail etc. would become things that are needed in the app.
Aside from these demands there are the obvious ones. Which would be speed of the app, and "look and feel" would not be trivial matters.
My decision
Preferably I would like to go for Xamarin as the framework. I think it is closest to a native (SDK) app.
A fully native SDK app would be a very close second.
Others I have considered
Titanium
PhoneGap
eMobc
Marmalade
My request to you
What would you guys do in my situation. Would you agree with me or do you think a different type of app and framework has to be used here?
A year ago, I had to make the same decision and I went with Xamarin in combination with MvvmCross.
With this you get the best of both worlds:
You can develop most of the code in C#
You can share nearly all of the code between the applications (this is where MvvmCross comes into play)
You still have native UIs, i.e. designed in XCode for iPhone or defined in axml for Android.
Speed is not an issue, e.g. on iPhone, the complete .NET code is compiled ahead of time into the native assembly.
Furthermore, the Xamarin SDK is merely a very thin layer over the classes from the phones SDK, giving you the ability to use tutorials that are using Objective-C or Java.
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 9 years ago.
Improve this question
I'll soon be looking into writing a small business workflow application that I'd like my userbase to use across all devices - iOS Tablet, Windows PC, Windows Tablet, Mac, Android Tablet are the key targets.
I'm fairly new to the 'app' dev space and I don't know much about what frameworks and industry standards are forming around PC and mobile friendly applications, if any?
I'll be writing the core of the application in C# and I'm looking for technologies (HTML5, JS, etc) and even frameworks (I saw Xamarin might be okay?) that implement the View of the application. The tighter its tied to C# the better it'll be for me and the cleaner the transition between my chosen platforms the better.
I just created one using Jquery Mobile, and an odata C# webservice. Its just what work wanted me to but I see the framework being used alot. So pretty much get the data with the webservice then use javascript and html5 to display it.
If you want to write your application in C#, and not implement it as a web service, then I think the only option is Xamarin for the iOS / Android platforms (and .NET / Mono on Windows / OS X).
This does not mean using a single technology for the View, though, as Xamarin UI code is not portable across iOS and Android (this has pros and cons involving the age-old native feel versus shared UI debate).
If you are flexible on implementing it as a web service, then your server logic can be written in C#, with a shared HTML 5 client across all platforms.
If you are flexible on using C#, then you have more options outside the scope of this question.
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
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 8 years ago.
Improve this question
Here's the situation:
I need to develop a desktop tool that will take in an input from Oracle (text) and it's output is a print of a layout generated by that tool.
The tool needs to be fast and able to print easily and not much extra software required on client PC's which ALL run Windows.
Now i've studied Java, PHP in the past however I don't want to use PHP for the Desktop App
and I have my doubts about Java in regards to Printing and developing the GUI.
It seems to me like with C# I can develop the GUI easier and faster, and most PC's have a lot of the tools required for the GUI in the OS (.net framework).
A tool like NetBeans helps, but more often than not the GUI design is either broken
or shoots across the screen when I make a simple change.
So now I'm thinking about starting in Visual C#, however I would like to get your
opinion.
And from my past VERY short .NET programming experience, I can still remember that deploying over the internet is easy as well, with JAVA I've had some issues with that as well before I got it to work.
So in short:
Windows environment
Lot of GUI design
Fast app that runs on client Windows PC's without much 'extra' software installing
Easy print programming
THANK YOU!
My preference would be C# or VB.NET with Windows Forms. WPF is also worth looking at, and will give you the most modern UI, but it has debatably a steeper learning curve attached.
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 8 years ago.
Improve this question
I am starting to learn c# and wanted to create an actual app which one of the two would you start with?
Personally, I would learn WPF. We use a lot of Winforms, but we're in the process of migrating to WPF. I think that's a more future proof set of skills. WPF Virtual Labs are a good place to start.
My rule of thumb is to choose the most recent technology that doesn't require your users to go through extra effort. If you have to support Windows XP, then WinForms is the way to go as it doesn't require XP users to install .NET updates. If you don't have to worry about XP, then WPF is probably the ready to go.
I recommend WPF - it is now very mature and well supported. Of course, winforms is still supported and some new development is being done for it. However, WPF is significantly more sophisticated and powerful. Almost as importantly, the tool support for it is MUCH better than for WPF.
Here are some links for you.
A Guided Tour of Windows Presentation Foundation
Windows Client .NET
WPF vs Windows Forms
I would say learn both to have a stronger foundation of knowledge and be able to work with legacy code, but put more effort into WPF because it will eventually replace WinForms.
The basics of either are much the same -- WPF offers a lot more features by way of declarative UI definition and skinning/theming, and a slightly different set of layout techniques. While you're at the "Hello world!" stages, it makes little difference -- certainly less than using either GTK# or the Swing implementation in VJSSupUILib would.