HERN Stack, Comin’ In Hot
The HERN stack, a development tool that combines HarperDB, Express, React, and Node, may be the best and brightest tech stack in the game.
Join the DZone community and get the full member experience.Join For Free
New tech terms and lingo are constantly popping up in the development world. It’s hard to keep up! People also love to share and debate about their favorite tech stacks and tools and frameworks. That being said, there is no ultimate right or wrong answer when it comes to choosing a tech stack because it really depends on the specific use case it’s meant to solve.
As mentioned earlier, there are numerous stacks out there and different factors play a role in the decision to choose a specific stack for your project. You have the freedom to choose and try different stacks! To make sure we’re all on the same page, Stackshare defines a tech stack as “the set of technologies an organization uses to build a web or mobile application. It is a combination of programming languages, frameworks, libraries, patterns, servers, UI/UX solutions, software, and tools used by its developers.” So as you can see, the combinations and possibilities are endless!
- HarperDB: Distributed SQL / NoSQL hybrid database accessed via a REST API
- Express.js: Open source, back end web application framework for Node.js, designed for building web applications and APIs
There are several reasons that these technologies work well together and serve as a great full-stack solution for projects like app and web development. There are also variants of this stack that would work just as well, such as swapping out and incorporating frameworks like Vue, Angular, or Fastify. HEAN, HEVN, HFRN… the combinations are endless. Don’t be afraid to get creative and choose what technologies make the most sense for you!
React serves as the frontend or web tier of the HERN stack. Among the many reasons React is taking over frontend development, as it enables faster development, simplifies coding and integration, and comes with a strong community. The HarperDB Management Studio was written in React. React has improved the quality of frontend development and allowed us to quickly make changes and improvements to our application.
HarperDB also provides a great React SDK, if that’s your style, or you could make calls directly to HarperDB via our built-in, easy to use API. Either way, you can query data directly from within your client-side application if you choose. React Hooks are a great place to manage your API calls and how responses are handled within your app.
Node.js and Express.js serve as the backend server or application tier of the HERN stack. Express essentially operates inside a Node server, as the server-side framework. Express is a minimal and flexible framework, with numerous HTTP utility methods and middleware at your disposal.
If you need to store or transport any type of data, which you probably do, you will also need a database. There are many database options out there, and it really depends on your specific project or end goal with the data. We have found that HarperDB works seamlessly with the other technologies in this stack, but as mentioned, you can swap out different parts of the stack to find what works best for you. For a little background: HarperDB provides full document store capability, plus enterprise-grade ACID-compliant SQL, effectively allowing you to run SQL on JSON. The database is accessed via a single endpoint REST API using SQL and NoSQL operations. With a dynamic schema, HarperDB was designed to ingest and handle any type of data at scale. Scaling is easy with HarperDB’s clustering and replication features, and our data model, built on top of LMDB, is enabling us to break records on both read and write speeds. The goal is to simplify much of the work when it comes to database installation, configuration, and administration.
There are so many options when it comes to your tech stack - HERN, HEAN, HEVN, MERN, MEAN, LAMP, etc. — it's important to try different stacks to determine which is the best fit for your use case or skill set!
Opinions expressed by DZone contributors are their own.