RSSAmplifier

Blog

Hillel Coren

Just another coding weblog

hillel.devRSS feed ↗10 posts

Latest posts

Why Event Schedule?

After working on Invoice Ninja with my amazing partners Shalom and David for over a decade, I started thinking about what comes next. As developers often do, I ended up working on software to try to solve some of my own problems. Problems I wasn’t sure if I wanted to start yet another side project, Continue reading Why Event Schedule?

Adding a macOS widget to a Flutter app using SwiftUI

I recently spent some time developing a desktop widget for the Invoice Ninja macOS app, I thought it may be helpful to write a blog post sharing my experience. This won t be a step-by-step guide, more a review of some of the resources I found useful along the way. For a full guide I recommend Continue reading Adding a macOS widget to a Flutter app using SwiftUI

Adapting our Flutter mobile app to web and desktop

Although we re using Flutter to build the Invoice Ninja web app it wasn t our original plan. We were about six months into our big rewrite using Vue.js when we had a chance to try Flutter Web (at the time called Hummingbird) for the first time and were instantly convinced. Sure performance isn t quite up to Continue reading Adapting our Flutter mobile app to web and desktop

Flutter Web: Things to know…

About two years ago we decided to rewrite our native mobile apps using Flutter, then a year later we decided to use Flutter Web to convert our mobile app into our new web app. You can see the results of our efforts at invoiceninja.com/demo. This is an early pre-release demo but we re really happy with Continue reading Flutter Web: Things to know

Flutter 💙 The widgets are trees 🌲 your app is a forest 🌲🌲🎄

These are a few of the things I wish someone had shown me when I first started learning Flutter. To start, if things aren’t working and you aren’t sure why try running flutter clean, it’s kind of a magic fix all. flutter clean On Android it can help to manually delete the cache folder inside Continue reading Flutter 💙 The widgets are trees 🌲 your app is a forest 🌲🌲🎄

Announcing a rewrite/version 2.0 without causing a panic

When we decided to start from scratch and build a v2 of Invoice Ninja one of our first actions was drafting a blog post to share with our community. Before sharing it with everyone we initially posted it in our Slack group. I can t overstate how valuable the feedback was. I thought it may be Continue reading Announcing a rewrite/version 2.0 without causing a panic

Ongoing adventures with Flutter and Redux…

We re now about 3 months into the project (with a short detour to work on itsallwidgets.com), I thought it may be helpful to share some more thoughts on using Redux to manage state in Flutter. What about BLoC? I don t believe there are better architectures, selecting the right one for your app comes down to Continue reading Ongoing adventures with Flutter and Redux

Flutter: How to rebuild the entire app to change the theme or locale

Update: although this widget does work as described it s an anti-pattern. The better approach would be to define the state and let Flutter handle it. Thanks to Pascal Welsch for pointing this out and Iiro Krankka for providing a working example. Settings which are defined in the MaterialApp widget, such as the theme or locale, Continue reading Flutter: How to rebuild the entire app to change the…

An architectural review of the Invoice Ninja Flutter app

We ve been working on our Flutter mobile app for a few months now, I thought it may helpful to share some of the techniques we re using to help keep our code maintainable. Create widgets! Keep your code DRY (don t repeat yourself). Refactoring widgets is just like refactoring standard code, look for patterns of duplicate code Continue reading An architectural review of the Invoice Ninja Flutter…

Flutter API Docs Sorted by Length

It goes without saying that one of the best sources for information about Flutter are the API docs. Many of the widgets provide detailed explanations with useful samples. If you have a specific widget you re trying to use the docs are extremely helpful but if you re new to Flutter and just want to do a Continue reading Flutter API Docs Sorted by Length