What I’ll be using in 2019

calendar_today Posted 2 years ago · 2 minute-read · Technology


Today I’m going to list some of my favorite soft­ware devel­op­ment tech­nolo­gies across all plat­forms to use in 2019. These tech­nolo­gies and tools are the ones I’d use in a pro­duc­tion app today, and are focused on code reuse, cross-plat­form-ness, and devel­op­ment speed.

Desk­top User Inter­faces:

  1. Elec­tron + Type­Script + React. Although apps built with Elec­tron tend to be a bit slow­er and non-native like, the trade-offs for code re-usabil­i­ty and speedy devel­op­ment are def­i­nite­ly worth it, in my opin­ion.
  2. JavaFX. Java’s well-known cross-plat­form abil­i­ties estab­lish devel­op­ing desk­top apps with JavaFX as my sec­ond tech­nol­o­gy of choice.

Web User Inter­faces:

  1. React + Next.js. I’ve become very effi­cient in build­ing web apps with React, so it would be hard for me to choose or rec­om­mend any oth­er frame­work. I do not like Angu­lar’s boil­er­plate code one bit, and I real­ly, real­ly, like Reac­t’s way of struc­tur­ing apps.
  2. No frame­work at all! Truth is, web apps that are heav­i­ly ren­dered on the serv­er don’t need a JavaScript frame­work at all. I’d use pure JavaScript to get the job done, and prob­a­bly some jQuery.

Mobile User Inter­faces:

  1. React Native + Type­Script. If you know React, you almost got React Native. The code reuse pos­si­bil­i­ties with web devel­op­ment here can dras­ti­cal­ly improve devel­op­ment time effi­cien­cy.
  2. Flut­ter. This tech­nol­o­gy I have not done any apps in, but I have gone through the offi­cial doc­u­men­ta­tion, and I can say that if React Native weren’t avail­able, I’d use Flut­ter to devel­op my Android/iOS apps.

Serv­er Apps:

  1. Node.js + Type­Script for cross-plat­form web APIs (Express or Sails), real-time apps, or any­thing that requires light­weight work and pro­cess­ing. For real-time, write-heavy apps I’d also com­bine Node.js with Mon­goDB.
  2. Java for any­thing else. Java has demon­strat­ed sol­id cross-plat­form per­for­mance over the years, and if Node.js weren’t avail­able to use, I’d use Java.

As you may have seen, I’m a JavaScript guy, at least in 2019. If you use JavaScript to devel­op your apps, you can build desk­top apps with Elec­tron, web apps with React, mobile apps with React Native, and back­ends with Node.js all in the same lan­guage and sim­i­lar code­base. The devel­op­ment effi­cien­cy you get with this com­bi­na­tion, I believe, is unbeat­able.

Until next time!

– Kedi