Why python is good for saas projects?
First of all, let me explain what is a Saas better-called Software as a Service (SaaS). It ’s a pure product that is software as a service. You are probably using a lot of them these days. There are many well-known examples of SaaS, including all the Google Apps, Salesforce (which comes with the subscription model), Teamviewer, and one that almost everyone uses Netflix.
Where can you use Saas as an enterprise?
Invoicing, banking and accounting. These days there’s even the rise as online banks that are completely online so they can also be considered as a Saas. Check out for example Revolut. It’s not in Python build by the way but I love their clean design and how simple it is as a business to setup a bank account and accept several currencies. We are living in great times
WHAT QUESTIONS DO YOU ASK WHEN BUILDING A SAAS?
When building products there are always important questions that lead to why are we use this tech stack and how important it is maintaining it.
- framework ecosystem: Django (https://www.djangoproject.com/community) has an established and active ecosystem of developers and third-party modules that fit into the various components of a SaaS stack, from billing to notifications.
- language ecosystem: One of Django’s main selling points is that it’s “just Python” (https://www.python.org/) which means you can integrate libraries from the entire Python ecosystem, including Python’s superior data science libraries like Numpy an even a scraper where they have scrappy. We currently have such project where all is build in Python and their scraper is integrated in their solution.
- supported integrations: A little less obvious, but many SaaS applications make use of third-party services for features like subscription billing, customer retention tracking, and marketing automation. Python and Django are consistent first-class citizens as directly supported platforms by these services, making integration that much easier.
Quote:
Success Stories More How we used Python to automate a problem that occurred infrequently, but was a huge nuisance when it did occur. Using Python to Automate Tedious Tasks by Nat Dunn
We usually look first at the required and then make our decision but other languages that are most suitable for building SaaS solutions are Java, PHP, C#. Those last 3 are these years less popular and you can even build today a Saas product completely in Node.js like PayPal is for example doing. Paypal was one of the first companies who was given a chance to use Node.js, to take the risk to make a difference because at that time Node.js was not popular language. First of all, they were using the Java on server-side and javascript on the browser side. Anyway, this discussion is for another blog.
The main criteria to choose which language to use should be:
1) Current developers at your company (including you) know the language already
2) Knowledge transfer: It’s easy to hire web developers who know the language or train developers who don’t because the dev team is familiar with it.
3) A huge corpus of useful libraries are available (open-source or paid for) that suits your domain
5) Language is either interpreted and/or compiled to bytecode for ease of debugging and programming.
Let’s look at 10 of the Most Popular Python and Django Websites
Mobile Vikings
Mobile Vikings is a mobile virtual network operator (MVNO) with Belgian roots founded by Belgian entrepreneur Frans Bekkers who had the vision that mobile data will become the most popular one, and therefore should be accessible for everyone. Anyway, it’s about Python here., Mobile wanted to compete with ultra-competitive prepaid offers and a genuinely helpful and approachable customer service team proved key to their success. Their preferred code stack:
> Python Django >> Angular and server of course on Amazon.
Today, Mobile Vikings is working with a Polish development team. You can check the whole case here: https://ulam.io/case-studies/mobile-vikings
YouTube
We all know YouTube as the place to upload cat videos and fails. As one of the most popular websites in existence, it provides us with endless hours of video entertainment. The Python programming language powers it and the features we love.
Python also provides the power behind the most popular search engine in the world – Google. The programming language can handle the traffic and computing needs of the search engine and its connected apps.
We all know Instagram as the place to share your life in pictures. The Instagram website is built using the Python programming language and allows users to browse, find and post pictures.
Bitbucket
We all use it here at DevGap. Bitbucket provides a cloud-based hosting site for source code management and collaboration. Developers can host their projects in Bitbucket to utilize many of their tools and services. The site and its’ tools are built on top of the Django framework. You can really set up a great DevOps environment with it from standard git to Continuous integration development.
Prezi
Prezi is a cloud-based alternative to Microsoft PowerPoint built on the Django framework. The site provides a virtual canvas that can be manipulated and zoomed into and out of. This provides the entire view of the presentation rather than individual slides.
When should I go for Python Django?
- It will make your development faster and our work process easier
- Need database, forms, authentication, templating, etc. >> Django is your friend
- Awesome Admin panel for more check out this resource
- Great REST API framework
- Your database scheme changes once a while or frequently (really important)
- Lots of things are in the project.
- The project will need more stuff and needs to be extended fast.
- Unit testing out of the box with tons of extra sugar.
- Things you don’t know you’d need in future – With saas you never know
In conclusion, don’t hesitate, Youtube and Google didn’t also. Just build your next saas application in Python.
Leave a comment and we’ll talk more.
Conclusion
Use the right tool for the job and it always depends on the requirement. But everyone here at DevGap loves Python. Python is a programming language that lets you work quickly and integrate systems more effectively. You can build simple web scrapers that can scan the prices of your competitors or get the daily date of important websites. Web scraping automatically extracts data and presents it in a format you can easily make sense of and python is your best friend.
Are you ready to build your next product? Just leave a comment and we’ll found which solution will be best for you. And believe me, we do research first before selling what we think is best for you and then apply our agile development process to make sure we deliver your product the best way possible.
PS. If you wanna learn more about Python itself, we wrote a great blog about the basics in this article.