Yes, you can use XAML to create multiplatform controls/views with Xamarin.Forms.
Xamarin.Forms supports all of XAML 2009 and uses the XAML syntax with its own namespace and types. So, no existing XAML designer will work with Xamarin.Forms. However, the names and properties should be familiar to any experienced XAML developer.
I appreciate that this is an initial announcement, but does anyone know what the situation is with upgrades for existing users?
Edit: Forgot to say that this new version looks really good - congrats to the Xamarin team! Not having to launch XCode is going to massively improve my quality of life.
Ownership of a high-quality, viable, cross-platform mobile environment with its own UI frameworks. They could essentially stage a development platform coup on the leading mobile platforms.
Did you not pay attention to Microsoft's BUILD (Microsoft's version of WWDC) conference this year, where they gave Xamarin the limelight and official blessings?
A key position in iOS development. They could further the cause of C#-based apps significantly - and while it might look initially like they wouldn't want to encourage iOS development that moment has already passed. If they managed to make it much easier to develop for iOS and Windows simultaneously it could be a big win.
Looking forward to giving this a try. I've built many mobile solutions in various languages / frameworks / platforms, but being new to C#, I'm eager to give this a go.
Thanks for all the kind words, everyone! This release was the result of a lot of hard work; especially the new visual designer for iOS, which took two years to build.
This. I have been using C# with Unity3d a lot and love it and i would love to try Xamarin with a sideproject, but $1000 per year/seat (yes i want VS integration) is just too much.
Making this more affordable would do wonders for C#s popularity in the mobile space and possibly trickle down to a lot of other usecases.
I'm the co-founder of Avocarrot (http://www.avocarrot.com/) and we were wondering for a while whether to build a dedicated plugin for Xamarin. How easily can you integrate an native Android or iOS SDK with your Xamarin apps? Would it make a big difference for you if a Xamarin plugin was available?
Now all they have to do is make it free. Seriously though, as a student I can't shell out $299 for a license and even at the $99/year student rate (with proof of relevant course work), I can't see myself paying $99/year to write/maintain apps I've built. Especially considering the $99/year Apple app store fee.
Please, Xamarin, show us young C# devs some love!
update: not really sure why the down votes. I'm big fan of Xamarin and C# in general. All I was doing was pointing out that there's no way I can afford/am willing to buy their software and that I think I speak for the majority of student developers.
It's only a huge productivity boost if you're already working with .NET. For everyone else the free trial limitations are so severe you're being asked to pay $299 just to try it out while most alternatives are cheaper, free, or open source.
I certainly did not like the lousy words written above which explains the down-votes. But certainly the team at Xamarin can look upon his request and try if they can lower the license fee for students.
Can I show two files open at once vertically split yet?
Follow Up: The answer is no. This is a pretty big productivity killer, and the ticket to implement this feature has been around forever. This is the last major gripe that is keeping me from using Xamarin Studio in lieu of VS2k12.
Awesome work! I wonder how responsive the UIs created are? The workflow looks a lot like Windows Forms (dropping elements in the editor and resize to match), and there it wasn't exactly easy to produce interfaces that could scale or even adapt.
So, in short: is this more Forms or WPF?
(I've looked at the subpage for Forms now, and the widgets presented there tend to lean heavily towards WPF.. so yay!)
We support a number of layout managers that allow you to create responsive UIs.
This is very important on Android since there is really no single form factor/screen resolution to target. You really need to build UIs that work on various kinds of resolutions.
This is cool. I didn't know about Xamarin until now. I use Rdio a lot, and it's generally a very good, smooth-running app on my Nexus 4. Didn't realize it was built cross-platform like this!
From the page: "...which are mapped to native controls at runtime, which means that your user interfaces are fully native. "
I read this as "we allow design in our forms library, but compile to native controls for use at runtime."
It took me a couple reads to come to that conclusion, I was also confused by the wording. If that is not the case, I definitely have the same question as you. Perhaps the page could use some clarification.
Apple's storyboards and xib files are essentially XML serialized views. Apple deserializes them at runtime and its a feature built in to Cocoa and Cocoa Touch. Since Xamarin is just wrapping the native libraries it is easier and more compatible to just follow the same approach.
From a technical standpoint the "translation" is pretty much a standard Model-View-Presenter approach. This allows both us and you maximum flexibility when working with and extending Xamarin.Forms. We expose to users the same API's we used to implement the initial set of controls.
Looks great, love designer and Forms sounds epically wonderful (wonder if I can export my ios designs to forms for easier porting :-) )
First ten minutes experience:
I've got a little weirdness with the differences in generated code from x-code vs new designer (an outlet name went from upper case to lower for instance).
iOS designer is giving prominent error "Custom components are not being rendered because problems were detected".. Though everything seems fine and log doesn't particularly help.
Kind of amazing that Xamarin now seems to have better dev tools for iOS than Apple do.
I was badly burnt by buying a Xamarian dev license a couple of years ago for $499 then not using it (my own fault entirely) so I've been hesitant to jump back in to Xamarin-world, but it's really only a matter of time. I'm very impressed.
I have been working with Xamarin stuff for a couple years now, released about 7 apps with them and honestly cannot imagine another approach. I mainly work with smaller startups in specific line of business scenarios and it has become a necessity to not only have viable mobile offerings, but they have to have parity across platforms and support both phone and tablets. When I go into a sales meeting and pitch the idea that I can build for Android and iOS using the same language and sharing much of that code - I usually crush my competitors on price - which saves the customer money and makes more money for me (yipeee!)
The Forms work in Xamarin 3 seems lined up to make that pitch even easier and will likely help Xamarin grow into the enterprise even faster as ease of management in the code base is going to be a major driver in decisions for IT shops that now have to support a much more diverse platform set than they did in the days when a website was good enough.
We built Xamarin.Forms because we have lots of enterprise customers building apps with a dozen or more screens doing simple things like tabular data display and data entry, but who have a native UI requirement in their app. Xamarin.Forms should make these types of apps much easier to write quickly.
Seconding the post above, your clear moves towards the Enterprise have on my radar as soon as I have the resources to develop native mobile clients :).
Xamarin is the cross-platform solution I would consider first for developing mobile apps, and I can't think of a second one that's close. If your team is mostly experienced in C# or if F# is your thing, I would really seriously consider it versus training for iOS and Android. It's an very hard problem, and Xamarin has successfully gone from "That's neat but weird" to what looks like a practical tool that isn't going to leave you stranded with an oddball code base.
I tinkered around with Xamarin, and a very basic app (using some 3rd party libraries) or even using the tutorial/sample apps was immediately outside of their free tier.
Now I would like to understand the logic behind the 30 day free trial. If you are preventing app distribution (binaries are only valid for 24hrs when compiled in the trial version) why restrict it to 30 days? Why not allow people to tinker around as much as they want? I see no negatives to having an unlimited trial, and then simply charge to remove the '24hr binary' restriction.
As it is, the little free time I had over those 30 days to play with Xamarin equated to around 5 hours, most of which was going through the tutorials and sample apps (which you cant use in the free mode). I certainly haven't experienced enough to commit to a purchase, and now I likely never will.
I spoke with one of your colleagues about this. He offered me 20% discount on the business tier if I purchased iOS and Android (~$1600 'value') within 4 days... All i wanted to do was evaluate the damn thing...
I think what you are doing is great, but please try and apply some common sense to your evaluations.
I agree; I haven't even bothered to tinker around with the free trial. The minimum price is too high to just buy to play around with and free version is too restricted to get a feel for the platform. What I would want is the ability to do everything but distribute/publish an application (even the 24 hour binary restriction is fine).
I also don't understand why Visual Studio support isn't included in the Indie price or the free trial since I suspect the vast majority of developers who want to code mobile apps in C# use Visual Studio. So for $300 I get a sub-par product and for free I don't know anything about it.
If you aren't a mobile developer today then there's really no reason to consider Xamarin. They aren't marketing to developers who currently aren't doing mobile development but are interested in it. They should be trying to woo developers who are on that ground level so we'll buy in once we're committed.
Seconded. I looked into it for games and specifically MonoGame and got blocked before I even wrote any code. Stupidest thing I've ever seen. Except for their shitty setup process with all the downloads that don't resume or retry, instead they just abort the installation for you if a single file fails.
Definitely this, the linking and binary size restrictions are simply stupid, do they really expect me to try the product with only "hello world" demos?
I don't mind the timebomb in the binaries, but seriously, if you want me to take your product seriously, better let me evaluate your product with real-world apps.
Imagine an enterprise of 20 devs hacking away at various Xamarin projects with one dedicated "deploy" person. They'd get away with not paying licenses for 19 of those devs.
For "non-enterprise" developers, I would suggest Corona instead, restricting in-app purchases and adding a revenue limit for the free/cheaper tiers feels like the best model in my opinion. It doesn't compromise at all the experience for developers:
Except that you need to use Lua (and most Xamarin customers are C# shops) and you don't have any control on the build process of the app. I hate waiting for some cloud service to send me back a binary version of my app. A slightly better alternative for Lua coders is to use Corona Cards (you do the building on your own machine) but this doesn't have a free version.
That's a good point but really this just punishes honest developers for the potential lost of income from dishonest developers. It's really no different than any other tool being installed by 20 developers using the same license key.
Most software firms take licensing very seriously. I'm not sure it's worth crippling their trial offering just to try and deal with the ones that do not.
The assumption is the risk is high enough that firms will not infringe.
You're assuming that current overly crippled evaluation model is good enough to show off your product -- I think the overwhelming consensus is that it is not.
And while they're busy stopping that one enterprise from using their software without paying (which probably wouldn't have happened anyway) they're going to lose 100 potential customers. Not the best strategy.
Since you are here, I want to voice agreement with prior comments on the need for an open ended trial for learning and evaluation but with restrictions only on making it commercial.
I've tried these kind of limited time trials in the past and have found in every case that my time proved to be even more limited. Suitably restricted open ended time trials, if possible, can only help you with sales ultimately. This is especially the case for people with sporadic bursts of time limiting loads.
I also agree with the criticism of the very large bump required just to use Visual Studio. OTOH, I might find that of no real consequence given enough time to fully evaluate the tier that contains just your IDE (which looks pretty nifty actually.)
Agreed, for all i can see Xamarin is perfect, but as i can't really play around with it and as it's quite expensive if you just want to publish a hobby app, i can't see myself using it yet.
I agree. It's a wall to scale and about half way up your thrown off by incompatible examples, a time limit that restricts any kind of real tinkering, and a price tag that makes you require paying clients before even knowing the platform!
Completely agree, I've tried three times to start using Xamarin always hitting the paywall, it's annoying and I'm pretty sure they lost a lot of visibility this way.
Just waiting for MS to buy them or release something similar.
Xamarin.Forms looks very compelling. In a former life I was a .NET person, and so I've always kept my eye on Xamarin, but the only real mobile stuff I've done has been native cocoa touch dev on iOS.
Even though Xamarin.Forms might be a lowest-common-denominator type of thing, being able to build basically "universal" apps looks awesome.
The indie license really isn't very expensive, but I wish the starter version allowed bigger apps (but maybe stripped out publishing to app stores or something), so you could really thoroughly check it out without spending $300.
106 comments
[ 3.4 ms ] story [ 183 ms ] threadFunny that IB stinks so much they had to basically rewrite it.
Also, I like the (minor) redesign. Looks more solid now.
http://components.xamarin.com/view/azure-mobile-services
http://components.xamarin.com/view/parse
I'm wondering how well Xamarin.Forms will work with MVVM and bindings.
To what extend is XAML support in Xamarin.Forms? Can I use it to create multiplatform controls/views?
Xamarin.Forms supports all of XAML 2009 and uses the XAML syntax with its own namespace and types. So, no existing XAML designer will work with Xamarin.Forms. However, the names and properties should be familiar to any experienced XAML developer.
Edit: Forgot to say that this new version looks really good - congrats to the Xamarin team! Not having to launch XCode is going to massively improve my quality of life.
Surely Microsoft will acquire them soon? They'd be totally nuts not to.
http://xamarin.com/download
Surely Microsoft will acquire them soon? They'd be totally nuts not too.
EDIT:
Looks like the main website is up:
http://xamarin.com/
They let you build apps for other platforms in C# which is cool.
You can read more about our platform here:
http://xamarin.com/platform http://xamarin.com/studio http://xamarin.com/visual-studio
And our new Xamarin.Forms library is explained here: http://xamarin.com/forms
Great work !
Edit: Wow, natfriedman. If you could only see the uparrows this comment is getting :)
Making this more affordable would do wonders for C#s popularity in the mobile space and possibly trickle down to a lot of other usecases.
The transition depends on whether you use MTD just as a consumer, or whether you subclass it extensively (like I used to do on TweetStation).
The former is easy, the latter not.
I'm the co-founder of Avocarrot (http://www.avocarrot.com/) and we were wondering for a while whether to build a dedicated plugin for Xamarin. How easily can you integrate an native Android or iOS SDK with your Xamarin apps? Would it make a big difference for you if a Xamarin plugin was available?
1. You can bind the native iOS or Android library into C#, which is relatively straightforward:
http://developer.xamarin.com/guides/ios/advanced_topics/bind...
http://developer.xamarin.com/guides/android/advanced_topics/...(.jar)/
2. Or you could create a single, managed library in C#, which would also make it easier to get Windows support.
Option 2 is more work.
Please, Xamarin, show us young C# devs some love!
update: not really sure why the down votes. I'm big fan of Xamarin and C# in general. All I was doing was pointing out that there's no way I can afford/am willing to buy their software and that I think I speak for the majority of student developers.
http://kivy.org/docs/gettingstarted/intro.html
Other open-source alternatives are haxe and phonegap.
http://haxe.org/
http://phonegap.com/
Comparison site:
http://www.riaxe.com/blog/top-cross-platform-mobile-developm...
Follow Up: The answer is no. This is a pretty big productivity killer, and the ticket to implement this feature has been around forever. This is the last major gripe that is keeping me from using Xamarin Studio in lieu of VS2k12.
Split panes will be coming to a future version of Xamarin Studio, though.
So, in short: is this more Forms or WPF?
(I've looked at the subpage for Forms now, and the widgets presented there tend to lean heavily towards WPF.. so yay!)
This is very important on Android since there is really no single form factor/screen resolution to target. You really need to build UIs that work on various kinds of resolutions.
Forgive my ignorance as I have not used Xamarin.
I read this as "we allow design in our forms library, but compile to native controls for use at runtime."
It took me a couple reads to come to that conclusion, I was also confused by the wording. If that is not the case, I definitely have the same question as you. Perhaps the page could use some clarification.
First ten minutes experience: I've got a little weirdness with the differences in generated code from x-code vs new designer (an outlet name went from upper case to lower for instance).
iOS designer is giving prominent error "Custom components are not being rendered because problems were detected".. Though everything seems fine and log doesn't particularly help.
I was badly burnt by buying a Xamarian dev license a couple of years ago for $499 then not using it (my own fault entirely) so I've been hesitant to jump back in to Xamarin-world, but it's really only a matter of time. I'm very impressed.
For example my Xamarin License expired on May 24th; to renew I have to pay the full price again, correct?
The Forms work in Xamarin 3 seems lined up to make that pitch even easier and will likely help Xamarin grow into the enterprise even faster as ease of management in the code base is going to be a major driver in decisions for IT shops that now have to support a much more diverse platform set than they did in the days when a website was good enough.
We built Xamarin.Forms because we have lots of enterprise customers building apps with a dozen or more screens doing simple things like tabular data display and data entry, but who have a native UI requirement in their app. Xamarin.Forms should make these types of apps much easier to write quickly.
Now I would like to understand the logic behind the 30 day free trial. If you are preventing app distribution (binaries are only valid for 24hrs when compiled in the trial version) why restrict it to 30 days? Why not allow people to tinker around as much as they want? I see no negatives to having an unlimited trial, and then simply charge to remove the '24hr binary' restriction.
As it is, the little free time I had over those 30 days to play with Xamarin equated to around 5 hours, most of which was going through the tutorials and sample apps (which you cant use in the free mode). I certainly haven't experienced enough to commit to a purchase, and now I likely never will.
I spoke with one of your colleagues about this. He offered me 20% discount on the business tier if I purchased iOS and Android (~$1600 'value') within 4 days... All i wanted to do was evaluate the damn thing...
I think what you are doing is great, but please try and apply some common sense to your evaluations.
I also don't understand why Visual Studio support isn't included in the Indie price or the free trial since I suspect the vast majority of developers who want to code mobile apps in C# use Visual Studio. So for $300 I get a sub-par product and for free I don't know anything about it.
If you aren't a mobile developer today then there's really no reason to consider Xamarin. They aren't marketing to developers who currently aren't doing mobile development but are interested in it. They should be trying to woo developers who are on that ground level so we'll buy in once we're committed.
I don't mind the timebomb in the binaries, but seriously, if you want me to take your product seriously, better let me evaluate your product with real-world apps.
Imagine an enterprise of 20 devs hacking away at various Xamarin projects with one dedicated "deploy" person. They'd get away with not paying licenses for 19 of those devs.
I think a much larger issue is the current (and onwards) generations of indies, enthusiasts and kids who are actively prohibited from trying Xamarin.
http://coronalabs.com/products/corona-sdk/faqs/
Most software firms take licensing very seriously. I'm not sure it's worth crippling their trial offering just to try and deal with the ones that do not.
If said enterprise was so inclined they could share a valid license, or simply create new trial accounts every 30 days.
Organisations I have worked for tend to be pretty hot on their licensing obligations. Fines can be pretty steep.
You're assuming that current overly crippled evaluation model is good enough to show off your product -- I think the overwhelming consensus is that it is not.
We do offer extended trials (up to 90 days); you just have to email us.
I've tried these kind of limited time trials in the past and have found in every case that my time proved to be even more limited. Suitably restricted open ended time trials, if possible, can only help you with sales ultimately. This is especially the case for people with sporadic bursts of time limiting loads.
I also agree with the criticism of the very large bump required just to use Visual Studio. OTOH, I might find that of no real consequence given enough time to fully evaluate the tier that contains just your IDE (which looks pretty nifty actually.)
Please, please, please do not read this as "make it bigger".
Even though Xamarin.Forms might be a lowest-common-denominator type of thing, being able to build basically "universal" apps looks awesome.
The indie license really isn't very expensive, but I wish the starter version allowed bigger apps (but maybe stripped out publishing to app stores or something), so you could really thoroughly check it out without spending $300.