|
So, first off, I've never done mobile, but I've been writing software for 30 years. The biggest issues are probably obvious and are heard all over the place: 1) cross platform mobile-app development is a nightmare. I tried Xamarin and gave up because I felt like I would have to learn an whole new layer of syntax to do any UX work. Also the build times, the heavy lifting that was going to be required to setup the simulation environments, etc. just didn't make sense. 2) Setting up your development environment is just a complete nightmare. After a week or two of messing around, I finally got the Android emulators working at reasonable performance on my Windows machine. Still haven't even attempted to hook up a mac. 3) The amount of third party code, npm modules, and pre-processing required to build the simplest shell application is astounding. My current "shell" app, after first build, is 32k files and almost 300MB. Its absurd. and the app doesn't even do ANYTHING yet. The problem with all this code is that no one can possibly understand ALL this plumbing, and the instant something goes wrong, you're immediately sucked into non-productive rabbit holes. All that being said, this is an awesome learning experience. I've been avoiding mobile development for years hoping it would mature, and I guess it has somewhat, but at this point, feeling like I won the lottery when I finally was able to set a breakpoint in my VS Code editor, run a react-native application through the emulator and hit the breakpoint. Ha! |
Even Apple, which control everything from cpu design to compiler to programming language to IDE don't manage to have anything decent. xcode should be rewritten from scratch, swift compiler crash every two lines, iOS is becoming cumbersome and starts to show its age, new tech like autolayout is slow as hell or simply doesn't work (core data on icloud), compiling takes ages, xib and xcodeproj file format crash and burn as soon as you start to collaborate with git, deploying to the appstore still feels like rolling a dice (whenever the uploading itself doesn't bug), and in addition to all this mess, you give them 30% of your income. And when you think it's over, you realize they butcher your income report ( in pretty pretty csv file format) if you don't download them after two months.
The only thing that saves them is that android has managed to have an even worse experience.
Honestly, there's so much room today for a new mobile ecosystem, i wouldn't be surprised if either microsoft, or a newcomer from china starts to make a revolution in some way pretty soon. If microsoft were to resurrect windows mobiel together with a good phone, as well as a good C# + visual studio programming environment, i may sincerely give it a try, at least for my b2b applications.