I’ve seen successful SaaS applications online built on every single web programming language that I’ve ever heard of. Some of the more extreme ones specializing in certain fields do include Haskell, Erlang, Go, Dark and others for certain applications behind the scenes. A subscription-based business can leverage a SaaS framework or proceed with a custom build, depending on the business needs and the long-term goals for scaling the solution forward.
Top Considerations for Building a SaaS Application
That said, here are several considerations when selecting a language for your SaaS.
1. What are the business and technical requirements?
All programming languages and frameworks are tailored to solving specific problems, or play together with important tools or platforms that you would need (database systems, image processing libraries, scientific frameworks etc).
Depending on your business application, some of those languages and technical stacks would be better suited to your needs. Moreover, you can ramp up your MVP easier with given libraries that are well tested and proven, hence saving you a lot of time and costs from reinventing the wheel.
2. How sustainable is building an MVP to a solid foundation?
There are different approaches to building a Software as a Service application. Starting with a Minimum Viable Product is a popular one, and this requires crafting a limited version of your product that solves the main problem for your customers. Then, upon validation fit, you continue innovating and expanding further.
You can start small with a simple “proof of concept” and then rebuild it from scratch if it’s worth it. Or invest 6–24 months on a solid and scalable MVP that may not generate enough customer base. Depending on your approach, you can pick your tools and choose your stack.
3. What language are you comfortable with?
In your case, you’re already experienced with Java. The learning curve for a Java web framework like JSF, Struts, Wicket, Tapestry, Spring MVC wouldn’t be as steep as learning a whole new programming language, its paradigms, and frameworks.
This shouldn’t cloud your judgment if there are better alternatives for your need. Java has its shortcomings and if those are an obstacle to your business, make sure that it won’t be a liability as you grow further.
4. Can you scale it?
Scaling both the product and the technical team are important considerations. Maintaining a great SaaS application is easier with more conservative languages that introduce a lot of “safety nets” and intermediate layers, automated testing frameworks, easy to set up continuous integration environment and so on. Other languages are great for rapid prototyping (and scalability) but could be more fragile without a very experienced team.
Speaking of team, being able to find the right talent as your solution grows is also an important point. There are banks that still use Fortran and COBOL for historical reasons, and choosing a language that’s in decline (or with a very limited pool of available developers, or extremely expensive ones) may be a factor for scaling your solution.
This is, by no means, an extensive list of considerations for SaaS applications but it could present a brainstorming path for selecting the right programming language.
Can You Build a SaaS in WordPress?
Over the past several years we’ve built 7 Software as a Service products on top of WordPress. I’ve presented several times and covered some of the problems that we’ve faced and our approach when building a WP-based SaaS.
WordPress is a good solution for Software as a Service platforms that revolve around content, user management, and extensible capabilities or payment options. Given that WordPress now powers over 27% of the Internet, it’s been proven in terms of scalability and security, and provides a number of integrations with 3rd parties who aim for wider adoption, supporting commonly used platforms.
If you can build a single site solution that can implement everything that your users need, you can easily extend that to a SaaS by providing different roles, capabilities, and subscription-based payment plans that provide different capabilities for your users (depending on your pricing table). Additionally, the ability to leverage WordPress multisite in order to create snapshots of your distribution for everyone allows for more granular control and separation of concerns, thus providing the same feature set to all of your users with a higher sense of security.
Integration Considerations for a WordPress SaaS
The main requirements of a Software as a Service application depend on the business model. However, most of the SaaS solutions out there revolve around a recurring fee that provides access to a set of features that could be utilized online.
Moreover, some SaaS solutions could run as standalone applications while others are built as “extensions” for existing solutions. There are hybrid solutions as well. Here are a few relevant examples.
Use Case: Social Media Management SaaS
There are various solutions for Internet Marketing that facilitate content production, scheduled publishing, automated social media monitoring (including alerts) and more.
Examples are Buffer which lets you schedule a number of posts across various social media networks or ManageFlitter – a tool which could be used for identifying influencers, analyzing your followers, or following a targeted group of Twitter users in an automated manner.
Both of those platforms don’t require a specific integration that embeds them within your website or your Facebook page. Sure, they depend on some integrations (in this case, your social media accounts) but after the initial setup, you’re good to go.
Once you’re in Buffer, 100% of your Buffer-related activities happen on their end.
This is an example of a SaaS that runs independently and doesn’t integrate seamlessly with your own platform, CRM, ERP, or anything else.
Use Case: Opt-In Platform
Consider a solutions like OptinMonster by Syed Balkhi and Thomas Griffin, both veterans in the WordPress space.
OptinMonster lets you create various opt-in forms for your website. There are slide-ins, exit intent forms, different pop-up and drop-down forms and what not.
Customers who sign up for OptinMonster design the forms on their end, integrate them to email service providers or marketing automation solutions and integrate them in their websites.
The end goal is embedding a set of scripts or an iframe (or connecting to a 3rd party bridge plugin) that bring the desired behavior within the website.
This requires a different type of planning accordingly. You have to cater for all of the different use cases where customers run premium themes and a bunch of plugins and still want to replicate the core SaaS behavior onto their websites.
Use Case: A Booking Platform
There are several popular SaaS solutions that provide booking and appointment capabilities. Some WordPress users pick a suitable bookings plugin that seamlessly connects to a WordPress websites and provides all of the booking options within the dashboard itself.
However, if you run a website built on top of a proprietary framework or integrate with dozens of solutions (offloaded to third-parties), you may be interested in a hosted solution that does most of the heavy lifting.
In fact, some businesses may very well want to run that entirely on a third-party platform. Software as a Service solutions often allow you to connect your own domain to your account and redirect your customers to the hosted solution.
In that case, a SaaS can focus on both groups of prospects – the ones who want to integrate the platform in their websites and those who want to point a domain to the SaaS.
SaaS Payments and Different Plans
One may perceive a SaaS architecture as a membership or an eCommerce solution on steroids.
You have premium (paying) users and different plans. Each plan comes with a set of features where the most expensive plans usually unlock some features that are not available in light plans.
From a WordPress standpoint, there are already platforms like WooCommerce or LearnDash that could build an eCommerce or a Membership platform for your website. The user management may be more challenging though, along with the security considerations within a single website, handling different payment scenarios and one-off offers, and being able to migrate an enterprise plan to a separate server able to handle the corresponding load.
Which is one of the reasons why we often go for a WordPress Multisite when building Software as a Service solutions on top of WordPress.
A WordPress Multisite platform still lets you integrate the same features for every multisite user. However, having different plans, different plugins or libraries may be available for users running the high-tier plans based on their pricing model.
Moreover, a Multisite can be scaled across different servers, even in a cloud environment. Over the years, we’ve had SaaS solutions widely used by SMBs but approached by enterprises.
Large beverage or fashion brands are willing to invest in a rock-solid and reliable solution that comes with some custom requirements. The additional revenue would justify exporting the site into a standalone solution running on its own server and, if needed, incorporating additional plugins or 3rd party solutions.
SaaS Data Analytics and Aggregation
Data privacy and data governance are major concerns for most active online users. However, most SaaS solutions and even software application nowadays try to collect data which would support the future development efforts.
While your private details are kept confidential, a WordPress SaaS could leverage the existing data in order to prioritize performance enhancements, UX updates, or other functional ideas in the backlog.
Moreover, community-driven SaaS could leverage the power of amplification. Our meme generator built in 2012 included a custom framework that we’ve built which aggregated the most shared memes and the ones generating high traffic – both shared on a landing page. This creates additional brand awareness and some form of gamification for businesses willing to compete with others in terms of popularity or visibility.
This could help identifying some edge cases with users utilizing the platform in an unexpected way, too. We’ve found various scenarios that required some code refactoring and performance reviews leading to a better product for all customers.
Some of our WordPress SaaS solutions currently run over 10,000 subsites on a Multisite network that scale fairly well. In fact, WordPress.com is a multisite with tens of millions of subsites – providing a blogging subscription-based service for tens of millions of users worldwide.
The post What Is the Best Language or Framework For Building a SaaS Application? appeared first on Mario Peshev.