Welcome to the future of software development, again
I have some good news for you, the future of software development has arrived! Well, to be precise, the next possible big thing in the future of software development is here… again. Works anywhere, just add RAM I have this mental block about the name Electron. I’m not entirely sure why it is but whenever I try to remember the name of this ubiquitous web framework my little gray cells shout “Eclipse” and, try as I might, I can’t conjure up the correct name in the appropriate moment during the chatty to and fro of a webinar. I think I have a theory though on why this is happening; my unconscious mind is trying to prevent me from crossing over to the dark side to use Electron to create cross-platform applications. What is wrong with using Electron? Look, there’s nothing wrong with using Electron as such. I’ve actually used Electron and produced an app which was, in effect a website encapsulated by the Electron framework and runtime. But, that said, it is a voracious eater. It will consume every part of your machine’s RAM and CPU resources if left to its own devices. If you don’t believe me just run a quick web search for “electron problems”. The pros of Electron are that it can be a quick route to market. If you have a web app it’s not a massive task to wrap that website or web app with the Electron framework. Also, it implements an auto-update system which means you can push out new versions and improvements with fairly low friction. A web developer is not necessarily an application developer A couple of problems crop up. Behind the scenes of almost every Electron app is the beast which is Node.js – bringer of NPM, the Node Package Manager. The NPM is a superb repository of add-ons, components, modules and time-saving Nodestuffs. Electron / Node developers can get a package for almost everything. If you’re a web developer who has some JavaScript knowledge the NPM can allow you to pull in components to save you a ton of work. Isn’t using NPM a bit like installing Delphi Components? Well, yes it is. Except with one very specific difference: Delphi is compiled down to native code with an optimizing compiler. If you include 1000 Node packages – either deliberately due to some form of overzealous optimism, or inadvertently due to one package having a dependency on another which depends on another five which all depend on another six packages – then you will have 1000 Node packages in your app even if all it does is display a page saying “hello world” in flashing magenta. If you do the same in a Delphi app you will get a lot of unnecessary junk included – but Delphi’s compiler and linking mechanism will exclude a massive amount of things you pulled in but don’t actually get used. It can’t totally protect you from yourself and your component-hoarding kitchen-sink ways but it will definitely save you from creating a Gigagbyte app when it only needed a few MB at most. Low code is the Next Big Thing Right. Low Code apps. You’ve seen some of them and, yes, they can be great for creating apps usually either by answering questions in a wizard […]
