Technologies, Frameworks and Libraries
Building SaaS has never been easier than these days, at least from the technology point of view. It should be simple – just pick your favorite tools and libraries and start building something, right? Well, maybe not so straight forward. But no worries, you will hardly end up with perfect set of tools and libraries anyway. Because it probably doesn’t exist.
Let me highlight some of the tools and libraries which are part of our ‘almost perfect’ technology set at Exmerg.
Though often criticized as monolithic framework, for a lot of use cases there simply isn’t better choice then ExtJS. If you intend to provide desktop like user experience, visualize big datasets or organize UI into specific layouts, I suggest you take a look at ExtJS. Read how you can automatize your workflow with Sencha CMD, the CLI for manipulating and building ExtJS applications.
Currently one of the best drag&drop file upload libraries for web browsers. Actively maintained single file library provides comprehensive API, broad configuration options and integration with your code via callbacks.
“User interface is like a joke. If you need to explain it, it’s not that good.”
Yes, no one likes to read through documentation to understand how a tool or service works. Ideally, the UI should be self-guiding with no need of additional information on how to use it. Back to reality… In case you want to provide user with helpful instructions about how to perform certain actions, intro.js could be what you are looking for. It provides a way to embed interactive help into your UI, highlight DOM elements and explain more complex features of your app step-by-step.
Although widely considered to be an enterprise oriented technology (Java Enterprise Edition), using Java and it’s enterprise edition can help you with the heavy-lifting part of your SaaS – be it a transactional business logic or rigorous service oriented architecture. Java EE 7 is much more developer friendly as it’s predecessors (especially the famously infamous 1.4 and older versions), while at the same time provides sound base for your business logic implementation. Anyway, it’s not one size fits all, and Java EE may be overkill for many SaaS which are happy to use Django or Rails.
Again a technology heavily used in enterprise, Wildfly is the result of many years of JBoss Application Server development and open source community contributions. The main reasons to use Wilfdfly are speed, robustness, easy configuration management, and importantly for SaaS, literally 1-click deployment to the cloud with Openshift Online. This article is too short to provide even short Wildfly insight, but if you are looking for reliable Java EE server, Wildfly should be on your checklist.
Great example of long term open source community effort, Apache POI is the bridge between Java and MS Office worlds. Apache POI is the key technology behind Exmerg since it enables processing of XLS and XLSX documents. If you plan to deal with MS Office documents in your SaaS, Apache POI can make your life much easier!
Reliable relational database which can power anything from WordPress website to Youtube. When it comes to databases, the offer has become quite exotic in the last few years. The rule of thumb still is that if using non-relational DB does not provide you with obvious benefits compared to relational DB, it may be a good idea to start with SQL and see along the way if you need different type of database (document, json, graph, …).
If you need reliable, scalable and simple to use file storage in cloud, join the S3 club (it is already full of SaaS companies). Either using it as your primary storage or as a backup solution, you’ll feel quite a relief for handing the storage scaling problem over to Amazon.
Do you have experience with some of the mentioned technologies? Leave us a comment!