It was mainly born out of my need to re-learn a lot of hotkeys when switching from using Windows to macOS. I wanted an easy way to record and keep all the new shortcuts I learned every day in one place.
808 karma · joined January 25, 2015
It was mainly born out of my need to re-learn a lot of hotkeys when switching from using Windows to macOS. I wanted an easy way to record and keep all the new shortcuts I learned every day in one place.
Indeed, multi-window support is absolutely missing right now, but it's the Flutter's team top priority. Context menus are now available with 3.7.
Generally, I found Flutter/Dart easy to pick up and build a quality desktop app with ease. Currently, I am not convinced that it can be used for performance-critical apps yet without a lot of developer effort and experience (there is, for example, Rows, an Excel clone built with Flutter). However, it works for building general-purpose apps on desktop, without messing with the native toolkits that are in a strange place, especially on Windows.
The same has been said for Electron on desktop for years, but look at how VS Code is probably the top editor in use on desktop platforms, and even more demanding audience, like developers, don't really care that it's non-native.
Building can be a hassle, as you can only produce the release version on the host machine. This means there is a bit of back and forth between my Windows laptop and my iMac, but it's expected.
I haven't looked for an automation process for this, but I believe Codemagic are building a solution for Flutter desktop as well: https://blog.codemagic.io/codemagic-ci-cd-releases-support-f...
And yes, the main advantage of my approach is that I use the exact same business logic in both versions: database calls, models, settings, application behavior are shared in the codebase.
It wasn't that hard to handle the conditional logic for the UI components. It can also be encapsulated in a separate package, something that is already available for Flutter on mobile (iOS and Android UI): https://github.com/stryder-dev/flutter_platform_widgets
I could also not strive to make it look native, but go with the default UI (Google's Material UI). As I explained in the post, I decided to take some extra steps and use the two UI packages (macos_ui and fluent_ui), to make it adapt to the platform.
Please bear in mind that I am a single developer, with ~1 year of working with Flutter and Dart, and my main background is web development. I think that teams with more members and experience can certainly do this for even larger in scope apps.
It indeed can be extended to do a similar job for macOS and Windows (or Linux).
Author of the post here! Didn't expect this to be posted here and making the rounds, so I will try to give some more context.
First, you can check a short presentation of the app's features in a previous post: https://blog.whidev.com/shortcut-keeper-app .
Then, I wrote on why I chose Flutter for this instead of native or Electron, and how it helped me ship an app on both stores in one month, here: https://blog.whidev.com/building-a-flutter-desktop-app-in-on...
My main background is web development (JS, jQuery, Vue, WordPress, etc.) and I have been using Flutter for the past year or so for another mobile app (iOS and Android).
If you want to keep one thing from this, is that Flutter enabled me, a developer with no prior desktop dev experience, to:
- Build on my own a desktop app for macOS and Windows (Linux is also possible, and I will try it).
- Solve my own problem (that's where the idea of the app came from), and the problem of a few hundred users in the past two months. Also bear in mind that it's a paid app.
- Get it accepted and published on both platform stores in a short timeframe.
- Make it look native on both platforms by using two community packages and some conditional logic. Of course, I could use the default UI design (Material) or adapt my own design system, but, as I explain in the post, I consider it a huge advantage to feature an adaptive app design.
- Do this from a single codebase, with the same business logic: database calls, models, controllers, settings, etc. are all shared between the two versions.
Happy to answer any questions!
Minas
*edited formatting
There is a screenshot of the original e-mail that the company sent here. They state that 'according to your batch, we estimate that it would be better to continue working as a freelancer', where 'batch' is e-food's internal rating system.
There is a screenshot of the original e-mail that the company sent here. They state that 'according to your batch, we estimate that it would be better to continue working as a freelancer', where 'batch' is e-food's internal rating system.
People started writing negative reviews, starting hashtags, etc. without even being aware of the stuff I noted above.
- The email they sent was about ~100 of the 3,000+ delivery drivers that had a low performance rating.
- Instead of just terminating their 3-month employee contract at once, the company offered them the option to become freelancers (like their major rival, Wolt, does from the beginning).
- This also came after e-food found that some drivers were using fake-GPS apps that changed their location so that the algorithm didn't assign them many deliveries (of course, they were paid by the hour according to their contracts). Paying them by the number of fulfilled deliveries would help with identifying the ones that were slacking.
I am also against the uberization of all work sectors, but I think this just blew out of proportion through social media.
It is a simple tool that lets you create custom maps of the World, USA, Europe, UK, France and more. I treat is as a side-project, but I am constantly adding new maps or expanding some features.
The biggest advantage is that it costs almost nothing to maintain it, as it is completely client-side, so the only cost is the basic hosting plan. I launched it almost 2 years ago and right now it is the no.1 search result for queries related to creating maps and gets an occasional boost from Reddit posts or other blogs.
The competition in this niche is either stale (old sites that don't have a modern interface and/or many options) or premium services (whole suites of applications that cover a range of options), so it is currently the #1 Google Search result for queries like 'create my own map', 'make a world map', 'custom USA map' etc.
I already had some success on Reddit, where I created interesting map charts with it (like religiosity by US state, most popular browser by country,etc.) and shared the link to the site in the comment. This got me many users that would either come directly from the Reddit post or see another map somewhere and google my site.
The big spike came last May, when I shared it on /r/InternetIsBeautiful (https://www.reddit.com/r/InternetIsBeautiful/comments/4jcadt...) , which is a specific subreddit for internet tools and single-purpose website, and it propelled to the front page.
It is completely free to use and my only source of income are Adsense ads on the homepage and some sparse donations. Since May, when the site was featured on the front page of Reddit, my audience has increased with a steady rate, along with my ad revenue (almost $500 last month).
I don't really do anything maintenance-wise, except for answering questions from my users. I work on it from time to time, mainly adding new features or new country/regions maps, and I still enjoy it, as it was my first real programming project (I actually submitted it as a final project for EdX's CS50x course!).
Feedback/suggestions are welcome !