Creating a Cross-Platform Todo Aggregator with Flutter

See the original posting on DZone Python

Flutter is a UI toolkit from Google (but open source with a strong community) for creating natively compiled applications for mobile, web, and desktop. This places Flutter alongside other cross-platform toolkits and frameworks such as React Native and Xamarin as well as specific native options such as C#, Java/Kotlin, and Objective-C/Swift. Thanks to the increase in the adoption of JavaScript everywhere, the market for cross-platform development toolkits and frameworks has narrowed, but why should any developer consider Flutter for their cross-platform needs. In this article, I look at how to get started with Flutter, and it’s positives, negatives, and pitfalls.

I always find it useful to have an itch you’re trying to scratch when learning a new tool, so I took this opportunity to solve one of mine that Flutter seemed well suited too. As a long-term freelancer, generally working across multiple projects at one time, I use multiple sources of to-dos. For a while, I’ve used a great Chrome extension called Taco that aggregates from a lot of sources, but not all of the ones I use, and I wanted more from it. I’m old fashioned and also like applications and apps as opposed to websites, and would ideally like something that can work offline as much as possible. As far as I could tell, Flutter could fulfill all these needs, and it’s one main negative that I’d still need some form of backend service too, something I only really realized about 3/4 through working on this article. I won’t cover creating an entire application if this scope in this article, but cover creating the basics, and maybe cover later steps in future articles, or you can keep an eye on the project GitHub repo.