Xamarin for All
cynicaldeveloper.com
cynicaldeveloper.com
I hope that Xamarin keeps on improving as I believe it still could be (one of) the best x-plat option.
https://news.ycombinator.com/item?id=13176438
https://developer.xamarin.com/guides/android/deployment,_tes...
Obviously the goals of Codename One and Xamarin are different whereas Codename One tries to be WORA, Xamarin doesn't.
I suspect it hasn't been widely adopted simply because it costs money and adds a dependency (Xamarin need to implement new iOS APIs before you can use them).
For me personally, I love C# and really tried to justify buying. But then Swift came along and it's a joy to use. Doesn't work cross platform, of course.
The tooling is actually pretty good. Now the problem is a lot of the libraries I want to use are native android/java which means doing a lot of C#/java interop.
Ideally, you should be able to specify the java dependencies you want and get some magical interface file generated for you in C# that makes it so you don't have to think so much about the interop, or at least remove any tedium / boiler plate. If that's not there, then I'd say it's a tooling issue.
If you have some of those that you would like us to do, we would love to help you. Anything to remove the friction from using C#.
There are a couple options:
https://github.com/picoe/Eto (Windows, Linux, OS X, iOS; Android, Windows phone: pre-alpha)
https://github.com/AvaloniaUI/Avalonia (Windows, Linux, OS X, iOS and Android; all alpha)
For now I'm planning on using Eto since my initial focus will be on the desktop.
Our Forms API is a cross-mobile API to create UIs, part of a family of cross-platform APIs that allow for more code sharing across platforms (additionally we now have libraries for 2D raster graphics, 3D retained graphics, and various assorted device-specific libraries [1]).
Eto and Avalonia area really APIs on top of a .NET runtime, either Xamarin or .NET, just like Forms, and they have a focus on the desktop space. I think they are great, and we fix bugs and assist those teams when possible.
That said, some of our users have asked for a long time to share their mobile code on the desktop, so we have started an effort to bring Xamarin.Forms to Mac, and we will be extending this with support for WPF on Windows as well (in addition to the already supported Windows/UWP).
If you want to try out our Mac support, check out this branch:
This is a bummer because things like this live coding add-in require installation of the Inspector, which adds some magic to every build to facilitate dynamic assemblies: https://github.com/praeclarum/Continuous
The Xamarin Workbooks thingy appears to offer an IPython notebook experience (a chance to reduce edit/build/test cycle for prototypes); not sure if it's headed for Enterprise-only or not:
https://developer.xamarin.com/guides/cross-platform/workbook...
This is Xaramin for Some.
The link at the top of the page is broken. It says "http://CynicalDeveloper.com/podcast/5/" but links to "http://CynicalDeveloper.com/podcast/6/"
Adding to the confusion, the podcast player is buried below, so it wasn't obvious that this is in the page for listening to the podcast (as opposed to the podcast being on some other page that's linked to from here)
Thanks, I'll stick to native, React Native and Cordova.
I think Xamarin claims to have both cases are covered, though not nearly as well as other platforms.
Any additional detail you can add to your anecdote would be appreciated!
Xamarin thought it was a great idea to fork MonoDevelop but completely drop support for a platform the application was already running on. Something that would blow my mind if I didn't know better the people involved with Xamarin at the start. Rather, a specific person. No points for guessing correctly who it is.
With that said, there are a lot of alternatives for Xamarin. Last year I tested a bunch of mobile frameworks on low-end devices and it really doesn't compete with native, and in fact lost to Kivy in runtime speed, a Cython-based, community-run framework. Worth mentioning that it was about on par with React Native.
Of the teams looking for cross platform solutions (versus native iOS or Android), Xamarin comes up on occasion.
However, React Native tends to be FAR more common as teams are looking for solutions for "write once, run on many"
In a slightly related note, I find it hilarious that people are using a framework made by a company behind what is probably the most hated mobile app ever.
We're a mobile focused continuous integration and deployment solution.
When deciding which platforms to support, we looked at current adoption for Native iOS and Android (this was no brainer), Hybrid (PhoneGap, Ionic, Cordova) and "emerging" platforms (React Native, Xamarin).
Ultimately, we decided to prioritize the others first. CI/CD service is applicable to any mobile development team.. but to your point, buddybuild is better suited to those other platforms, as those are the only ones we support.
In our experience (which also factors inbound requests), Xamarin is still relatively nascent as compared to the others.
That said, you can should expect to see Xamarin support soon :)
Also, fwiw, Microsoft purchased Xamarin only recently.
I should also note that React Native was announced in 2015 while Xamarin was announced in 2011 (with Miguel's work on Mono being much older). Can you then call Xamarin an "emerging" platform?
(disclaimer: I don't use either platform)
I'd say C# is worth learning if you have the opportunity. But agree it's better to invest time learning a specific platform like iOS or Android. Coupled with C#, you'll be in good shape to pick up any Xamarin project out there.
In addition, VSCode is open source, so to some degree its direction depends on what the community wants to happen with it.
That being said, re-branding Xamarin Studio (which in my experience, has been buggy as all get-out) as Visual Studio Mac without many significant new features seems more of a PR move than anything else. It'd be awesome if they'd put more money/manpower towards fixing it.