Live data from Hacker News

Ask HN: What do you regret you didn't know when programming for iOS or Android?

news.ycombinator.com

141–150 of 166 posts

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#141

Earlier quoted context omitted.

I would be hesitant to recommend seriously pursuing cross-platform. Most serious applications generally run into scaling issues as they get more complicated and demands require more than the abstractions the cross-platform tool can provide.

Today is a weird time to get into mobile app dev. The standard 'native' UI frameworks are pretty terrible in terms of how they cope with complexity and their ability to change over time with their dated OOP APIs. Though on both platforms the tooling has been climbing ever upwards towards local maxima. The best options available for most Apps today (even if just for a single platform) are typically React Native or Flu…

For those into gamming the standard native UI never mattered.

Then there are several kinds of workflows that are quite doable as mobile Web. One just has to take into consideration that 3G isn't broadband, nor a mobile display a last generation 25" screen.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#142

Earlier quoted context omitted.

Personally I think that Flutter is the future for cross-platform UI toolkits. As a React dev (in my spare time, I’m still a student), using RN was a pain due to the need to install native extensions for almost everything. The batteries-included approach of Flutter and just the polish around the dev workflow made it more attractive to a beginner mobile dev.

Perhaps Xamarin is a good choice as well for who want to transition from development of desktop apps. Also support for F# on Xamarin is also a plus.

I was waiting for someone to mention Xamarin. :D

I haven't worked with the platform for 2 to 3 years. In my old job we had massive problems at the end hence we switched to native (we were an agency).

Problems we had:

* Deploying to devices was painfully slow compared to native stack.

* We all had Macs and the tooling (Visual Studio for Mac/MonoDevelop) was pretty bad compared to Android Studio.

* Wrapping 3rd party native libs was a pain, if not impossible. Especially in a stressful agency environment.

When we heard about the acquisition of Xamarin by Microsoft I was hopeful things would change to the better. But month later they rebranded MonoDevelop and focused on integrating Azure.

Did it get any better?

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#143
post #112
post #107

Earlier quoted context omitted.

Flutter is DOA for anything but short-term projects. For one thing, it’s tied to a custom language. That means there’s significant overhead for developers which shows itself directly as a learning curve, or indirectly in terms of hiring or retention of developers. At least as significantly, they chose to implement custom controls (rather than wrap native controls). With that approach there’s really no way for them to…

I disagree strongly with this. I'm currently writing a cross-platform app in Flutter that is launching soon, and I found that the developer experience is world-class and I've had very few issues so far. The language is incredibly easy to pick up with close to zero overhead if you are a somewhat competent programmer as it is essentially a very lightweight OOP language. My main languages are otherwise Go and Rust, and…

Flutter will be to Dart as Rails to Ruby, if the political wars between Chrome, Android and Flutter don't kill it first, that it the only thing Dart will be relevant for.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#144
post #79

That mobile web apps aka PWAs are a perfect fit for classical data-driven applications. The return on investment for 2 native apps vs. a PWA is far...

You're not allowed to use full PWA capabilities on iOS though right?

https://medium.com/@firt/progressive-web-apps-on-ios-are-her...

One can always build a hybrid app from a pwa...

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#145
post #69

On Android, that there hasn't been much love for C/C++ and the NDK is full of interesting pitfalls: Oh your camera gives you NV21 frames, but the hardware VP8 encoder only accepts I420? Makes perfect sense. Oh, we don't actually let you query what format the encoder expects until a later API than you're using. Just try them in a loop until one doesn't fail, makes perfect sense. The camera was a party too, added a lis…

The Android camera issues you reference reached all the way up to the higher level Java APIs, at least back when I was doing Android development from 2012 until about a year ago. Dunno if it has gotten any better since then. All of the MediaCodec APIs were quite powerful, but did nothing to "keep the easy things easy" or hide much of the lower level hardware details from your app. This is kind of a theme in Android (…

It still is the same theme.

For Vulkan and real time audio they expect you to checkout GitHub repos and compile from scratch, instead of having the tooling as part of the NDK.

Likewise after 10 years they still expect everyone to manually write JNI bindings, instead of providing another productive way for language interop.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#146

Earlier quoted context omitted.

> I wish I knew mobile developers are some of the lowest paid developers other than game industry peons. Everything is relative of course, but can you back up your claim with some numbers? Where do you live? What salaries and compensation packages are you seeing?

https://stackoverflow.blog/2018/09/05/developer-salaries-in-... Well, ok, I guess it's not that grim. Still, it's a pretty crappy job.

If you had your choice, would you do something else? Like being in finance or becoming a dentist?

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#147

Earlier quoted context omitted.

Perhaps Xamarin is a good choice as well for who want to transition from development of desktop apps. Also support for F# on Xamarin is also a plus.

I was waiting for someone to mention Xamarin. :D I haven't worked with the platform for 2 to 3 years. In my old job we had massive problems at the end hence we switched to native (we were an agency). Problems we had: * Deploying to devices was painfully slow compared to native stack. * We all had Macs and the tooling (Visual Studio for Mac/MonoDevelop) was pretty bad compared to Android Studio. * Wrapping 3rd party n…

Visual Studio for Mac has suffered quite a refactoring after the acquisition, as many of the MonoDevelop internals have been refactored into common libraries shared between Visual Studio and Visual Studio for Mac, one of the reasons why the new plugin infrastructure is based on .NET instead of COM.

There a release event happening next month, https://visualstudio.microsoft.com/vs/mac/event/

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#148

I regret not knowing that Android API is awful. Then I regret looking into Nativescript, because it was pretty buggy. Then I regret not knowing about Flutter earlier. THEN I regret not knowing that Flutter is pretty buggy as well. Next step is me trying to learn other frameworks, like Cordova or React Native. I wonder what my regrets will be.

I worked on a react native project a year ago and hated it, mostly because of the story regarding interop with native code or SDKs. I imagine my experience would have been a lot better if the team didn’t “eject” from create-react-app-native, but I’m not sure how feasible it is to develop an app with ejecting.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#149
post #69

On Android, that there hasn't been much love for C/C++ and the NDK is full of interesting pitfalls: Oh your camera gives you NV21 frames, but the hardware VP8 encoder only accepts I420? Makes perfect sense. Oh, we don't actually let you query what format the encoder expects until a later API than you're using. Just try them in a loop until one doesn't fail, makes perfect sense. The camera was a party too, added a lis…

The Android camera issues you reference reached all the way up to the higher level Java APIs, at least back when I was doing Android development from 2012 until about a year ago. Dunno if it has gotten any better since then. All of the MediaCodec APIs were quite powerful, but did nothing to "keep the easy things easy" or hide much of the lower level hardware details from your app. This is kind of a theme in Android (…

Well, glad to hear it's consistent at least :) Good news is we got a handle on all the little issues and now our code runs well on a wide selection of devices, but yeah, next time around I'd find a library that handles all the gory details.

I find image manipulation works pretty well, though I've only been doing Android dev for 2 years so maybe it's improved. Or I just haven't done anything 'fun' yet...

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#150
post #36
post #17

Earlier quoted context omitted.

Amen. Management at a company I worked as were convinced that Xamarin was One True Path for mobile development. They were sold the idea that a Windows dev could instantly be productive in Xamarin without needing to understand the underlying platforms significantly. To be clear, I do think Xamarin remains an interesting idea, but it's absolutely not the first thing I'd reach for when starting a x-platform mobile proje…

> but it's absolutely not the first thing I'd reach for when starting a x-platform mobile project. What would you go with now?

Ionic. HTML, JavaScript, and CSS work on (darn near) everything.
Post reply on HN