4 ms·
Another option is to use an Electron boilerplate and then start learning a web framework of your choice. Electron development is incredibly rich. The UI is web
by semireg 5y ago
Another option is to use an Electron boilerplate and then start learning a web framework of your choice. Electron development is incredibly rich. The UI is web tech, but that’s just the tip of the iceberg. There’s RPC back to a node process. You can call into native code on any platform. There are tons of NPM modules for both the browser and Node. There are bindings for whatever languages you want to use, and if you find yourself SOL (outta luck) you can even package “one file” python projects into a command line callable (via electron’s child exec) to work magic. It’s almost a limitless environment to build - I’m absolutely addicted because the puzzle solving is immensely gratifying.
For example, my electron app is used to design and print labels, and it integrates with excel and CSV. Mac users of Apple’s Numbers app have been SOL because the only way to export CSV data is using the UI (either manually or pseudo manually with AppleScript). When I wrote the app 3 years ago nothing existed to read .numbers files, let alone convert to CSV. Every holiday I get a flurry of emails from sad Numbers users because manually exporting is high friction. This morning I woke at 4am and thought I’d look again and huzzah! Someone published a Python project this year to read .numbers files. Awesome.
It took me about an hour to write a python script that accepted two arguments: the .numbers file and a destination .csv file. Then I spent 4 hours trying to package it up because damn if apple’s code signing isn’t a nightmare. But I digress.
I built a beta and now my poor users (wife included) can finally hit save in Numbers and boom, their labels immediately update with data. Very happy!
I know electron isn’t for everybody. I was (and still am) a mobile app dev writing native swift/kotlin. But I’m absolutely in love with JS/TS, warts and all!
My app is https://label.live https://label.live and I’m always looking for interesting cross-platform app ideas, partners, etc.