In the past year my team and I used Starcounter as our database and web server for various projects. This writeup will offer you a glimpse of what Starcounter is, what features it offers and which scenario it is best suited for.
Starcounter is an in-memory database and web server. To develop on Starcounter you will need to write the backend in C#. For the frontend you can choose to expose a REST API or use their HTML mapping.
Starcounter features an app concept that lets you run multiple apps on the same instance - think about the Android or iOS platform. Each app runs in isolation, with its own database. You can share parts of your database with other apps or create integration triggers that will display your app inside other apps. These come in handy if you build single purpose apps. You can for instance build an image gallery app that automatically shows up if another app likes to display images.
Starcounter has a good integration in Visual Studio and focuses on development productivity. Their team focuses heavily on eliminating boilerplate from the development process so that the time to market (TTM) of your product reduces.
The platform itself has very low hardware requirements compared to other database systems. You can use a NUC in production (if you put enough RAM into it) without compromising the speed of your system.
There are a lot more features that Starcounter offers. If you decide to give it a try or like to read more about them, head over to their developer website.
Best suited for
As already mentioned the hardware requirements are low and the focus on development productivity by their team helps you build apps fast.
Retail systems profit a lot by the speed that an in-memory database offers. Retail systems also have a lot of concurrent transactions that this database handles very well. Therefor it is not surprising that one of their biggest clients is a company that offers a retail system.
Websites with lots of functionality will get a lot of value out of Starcounter. The app concept Starcounter is focusing on lets you build single purpose apps that will increase your website´s functionality step by step. Interactions and data sharing between apps is a breeze and offers many build in features you won’t find in other systems.
When to look for other options
If you are relying on offline functionality you should move on. The current version of Starcounter does not have any offline capability other than telling the user that he lost connection. Developing your own offline functionality will cost you the Starcounter frontend integration and you need to use their REST API.
Progressive Web Apps (PWA)
If you like to build a PWA you can of course do it with Starcounter but you will quickly get to the point there you need some kind of offline capability. A PWA looks and feels like a native app and a user will be confused if it does not work as soon as he loses connection. So, you need at least rudimentary offline capabilities that Starcounter don’t offer.
Starcounter currently only runs on Windows with Linux support around the corner. But it is not available for mobile devices. Maybe there will be a Starcounter Mobile version in the future.