I know there is a lot of Flash hate out there but Air+Flex(+FlashDevelop) was a pretty nice solution for building , debugging and distributing cross platform apps.
I still think AS3 is one of the best languages I've ever used. It was really ahead of its time.
ORLY?
It has been many years that Adobe AIR is updated on a quarterly basis, every March, June, September and December
https://www.adobe.com/devnet/articles/flashplayer-air-featur...
Major features are the ones that matter. It took Adobe like 3-4 years to bring concurrency to iOS. AS4 was killed after years of promises. Etc.
I was trying to install an Adobe Air app on a Linux machine a while back and ran into this problem.
ironically you can also embed Flash into an Electron app to use the latest v28 runtime
other workaround exists with the latest NPAPI that you can embed in a C++ app (like good old WxWidgets)
I'm really curious (as a non-Electron developer) why that's a problem at all, let alone a big problem. You have to provide the entire package, but you have control over what the user gets and ultimately, what you'll have to support.
1. Disk space. Electron, node, shared dependencies, that adds up. 300-500mb/app is not reasonable. 10 apps installed? 5 gigabytes! Wtf?
2. Security updates. Security issue in blink/v8? You need to update 10 apps instead of 1 lib. And I sure hope those apps are responsible enough to update themselves.
3. Bonus: CPU&RAM. Want to run 3 apps? Well, have fun with your 3 instances of chrome running. It adds up. I have 16GB of ram, I used to think it would last me forever and then the electron craze started to seriously limit me in the amount of concurrency I can have on my desktop.
Like GP said, Electron for UI is a valid pattern that has some pretty extreme issues preventing it from being a straight up good pattern. My bet is that an electron server on the desktop solves all this.
Just glanced at my Applications folder on OSX. Slack's looks to weigh in at 180 MB and VS Code at 160 MB. Am I missing something?
So yes, the developer gets complete control over which version of Chrome and Node is used, but you end up with a 150 MB text editor, a 150 MB chat app, and a 150 MB music streaming app, when you could probably get all three done with 152 MB using common dependencies.
[0]: Judging solely on the screenshots provided, which show a menu bar inside the app window on macOS. I’m sure things will improve with time.
Beta was released a week ago, actually - http://avaloniaui.net/blog/2018-02-18-avalonia-beta1.html
I've never seen this feature in desktop.
Closes thing I know are these "hosted web app" in Windows 10. https://docs.microsoft.com/en-us/windows/uwp/porting/hwa-cre...
https://www.lifewire.com/create-shortcuts-in-google-chrome-f...
1) There is no way to separate the Electron engine from your app, so you have to bundle Chrome and Node with each app.
2) Electron has an autoUpdater API, but since Electron doesn't solve the installation/updates problem e2e (packager + installer + updates server) it's really a half baked solution. This is specially bad in Windows since Squirrel for Windows is in my experience a disaster.
I have a number of Electron apps in production, internally and for our customers, and for our next desktop project we won't be using Electron.
The idea of using web technologies for the UI is still very valid IMO, but considering the 2 previous problems it's way less of a headache to just make our own native wrapper in C# and Swift (sorry Linux) and finally distribute the app via the official stores. At least for our use case.