Yesterday, I had the priviledge to give a talk at FEU Institute of Technology about using web technologies to create desktop applications. For the past few years, I’ve been working on a desktop application wherein the UI component is basically a browser. The experiences I accumulated with this project made me want to share my rants and lessons learned while leading the project, which I then turned into a talk.

Here’s the slides: https://danielcefram.com/talks/jsfordesktop/#/

Key takeaways from the talk are:

Fast track to a full stack web engineer is by learning JavaScript, since you can write backend applications using NodeJS while JavaScript is traditionally the language of browsers

The trend now seems to depart from the “separation of concerns” in web development due to React’s popularity

You now write HTML-like syntax in JS, and CSS-in-JS seems to be a thing now

You can create desktop applications with web technologies

Justifications for using web tech for desktop applications:

  • You’re rapid prototyping a product
  • You need a unified UI for both your web version and your desktop apps

Using web technologies for desktop application is getting a lot of flack from the dev community, and the end users too, primarily because web engineers are not system engineers. System engineers tend to be more aware of performance bottlenecks, memory usage, etc. while web engineers usually take those for granted.

What they gave me :D

They got my middle initial wrong though, but at least I got a remembrance that I did a thing :D

Conclusion

The experience was nerve wracking and exciting at the same time. I’m game to do more talks in the future