Using the SEAL Stack
- Dan Sterrett & Aaron Luprek
- Jan 26, 2018
- 3 min read

Recently, we needed to develop a desktop application for one of our clients. As web developers, our immediate thought was to use the SEAL Stack (http://sealstack.org). SEAL is a technology stack that uses SQLite, Electron, Angular, and Loopback.
Why use Electron?
Electron (https://electronjs.org) gives a developer the ability to build cross platform desktop apps with JavaScript, HTML, and CSS. It is a framework developed by GitHub. It combines Node.js, which is a JavaScript runtime that allows you to run JavaScript on the desktop, with Chromium, the open-source technology behind Google’s Chrome browser. This allows a developer to develop as if it is a web app, but from the user's perspective. It functions as a single application. Electron is used in many popular applications including Slack, Microsoft Visual Studio Code, and tools from GitHub.
Why use Angular? Angular is a front-end web framework developed by Google. (https://angular.io). It makes writing single-page apps easy. It uses declarative templates for data binding and handles routing. It promotes component reuse across your application, making your code more stable. Angular uses TypeScript, an extension of JavaScript that adds strong typing.
Running a Web Server An interesting twist to the project, was that there was a high probability that the client would want it converted to a web app in the future. Aside from the benefit of being able to develop with familiar web technologies, Electron gave us the ability to easily transition to the web at a later date if needed.
With this knowledge in mind, we decided from the very beginning to build the app like a standard single-page app and use Electron to run it. Because Electron runs on Node.js, it was easy to spin up a server within the app. In the future, if we need to transition the app to the web, it will simply require deploying the code to a web server (and a few additional tasks such as changing data connectors to connect to a database server, adding authentication, etc).
Why use LoopBack? For the web framework, we chose LoopBack (https://loopback.io). LoopBack is a highly-extensible, open-source Node.js framework. It is built on Express, the most popular Node.js framework. It makes it easy to quickly create dynamic end-to-end REST APIs. It has an ORM and data connectors for all the standard databases making it very easy to retrieve and persist data.
Why use SQLite? By default, the LoopBack boilerplate configuration uses memory for data storage. Because we needed the data to persist between sessions, so we decided to use a database for data storage. In this case, we chose SQLite (https://sqlite.org). Benefits of SQLite include not having to install a database server on the user’s computer. SQLite is public domain and works across many different platforms. The data is stored in a single .sqlite file that can be transferred from one computer to another if needed, which could help with syncing data between users in the future. To avoid any issues running SQLite cross platform, we used a Node.js implementation of a SQL parser called sqljs. and wrote a custom connector for Loopback using sqljs (https://github.com/canallc/loopback-connector-sqljs).
System Architecture Here’s a diagram illustrating how the four elements of the SEAL stack integrate together.

Wiring it Up The easiest way to get started with the SEAL stack is to use the quick-start project (http://sealstack.org). The site is well documented. It also provides instructions for modifying an existing application to use the SEAL stack.


This article was a collaboration between CANA Advisors Principal Software Developer Dan Sterrett, and CANA Advisors Senior Software Developer Aaron Luprek.
For more programming articles, information on on SEALstack and other projects in development visit CANAadvisors.com
Play 247 is a well-known online gambling platform offering sports betting, casino games, and live dealer experiences. It provides a safe and convenient environment for users to place bets on cricket, football, and other major events. With competitive odds and attractive bonuses, Play 247 ensures an enjoyable gaming adventure.
Gold365 is a premier online betting platform offering a wide variety of sports and casino games. Known for its secure transactions, exceptional odds, and seamless user experience, it provides bettors with exciting opportunities to win big. Whether you’re a beginner or an expert, Gold365 delivers thrilling betting experiences tailored to your preferences.
Click here provide members with discounts on over-the-counter medications, vitamins, and health essentials, promoting better health management and cost-effective wellness solutions. kaiserotcbenefits.com - more details here
Click here help you find recent death notices, providing information about funeral services, memorials, and tributes for loved ones in your area. obituariesnearme.com - more details here
Click here? Many users have had mixed experiences with the platform, so it's important to read reviews and verify deals before booking. istravelurolegit.com - more details here
What sets Reddy Anna Club apart is its dedication to fostering a community where members feel valued and engaged. The platform continually updates its offerings to meet the evolving needs of its audience, ensuring relevance and excitement. Whether you're looking for a reliable space to unwind or explore interactive options, Reddy Anna Club delivers a top-tier experience.
For more details visit on- https://reddynanna.club/
Explore SpinMatch login to enjoy exciting features and endless entertainment opportunities.SpinMatch in is an engaging platform offering seamless access to interactive gaming experiences. Its user-friendly interface ensures effortless navigation for both beginners and seasoned players. With a focus on providing secure and reliable services, it stands out as a trusted choice.
For more details visit on-http://spinmatchh.org.in/login/