I’ve been programming databases and database UIs for 19 years now, about 15 of those using web based interfaces. More and more often, we’ve been required to put together mobile apps for field engineers linking to the internal project management systems. Due to our experience with web development, and our investment in learning Angular and converting many old clients systems to Angular, we started developing in Ionic
I really hate it.
Here’s “the thing”: It’s slow. The people using it are often web developers trying to reuse code or simply avoid learning another language (guilty of that myself). However, that means that, rather than programmers, you’ve got web developers. Looking for support is often like needing some serious transmission work on your car, but having to wade through the opinions of 10,000 people who work part-time at body shops. It’s been a frustrating experience. Still, the cost of getting both swift developers and android developers, and then training them on our customers’ complex database systems would have been prohibitive, so, Ionic was the correct choice.
On to Flutter & Dart:
Dart is pretty simple. If you know how angular2 works, Dart is easy. Took me a day or so to get into the swing. The documentation is simply awesome. Honestly, that’s a pretty big deal when you’re trying to do something uncommon. (we’re passing around PDF files and images as memory streams and working with a lot of data synchronization)
Flutter is both awesome and annoying. You REALLY should plan stuff out before you program. I often design right in the web. I’m faster at web development than wire-framing. 🙂
With Flutter….reorganizing things can be tricky. However, you couldn’t get much more intuitive in the process flow. It’s a lot of passing around of data and functions from component to component. Things are very compartmentalized… which is good.
One thing I found that is both good and bad is the lack of very detailed layout control. With ionic, you can use CSS and say, “put this box over to the left a couple more pixels, and make the left border green, and have it float over the box to the left”. That takes about 3 seconds. In flutter…. wow, it’s there, but not “right there”.
Which is “good” in the sense that you naturally avoid little details and get the entire thing done and working, and then let your client complain about the fonts and colors you chose.
Now, here’s where the rubber hits the road: Money.
I own my business. It’s small, but we’ve been around a long time. The reason we survive is because I focus on being profitable. Not a billionaire sucking up VC money, just a few guys writing, selling and supporting custom software.
The Flutter Experiment proved that Flutter is viable. However, It’s not good enough to convert existing apps from Ionic to Flutter. With Angular, it was actually efficient to convert old ASP websites and WebForms websites to Angular because it was more efficient to maintain and support them as Angular. So, Flutter isn’t going to be replacing anything. However, for NEW apps, that are pretty simple, and are on Android, we will be using Flutter.
So, Flutter and Dart aren’t going to rise like meteors, but from a business standpoint, I think we’ll see more and more Flutter on the scene.
Anyway…. I suppose I’d better get back to work. 🙂