Xamarin vs Titanium Appcelerator? [closed] - android

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 developed a Native Android App, now the requirement is that the developed app needs to be in a cross platform like Xamarin or Titanium Appcelerator, now please some Experts Software Engineers Suggest me that which cross platform should I choose and why? If I choose Xamarin then what are the advantages and disadvantages of Xamarin and if I choose Titanium Appcelerator then what are the advantages and disadvantages of titanium?? Any help will be highly appreciated.

Some factors where the 2 are different (or not).
Price
By now, both cost money. Xamarin has a useless (only very small apps) free version, paid versions start at 25$/mo. https://store.xamarin.com/
Titanium Studio used to be free, but they unfortunately changd it few weeks ago. Existing free users are moved to a free lifetime indie license (which is nice!), new ones have to pay, minimum of 39$/mo. http://www.appcelerator.com/pricing/
Also, the most recent version of Titanium is invitation-only and though I got an invitation to register for invitation, I am still waiting for weeks now to be accepted.
So Xamarin has a slight edge here - by now - though you also need to see what you want to do. Indie edition is ok to get everything "normal" done, though it lacks the Visual Studio integration.
Platforms supported
Xamarin supports Android and iOS, WinPhone is supported since .net runs on WP.
Titanium supports Android, iOS, BlackBerry and Web, WinPhone is said to be supported but does not work at all. https://developer.appcelerator.com/question/181588/how-to-update-to-preview-to-do-windows-development-the-requested-sdk-version-does-not-have-an-assigned-commands-handler
Titanium Studio with Windows Phone Plugin: Titanium SDK does not support the Windows platform This - should - work with the new version 4, which is rumored to be available, but I have not seen it (though I tried).
So, if you want WinPhone, use Xamarin, if you want BlackBerry, use Appcelerator.
IDE
Xamarin has Visual Studio integration (Business edition or higher), which is great. Visual Studio is just one of the best, perhaps the best, IDEs out there. Xamarin Studio is so so.
Titanium Studio is so so, similar to Xamarin Studio.
Installation and Ease of Use
Xamarin has an all-in-one installer that takes some time, but then you can start. It just works. Xamarin has very frequent updates (every few weeks), which it sometimes needs, since certain features are broken is certain versions.
Getting Titanium Studio to work is often a hassle. I had to (this is not documented!) use Java 1.6 32Bit, which can be difficult since normally one updates his Java. Officiall, Java 1.8 is supported, but this just did not work for me. Titanium Studio is way more difficult to set up. Titanium has infrequent udpates, less than once a month.
Language
Xamarin is C#. You get a great, typed language, that scales from small to very complex applications, and has great language constructs for complex data types and scenarios
Titanium is JS. You get a good dynamic language that is very flexible, and is mainly for small, flexible applications.
You can create good programs in both languages, it is a little more difficult in Javascript.
Both compile to native.
You can use both the many js (Titanium) and .net (Xamarin) libraries and frameworks out there.
Cross-Platform
Xamarin introduced Xamarin.Forms last year to provide cross-platform GUI. It is working, though a lot still is missing, like orientation needs to be implemented manually.
Using cross-platform hardware also is not easy. There are addons that you really should check out like xlabs https://github.com/XLabs/Xamarin-Forms-Labs though I have found not a single feature there to be working (of the ones I tried). Bug request were handled quickly though so I would assume this product to mature and eventually be very very helpful to allow having 1 code base for all platforms with very very little platform dependent code (just the DI part).
Titanium I have not really used much for this so I cannot really comment.
The Rest
Communities are large for both products.
Appcelerator has a free university program (videos to watch/download). Xamarin has an expensive university program, but that includes tutoring and small web classes. There also are free videos.
Appcelerator seems to need to make money by now. Xamarin always needed to make money, they have some backing by Microsoft by now, which is helpful of course.
Most important is probably your language background. it is not the most important, since you will still need to learn a lot about mobile and each platform as well.
Also, check out the competition: PhonGap/Cordova, and some new, smaller players, some C# and some C++ based.
Xamarin 2.0 vs Appcelerator Titanium vs PhoneGap
Comparison between Corona, Phonegap, Titanium
In your specific case: Java and C# are very very similar, much more than Java and Javascript.
You can get a free trial of the business version and also extend it a few times if you directly contact customer support and have good reasons - so I was told.

