Skip navigation

Tag Archives: ios

It must be a frosty day indeed in the nether regions as Microsoft announces it has joined the Linux Foundation as a Platinum member. As the Ars article points out, Microsoft has been becoming more and more open source friendly over the last few years since Satya Nadella became CEO. Microsoft currently contributes to several Linux Foundation projects, including Node.js Foundation, OpenDaylight, Open Container Initiative, R Consortium and Open API Initiative. Still, this is something that was unthinkable not that long ago. Nevertheless, it is a very welcome move here. I remember visiting Microsoft a number of years ago, and I was quite impressed with the talented people working there. I sometimes joked that they must surely have a Microsoft distribution of Linux running Office tucked away somewhere on the Redmond campus!

Today’s announcement also included the revelation of a Linux version of SQL server becoming available for preview. So it suddenly doesn’t seem all that farfetched that a Linux version of Office could make an appearance in the future. Microsoft already has Android and iOS versions of Office applications, so a Linux version is not a big stretch. And Microsoft Visual Studio 2017 will be joining Visual Studio Code on the Mac. While Visual Studio 2017 on the Mac is really an update of the Xamarin Studio development tools, it is a very welcome addition. I have found Macs to be wonderful development platforms and this addition will allow me to broaden my development targets without the overhead of running a Windows VM, hopefully.

Completing this seemingly improbable love fest, it was also announced that Google is joining the .NET Foundation and will be part of the Steering Group. As a developer, I’m really liking all of this cross platform kumbya!

Quite a lot has changed since my last post on these pages! Google’s Android has matured considerably, with Android 6.0 Marshmallow ready to burst through the gate on the Nexus 5X and 6P. Apple’s iOS continues to evolve in version 9, and with the release of new, larger, faster, iPhones, Apple’s dominance in the mobile space has roared back to life. And don’t count Microsoft out of the race just yet! Windows 10 has proven to be a success on the desktop and Microsoft has sweetened the deal with slick new Surface hardware and Lumina phones.

It’s a great time to be a developer on any of these platforms. The only limit is your imagination, and of course, development time!

The last few months I’ve been working almost exclusively on an Android app which has afforded me the opportunity to see some of the differences between developing for Android versus developing for iOS. I’m not going to provide a laundry list of differences here, only general impressions.

Developing for Android is largely a DIY or roll your own affair. Android development is done using the Android SDK and the Android Development Toolkit (ADT) plugin for Eclipse. Eclipse itself is a popular IDE platform and there are some great tools that have been built on it. Unfortunately, ADT is not one of them. It is adequate, but decidedly primitive compared to XCode for iOS development and that gold standard of development tools, Visual Studio for Windows.

To make matters worse, implementing and using various widgets in Android is a more difficult affair than the equivalents in iOS. In short, XCode builds out a lot more stuff for the developer than the Android tools. Again, I haven’t done a bullet by bullet comparison. These are just my general impressions having worked with both.

Outside of the tools, the other thing I found daunting about Android was the lack of a strong set of design guidelines. When I first started learning iOS development, I was immediately¬†indoctrinated with Apple’s design guidelines in form of print and WWDC videos. When I started Android development, there didn’t seem to be an equivalent transmission of design DNA.

With the release of Android 4, aka Ice Cream Sandwich, Google is finally speaking with a strong Android design voice. The Android Design site provides very clear guidance for Android app design. And I’ve seen great improvement in the overall Android Developers site as well. Given the great heterogeneity of the Android ecosystem, speaking with a strong unified voice is essential.

As a developer, I’ll be much less reluctant to embarking upon new Android projects if I can easily learn the Android way of doing things straight from the source, rather than having learn it by trial and error. Now if they’d just improve the ADT and drag its antiquated GUI designer into the 21st Century, they just might get some happy googly ¬†eyes from me!