Tag: flutter

In plain English: So what the heck is Flutter and why is it a big deal?

Let me get this out there first: This article is meant to give you a general, extremely vague understanding of what Flutter is and why you should bother to care. It is absolutely not technical (or even technically correct) and it’s not meant to be. It’s meant to give you the general idea because you’re sitting there saying: “Why the heck is everyone is so worked up about this Flutter thing?”

At AppTree, we recently made the jump to Flutter to replace our existing iOS and Android applications. A major part of our application is mapping.

Flutter is still in alpha and as such, still has functional areas yet to be completely built out. However we find Flutter to be so useful that we prefer to fill any gaps ourselves rather than waiting to adopt it when it’s fully matured. Fortunately, the Flutter team has come up with a great solution by allowing early adopters to build plugins.

“Flutter is a new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.” Modern, reactive framework allows us to build powerful UI with animations, shared codebase and views over iOS and Android platforms. It makes development process easier, development costs at minimal and rapid deployment. Flutter is build with C, C++, Dart and Skia. And the most beautiful part is that all release code is compiled in native code (Android NDK, LLVM, AOT-compiled) without interpreter involved. If you are familiar with performance drawbacks of hybrid frameworks you can easy say that flutter compile fastest code very close to pure native performance.

Flutter is an open-source mobile app development SDK by Google and we’ve recently started experimenting with it.

Now why did it interest us?

Consistency of UI elements.

Lot of predefined widgets which serve as building blocks for making complex pages easily.

Performance is faster because of reduced interaction between the Native Layer and Runtime Environment. Instead, Flutter uses a compiled programming language, namely Dart. Dart allows Flutter to communicate with the platform without going through a JavaScript bridge.

Flutter does not use the OEM widgets or DOM WebViews, but provides its own widgets that look and feel good, are fast, and are customizable and extensible.

Flutter ignores the traditional model of layout. In Flutter, each widget specifies its own simple layout model. Since each widget has a much smaller set of layout rules to consider, layout can be heavily optimised. What’s more, almost everything in Flutter is considered as a widget.

Less chances of ending up writing a buggy code as we have a lesser need of implementing external libraries.

So, while we’re working on our first open source Flutter theme, we’ve taken the initiative of Start Flutter, a library of free and open source Flutter templates.

When people talk about User Experience (UX), they often talk about their beloved consumer products: a smartphone, a messaging app, or perhaps a pair of headphones.

User Experience also matters when you build something for developers. People tend to forget that developers are users too, and software development is an intrinsically human activity limited by not only how computers work, but also how programmers work. Admittedly, there are fewer developers than consumers in general, but the more usable developer tools are, the more energy developers can spend on delivering value to their users. Therefore, the UX of developer products is just as important as for consumer products. In this post, I am going to introduce the developer experience, explain one of the ways we assess it at Google, and share some lessons we learned from a specific study we conducted on Flutter, a new SDK for building beautiful mobile apps.

The idea of developer experience is not exactly new. Research on developer experience dates back to the early days of computing, since all users at the time were developers to some degree. “The Psychology of Computer Programming”, published in 1971, is a landmark book on the topic. When we talk about developer experience, especially applying the term to an SDK or library, we usually refer to three aspects of the product:

API Design, which includes the naming of classes, methods and variables, the abstraction level of the API, the organization of the API, and the way the API is invoked.

Documentation, which includes both the API reference and other learning resources such as tutorials, how-tos, and developer guides.

Tooling, which involves both the command-line interface (CLI) and GUI tools that help editing, debugging, and testing the code. For example, research has shown that autocomplete in the IDE has a large impact on how APIs are discovered and used in programming.

These three pillars of developer experience complement one another, so they need to be designed and assessed as a package.

DevFest Florida is one of the many DevFests that GDG groups around the world are putting on this fall. GDG Sun Coast, the group I help organize is one of the groups that are involved in organizing the event in Florida, DevFest Florida. This year we’ll be at Disney World on November 11th and at the moment you can score a ticket for $80 if you follow our twitter feed.

We have a decent website but folks like to have an app to check the schedule. One of the best apps I’ve seen is the Windy City DevCon Android app. It’s an open source project written by Ryan Harter. It’s slick in that it clearly shows all the sessions for a specific time block. It shows speaker details. It allows users to favorite their sessions to keep track of what they’re interested in. It allows attendees to rate the sessions. It’s even written in Kotlin. So what’s not to like? Well the ONLY problem with this app is that it’s only available for Android.

Cut to I/O 2017 this year. Emily Fortuna and Emily Shack demo’d Flutter. They used Flutter to write one code base that ran natively on iOS and Android and then hooked it into Firebase to create a modern “Hello World”: a chat app. My mind was blown. I wanted to do something with Flutter and Dart and I figured I could use the great design of the Windy City DevCon app and duplicate it with Flutter.