I’m sure we can agree that the modern web is huge, allowing people to access content wherever they have a browser. What is also huge, is the community and ecosystem behind it all.
By fully embracing web technologies, we get to leverage all the hard work done by countless other developers, while also giving back to the community by helping improve the code that we use.
We want the end user to access the portal wherever they need to; on their desktop, in the web browser and on their mobile devices. However, developing an application for multiple platforms can present certain challenges.
As of 2016 we had two primary ways for our users to access the portal; Our desktop app developed using Microsoft’s WPF framework and our web portal, written on top of a solid JavaScript framework, AngularJS. At this time, we were also tackling the re-design of the portal which would have been a huge undertaking to bring to both desktop and web together. It would require writing an entirely new WPF (C#) application and an entirely new Web application (JavaScript). The issue being having to rewrite both desktop and web app at the same time.
The solution was this: To take the web code and use it on desktop. This would result in one code. The benefit from this is that we would be able to create new features faster. Now both versions of DeskDirector would be identical.
Enter Electron, a desktop application framework developed by GitHub. Electron allows developers to write desktop apps using the same web technologies that power all your favorite browser apps. What this means, is that we could create the new portal we wanted, written only once in JavaScript and have it run everywhere. A completely cross platform codebase. This was a huge win for!
Even though the original web portal was based on the same design as our desktop WPF portal, they ended up looking quite different, just because they were developed using completely different technology and ecosystems.
Now that both desktop and web portals are written in JavaScript, we gain the ability to provide a consistent UI/UX across both. This means that our new designs for portal, based on Google’s Material Design, feel the same no matter where you.
At the end of the day, it’s the user’s experience that matters the most.
By making the most of what the web has to offer, we hope to deliver new features faster and provide a more consistent, familiar, experience.