Months ago we had to choose between those 2 solutions. Our decision was made by the price of Xamarin which is really expensive when titanium is totally free. There is also more doc on Titanium and a bigger community due to his price.
The main disadvantage for me about titanium is that you absolutely need an internet connection to work with it. It's really annoying because you cannot open any project without wifi.

This decision is a matter of preference and requirements. With regards to developing a complex mobile app, I personally feel like the debugging and profiling tools that a strongly typed language framework gives you (such as Xamarin) are far better than those offered by developing a complex app in a weakly typed language framework (such as Titanium). Both offer you the full extent of the native mobile platform APIs (a characteristic that I personally consider essential), but Xamarin offers the following advantages:
the strongly typed and highly expressive C# and F# languages
great IDEs, like Visual Studio and Xamarin Studio
a vibrant and active community of developers
great profiling tools
Xamarin Insights for detailed post-deployment app performance monitoring
I'm a bit biased because I really enjoy doing Xamarin development. But I feel like 4 years in the mobile dev industry has given me a great deal of perspective on the options.
Again, as long as each framework provides full access to every bit of the mobile platform APIs, it really does boil down to preference. But my vote is very much for Xamarin.

Related

How to choose the platform for my Mobile App and how to evolve it into multiple platform?

I'm finishing my Masters Degree in Computer Science and i just had this idea for a Mobile App to solve a problem i've been having for the last year or so. I have good knowledge of Java and i know that it's a good language for Android programming, but the thing is that this App would be to target both Android and iOS users.
Considering this, how do mobile developers go about this problem? Is it possible to make the application viable for both platforms or usually it works as a separate application with the same funcionalities?
For either cases, what tools/programming languages would you recommend for me to develop my idea? I'm on my 4th of 5 years but we still had no contact with mobile development.
Any other sugestions you think i might need to take into consideration when starting to develop an app are welcome!
Java can't be used for cross-platform development, as of my knowledge, but here are some great choices out there for cross-platform development. Here are some:
Flutter - developed by Google (my personal favourite)
Ionic
React Native
Xamarin
The question is does a cross platform SDK suite your needs. If you need to interact a lot with native APIs then it certainly isn't for you and you'll have to build two separate apps.
Another downside to using cross-platform tools is usually app size (for Flutter around 3-5MB larger for a simple app).
Here is my take on why I prefer flutter:
It's easy to build nice material UIs, since Google includes many material widgets
There are a lot of plugins available at pub.dev
It has close to native performance, because in opposition to the other SDKs the dart code is compiled into native code.
Hope I helped! Good luck in the strange world of app development!

