The desktop environment was an area I hadn't delved into much before, but it was something I wanted to explore when the opportunity arose. A few years ago, during the pandemic, I had a meeting with an organization looking to develop a new software project to mitigate crowds inside buildings and prevent the spread of the virus."
The Project
The project was generally divided into two parts. The first part aimed to inform the majority, who were in a job-seeking status, before entering the building. Active job listings would be presented on a large electronic board, facilitating the flow of information. The second part was the area where I would work in the software domain.
The task here was to import the daily list of announcements received by the relevant department in .xml format into the developed application. The application would then automatically list the announcements within a specified time frame and a specific number based on the received list.
My First ElectronJs + VueJs Development
Since the application needed to work entirely independently of the internet, I required a library like Electron.js. Based on my previous developments with Electron, I was aware that bidirectional communication between the server and client sides could be a bit challenging. Introducing a framework like Vue significantly accelerated the development process, as I didn't want to handle everything with pure JavaScript.
When developing with Vue 2, the most convenient aspect of the electron+vue combination, for me, was that you only needed to focus on development within Vue for middleware. The project could render directly to the web side without any extra effort within the project itself. In general, you configure Electron and Vue separately.
In addition to these, you can easily communicate the application on the server side using ipcMain and ipcRenderer. You can also use many Electron-side modules, such as Electron Remote, within Vue.
Security Issues
Although performance, memory consumption, and the development process can be challenges for Electron JS, the most significant issue among these may be security. Electron applications may be susceptible to security issues seen in web applications due to the browser engine. Developers need to be cautious and take security measures. For instance, considerations should be made for situations like user authentication and processing sensitive data.
In conclusion, if you need an application for combining a few complex tasks, Electron JS can provide the best infrastructure and development ease for you. If you're considering developing a desktop application based on Electron Js and have at least intermediate-level experience with Vue, I highly recommend such a system.
If you're working on a much more comprehensive project, you can also explore frameworks like Quasar for this purpose.
🔥 Comments