Which Android/iPhone Cross Platform Framework for 2015? [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
Three years ago I explored the option of using PhoneGap for one of my app developments. I found it extremely hard at the time to integrate with Facebook and connect to the camera and read a barcode. I ended up giving up and writing the app natively - and don't regret it.
But three years are past and I am wondering if I should be looking at this possibility again. I need JSON communications with my backend, facebook integration, swipeable cards (like tinder) and internal persistence.
I've noticed that the big players currently are:
Sencha
PhoneGap
Appcelerator Titanium
Corona
Xamarin
Did I forget any?
So, is anyone using any of the frameworks I've mentioned below and could tell me how mature they are these days?
Thank you
I am biased towards Appcelerator Titanium because I've been using it for years, however, I would still highly recommend it.
PhoneGap, Sencha and Corona basically all are website wrappers for your mobile phone. They do offer API support for stuff like camera, but it will still be HTML. HTML on a phone will always run slower than native implementation. Although you might not always notice it as a user, as a developer you need to spend a LOT of time optimizing so users will not notice it.
Xamarin I do not have experience with, but I heard is is basically Titanium, but a smaller community and much more expensive. I would consider that a no-go as opposed to Titanium.
So, I would recommend Titanium. But even though you build the app in JavaScript/XML it still will be compiled to use the Native API's, and the UI is actually native code manipulated by JavaScript in the backend. All UI interactions and building of UI will happen on native ground and will be much quicker.
Another alternative you haven't mentioned is React Native. Also in the same space as Titanium and Xamarin, but I personally do not really like the code structure for it. Titanium (by using Alloy, not classic) is pretty solid, and MVC.
Be sure to check out the following slideshow:
http://www.slideshare.net/joshcjensen/connectjs-2015-building-native-mobile-applications-with-javascript
It gives you a good overview about Titanium, Native Script and React Native.
And its good to know, that Appcelerator is creating "Hyperloop" (demo code: https://speakerdeck.com/fokkezb/titanium-develop-native-mobile-apps-with-javascript?slide=19 ) and there is a preview already. That allows you to use native code in Javascript without creating external modules and gives you even more system access.(use xcode projects inside your app, use CocoaPods, ...)
Sencha is really good Framework to make cross plateform web mobile and native application. You can go with this but before gone through you should read about this.
https://www.sencha.com/
https://www.sencha.com/business-web-applications-why-sencha/#developers
Intel’s Multi-OS Engine is a technology that enables developers using their Java expertise to develop native mobile applications for iOS and Android on Windows and/or OS X development host machines without compromising the native look, feel and performance. This technology is a stand-alone plug-in that can be integrated into Android Studio.
It's free and let's you write code and create UI easily in Android Studio. You can generate API for 3rd party libraries in Java etc.
More details and the download link are here: https://software.intel.com/en-us/multi-os-engine
One more tool it called XDK. The Intel XDK cross-platform development environment enables software developers to develop, test, preview and deploy HTML5 web and hybrid apps: https://software.intel.com/en-us/intel-xdk

Is developing an application for Android using Lua only possible?

So I read this article on Mobile Orchard and, as I'm planning on having my first steps in Android development, it got me thinking: is it possible to develop for Android in Lua only? I Googled the topic but found no definitive answer. I know Java is the "base style" for Android but for the coding newbie which I am (elementary Python, basic C++), Lua seems somehow clearer and more friendly. Then here goes my question: can one develop an Android app using Lua only? If so, could you please show me some directions to move from here?
I've been developing a mobile application in Lua to control robots remotely from iOS and Android phones. The app is in pure Lua and runs on top of Mosync platform using MobileLua. There is still some plumbing required, but it's not too complex.
I also have a debugger and a Lua IDE (ZeroBraneStudio) that support debugging of Lua scripts running remotely (including MobileLua scripts running on Android or iOS devices). I provide a demo app you can use as a client to run simple scripts and check remote debugging in action.
[Update] If you are interested in more game oriented options, there are several available: (1) already mentioned Corona SDK, (2) Moai, and (3) Gideros Mobile. There is also Marmalade Quick and Cocos2d-x Lua bindings (for example, quick-cocos2d-x). All these toolkits/frameworks allow to develop in Lua.
Here is a detailed comparison of Moai vs. Corona.
I know this is an older question, but just to correct some misinformation (in the comments) for people who come later, Corona SDK (as of spring 2013) has a Starter Edition which is free -- no splash screen or anything. The main difference between it and the "Pro" version is you can't do in-app purchases in the Starter Edition. But you can use it to create apps for sale, etc. No expiration date on it or anything.
And in answer to the original question, learning Java may allow you to write Android apps, but if you then also want to target iOS you don't have any great options. By choosing something that's cross-platform from the beginning you can target Android or iOS or both. Lua (in any of the flavors already mentioned) is a great base language to learn for mobile development.
The question is what kind of app do you want to build and what skills do you have. If you are already familiar with JavaScript there is Phonegap/Cordova. If you are building games there are a number of frameworks for 2D and 3D which use Lua. Some are free, others have licensing fees but are worth it if it provides a solution to your problem. All have pros and cons. For example I'm not sure if I would want to build an RSS reader in a game framework. Java is just another language, I would recommend just learning Java and the Android framework to start and knowing what is there before adding another application specific framework layer on top.
Corona SDK allows you to write iOS and Android apps in Lua. Its very easy to learn, but its not free.
Edit:
I saw you posted that you found Corona just after I sent my post...
You can try http://scormpool.com/luastudio
Develop and run code on your device including iOS, Android, Mac, Win.
Exporter can help you to make standalone app on listed above platforms.
This may not be useful to the OP, however for other people interested in using lua to write their apps, I'd share my thoughts. So to answer the question:
Yes, you can use only lua to write apps for android using LuaJava from the kepler project (though I don't believe its being maintained anymore). You can create and manipulate Java objects seemlessly, and interact with the Android APIs through lua. You can even create UI elements dynamically using just lua. However, a small amount of java bootstrap code is needed to start the lua VM from your app. The AndroLua project is a great place to start for Android. The creator has done a lot of work making lua work with Android and packaging it all into an app. From experience I can say it works great! However, I would in no way recommend this to a beginner, as it requires a lot of knowledge about java and lua to make things work, meaning more work not less.
For AndroLua, just clone the repo and use that as a base for your own app. Last time I used it, I just imported it into android-studio, and after fixing a few problems with my own setup, had it compiling and running on my device.
If only pure Lua then the answer is no.. unless you want to use a lot of libraries
If you want to make little Android app/games then use a game engine, learning is a step by step process, don't dive straight into the hard part.

iOS / Android cross platform development [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I've been playing around with developing Android apps in Java for a while and am starting to get a handle on it. However if I want to on start on an iOS version I need to code everything from scratch - which is, well, undesirable.
I was wondering on what cross platform solutions there are available and how well they work in practice. I've been thinking about web applications - perhaps using jQuery Mobile or Titanium, or Adobe Flash/Flex/Air. I also don't yet have a Mac, which I'll probably have to invest in.
So my Questions :
What cross-platform development environments exist for iOS / Android (and/or other devices)?
What has your experience been with these tools? (this is what I'm really keen to know)
Disclaimer: I work for a company, Particle Code, that makes a cross-platform framework. There are a ton of companies in this space. New ones seem to spring up every week. Good news for you: you have a lot of choices.
These frameworks take different approaches, and many of them are fundamentally designed to solve different problems. Some are focused on games, some are focused on apps. I would ask the following questions:
What do you want to write? Enterprise application, personal productivity application, puzzle game, first-person shooter?
What kind of development environment do you prefer? IDE or plain ol' text editor?
Do you have strong feelings about programming languages? Of the frameworks I'm familiar with, you can choose from ActionScript, C++, C#, Java, Lua, and Ruby.
My company is more in the game space, so I haven't played as much with the JavaScript+CSS frameworks like Titanium, PhoneGap, and Sencha. But I can tell you a bit about some of the games-oriented frameworks. Games and rich internet applications are an area where cross-platform frameworks can shine, because these applications tend to place more importance of being visually unique and less on blending in with native UIs. Here are a few frameworks to look for:
Unity www.unity3d.com is a 3D games engine. It's really unlike any other development environment I've worked in. You build scenes with 3D models, and define behavior by attaching scripts to objects. You can script in JavaScript, C#, or Boo. If you want to write a 3D physics-based game that will run on iOS, Android, Windows, OS X, or consoles, this is probably the tool for you. You can also write 2D games using 3D assets--a fine example of this is indie game Max and the Magic Marker, a 2D physics-based side-scroller written in Unity. If you don't know it, I recommend checking it out (especially if there are any kids in your household). Max is available for PC, Wii, iOS and Windows Phone 7 (although the latter version is a port, since Unity doesn't support WinPhone). Unity comes with some sample games complete with 3D assets and textures, which really helps getting up to speed with what can be a pretty complicated environment.
Corona www.anscamobile.com/corona is a 2D games engine that uses the Lua scripting language and supports iOS and Android. The selling point of Corona is the ability to write physics-based games very quickly in few lines of code, and the large number of Corona-based games in the iOS app store is a testament to its success. The environment is very lean, which will appeal to some people. It comes with a simulator and debugger. You add your text editor of choice, and you have a development environment. The base SDK doesn't include any UI components, like buttons or list boxes, but a CoronaUI add-on is available to subscribers.
The Particle SDK www.particlecode.com is a slightly more general cross-platform solution with a background in games. You can write in either Java or ActionScript, using a MVC application model. It includes an Eclipse-based IDE with a WYSIWYG UI editor. We currently support building for Android, iOS, webOS, and Windows Phone 7 devices. You can also output Flash or HTML5 for the web. The framework was originally developed for online multiplayer social games, such as poker and backgammon, and it suits 2D games and apps with complex logic. The framework supports 2D graphics and includes a 2D physics engine.
NB:
Today we announced that Particle Code has been acquired by Appcelerator, makers of the Titanium cross-platform framework.
...
As of January 1, 2012, [Particle Code] will no longer officially support the [Particle SDK] platform.
Source
The Airplay SDK www.madewithmarmalade.com is a C++ framework that lets you develop in either Visual Studio or Xcode. It supports both 2D and 3D graphics. Airplay targets iOS, Android, Bada, Symbian, webOS, and Windows Mobile 6. They also have an add-on to build AirPlay apps for PSP. My C++ being very rusty, I haven't played with it much, but it looks cool.
In terms of learning curve, I'd say that Unity had the steepest learning curve (for me), Corona was the simplest, and Particle and Airplay are somewhere in between.
Another interesting point is how the frameworks handle different form factors. Corona supports dynamic scaling, which will be familiar to Flash developers. This is very easy to use but means that you end up wasting screen space when going from a 4:3 screen like the iPhone to a 16:9 like the new qHD Android devices. The Particle SDK's UI editor lets you design flexible layouts that scale, but also lets you adjust the layouts for individual screen sizes. This takes a little more time but lets you make the app look custom made for each screen.
Of course, what works for you depends on your individual taste and work style as well as your goals -- so I recommend downloading a couple of these tools and giving them a shot. All of these tools are free to try.
Also, if I could just put in a public service announcement -- most of these tools are in really active development. If you find a framework you like, by all means send feedback and let them know what you like, what you don't like, and features you'd like to see. You have a real opportunity to influence what goes into the next versions of these tools.
MonoTouch and MonoDroid but what will happen to that part of Attachmate now is anybody's guess. Of course even with the mono solutions you're still creating non cross platform views but the idea being the reuse of business logic.
Keep an eye on http://www.xamarin.com/ it will be interesting to see what they come up with.
My experience with making something very simple in PhoneGap+jQuery Mobile was fine. I was able to do it quickly for iOS. However, it didn't work on my Android phones without making some changes. The project was a very simple app to take pictures and post them to a web site. And at the end of the day it felt "clunky" compared to a true native app.
I don't believe there will ever be easy cross platform development. I think the browser is as close as you will get. By choosing something like PhoneGap I think you are just trading one set of pain points for a different set of pain points.
In case you do not want to use a full-fledged framework for cross-platform development, take a look at C++ as an option. iOS fully supports using C++ for your application logic via Objective-C++. I don't know how well Android's support for C++ via the NDK is suited for doing your business logic in C++ rather than just some performance-critical code snippets, but in case that use case is well supported, you could give it a try.
This approach of course only makes sense if your application logic constitutes the greatest part of your project, as the user interfaces will have to be written individually for each platform.
As a matter of fact, C++ is the single most widely supported programming language (with the exception of C), and is therefore the core language of most large cross-platform applications.
Although I've just begun looking at this area of development, I think it comes down to this basic difference: some tools retain the original code, and some port to native...
for instance, PhoneGap just keeps the HTML/CSS/JS code that you write, and wraps it in sufficient iOS code to qualify as an app, whereas Appcelerator delivers you an XCode project...so if you're not familiar with iOS, then that wouldn't really provide any benefit to you over PhoneGap, but if you DO know a bit, that might give you just a bit more ability to tweak the native versions after your larger coding effort.
I haven't used appcelerator myself, but worked on a project a couple weeks ago where one of our team members made an entire iPad app in about 24 hours using it.
And yes, to actually submit to apple, you'll have to get a mac, but if that's not your primary work platform you can go cheap.
Cappuccino or PhoneGap.
Sometimes though trying to find a shortcut does not save you time or give you a comparable end product.
There's also MoSync Mobile SDK
GPL and commercial licensing. There's a good overview of their approach here.
If you've ever used LUA, you might try Corona SDK can create apps that run on IOS and Android
https://coronalabs.com/
I've downloaded it and messed around some, I find LUA a very easy to learn scripting language without the usual scripting language hassles/limitations....
There is also BatteryTech which we've been using for the past 18 months and have released several games off of it. http://www.batterypoweredgames.com/batterytech
All C++, Android and iOS support, all users get full source. The new v2 includes lua bindings.

Will Google Android ever support .NET? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
Now that the G1 with Google's Android OS is now available (soon), will the android platform ever support .Net?
Update: Since I wrote this answer two years ago, we productized Mono to run on Android. The work included a few steps: porting Mono to Android, integrating it with Visual Studio, building plugins for MonoDevelop on Mac and Windows and exposing the Java Android APIs to .NET languages. This is now available at http://monodroid.net
Getting Started: http://monodroid.net/Welcome
Documentation: http://monodroid.net/Documentation
Tutorials: http://monodroid.net/Tutorials
Mono on Android is based on the Mono 2.10 runtime, and defaults to 4.0 profile with the C# 4.0 compiler and uses Mono's new SGen garbage collection engine, as well as our new distributed garbage collection system that performs GC across Java and Mono.
The links below reflect Mono on Android as of January of 2009, I have kept them for historical context
Mono now works on Android thanks to the work of Koushik Dutta and Marc Crichton.
You can see a video of it running here: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html
And you can get the instructions to build Mono yourself here: http://www.koushikdutta.com/2009/01/building-mono-for-android.html
You can get a benchmark comparing Mono's JIT vs Dalvik's interpreter here: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
And of course, you can get a pre-configured image with Mono here (go to the bottom of the post for details on using that): http://www.koushikdutta.com/2009/01/building-mono-for-android.html
Yes, it will be possible and it won't be that difficult. All what's needed at this point to start with is some kind of converter that will turn MSIL into Dalvik bytecode. Since both formats are open-sourced and well documented, there won't be any problem with it.
So, writing Android applications in C# or VB.NET will be possible, question is how much of .NET framework standard libraries will be supported. But that's another issue.
Oscar Reyes wrote:
I'm pretty sure if google hand ANY
interest in .net, they would've design
something while Android was in the
first stages, not now when they are in
production stages. I don't mean it is
not possible, what I'm saying is
they're not interested. Maybe in mmm
hhhh 10 yrs.
Actually what they've already designed is very compatible with Java and .NET
They can't do everything at once, but if you look into Android SDK, there is a tool called dx. This tool converts Java bytecode into Dalvik bytecode, so in other words, you can run programs written in Java on Android with no effort today. Now the same tool is needed for .NET.
Considering how similar .NET and Java are, it's really a matter of time.
ddimitrov wrote:
The .Net->Java->Dalvik translation can
be done even now
(http://dev.mainsoft.com/), but I
think you underestimate the lack of
.Net libraries. Of course somebody can
port Mono, but it's definitely a
non-trivial effort.
No need to port Mono. Android already has VM and some basic API. All what's needed is CIL->Dalvik converter and tiny .NET wrapper for Android API (and maybe some basic implementation of some standard .NET classes). That's it.
Update: .NET already works on Android - you will need product called Monodroid (http://monodroid.net) as stated above.
Miguel de Icaza's announced on his blog on the 17th of Feb 2010 that they are starting work on mono for android which will be called MonoDroid.
This will be similar to MonoTouch on the iphone but for android instead.
It will provide binding to the android UI, so apps will look and feel live native android apps. This will require you to write an android specific UI.
You will however be able to reuse you existing lower level libraries without the need to recompile.
There is Mono for Android, the .NET framework ported for Android. And there is MonoDroid, a development stack for using C# and the core .NET APIs to develop Android-based applications. MonoDroid Preview 1 has been released a couple of days ago.
Since this is one of the first links on Google when search for Android and .net support, it is only fitting to post this here.
The mono project is working on a SDK to develop Android applications using CIL languages such as C#. The down side is it will be a commercial product. monodroid
MonoDroid is awailable for preview. I think that will bridge the gap. However, MonoDroid could be a costly option for development. Their other development tools costs anywhere between $199 and $4000 (The MonoTouch .. iPhone dev tool ... is priced between $399 and $3999). If people develop apps with these tools, they need a very strong business model to see some returns.
Check this out xmlvm I think this is possible. May be can also check this video
A modified port of Mono is also entirely possible.
.NET compact framework has been ported to Symbian OS (http://www.redfivelabs.com/). If .NET as a 'closed' platform can be ported to this platform, I can't see any reason why it cannot be done for Android.
.NET and Mono are great environments, with many tools and and excellent skills base of people who know how to use them.
I think Mono has the opportunity to be the mobile cross-platform development environment of choice, seeing as they are the only alternative to Objective-C on the iPhone and should be portable to Android, and .NET is already on Windows Mobile.
I'm really hoping to see a solid implementation of Mono on Android, with wrappers for the Android API as with Monotouch, and would be prepared to pay for it since I'm not in a position to do it myself.
You're more likely to see an Android implementation of Silverlight. Microsoft rep has confirmed that it's possible, vs. the iPhone where the rep said it was problematic.
But a version of the .Net framework is possible. Just need someone to care about it that much :)
But really, moving from C# to Java isn't that big of a deal and considering the drastic differences between the two platforms (PC vs. G1) it seems unlikely that you'd be able to get by with one codebase for any app that you wanted to run on both.
In my opinion, it would be technically possible to convert the CLI Bytecode to Dalvik, and to write wrapper classes for some core features such as Collections, File access, etc., even it would be hard work.
But a .NET desktop application ran on android would feel alien, as it would have a classic Windows-Like GUI which is not very usable on a touch device. If, on the other hand, you were to code an android-like GUI in .NET, you would need another set of wrappers (notice that wrapping is just the other way round opposed to the wrappers mentioned above).
I'm not sure if a .NET mobile application would feel native on android, but I'd guess it wouldn't.
Maybe you're interestend in another approach: You can write your application in the Java language. You can then compile it to .NET via Microsoft J# (I know it's discontinued but you can still download and use it) and use the same Java code on android. Again, that's for the core classes aka business logic and again you would have to write tow GUIs. Maybe you can tages J2ME as well, which you will not be able to do if you use .NET.
.NET for Android seems like a real possibility to me. There is news that Microsoft will release proper Silverlight for Android- Never underestimate the advantages to Microsoft for putting the boot into Apple. A smartphone that is faster, more feature rich, faster development lifecycle, impressive hardware, Flash & Silverlight as a standard installable.
Microsoft has a vested interest in improving Android, and at the same time, applications will be devloped for Silverlight on Android will also work on Windows Phone 7 OS with multi-touch, GPS, etc., etc.

Categories

Resources