How to Choose the Perfect Back-End Technology?

Maruti Techlabs
5 min readJul 26, 2016

If Ruby, Python, Application server and Java ring a bell, you are most probably familiar with the concept of back-end technologies. It builds and maintains the technology that powers the front-end side of the website or web application. It forms the backbone of the website and helps in the functioning of the user-facing part.

Which are the essential Tools for Building Web Applications?

1. Server-side Languages
Server-side languages Are required for the communication between the server, application, and database. The widely used programming languages are ASP.net, PHP, Ruby, Python, and Java. Here we would be concentrating on these programming languages as the major part of back-end technology.

2. Database Servers
Accordingly to the client-server model, database servers are back-end computer programs that provide database services to other computers. Servers are used to find, save and change data and can be accessed through back-end languages. For smaller companies, the database servers will also host the software applications. Whereas in large companies, there is a dedicated database server, which is the combination of the hardware and software, and a separate dedicated application server. Some examples of database servers are Oracle, DB2, Informix, and Microsoft SQL Server.

3. Application Servers
An application server is a program used for complex transaction-based applications. It performs all application operations between users and an organization’s backend business applications or databases. It should exhibit security, ability to handle transactions and connect to web services and other network services so that applications can communicate with the web and other systems. Additionally, it should have inherent ability to store information in database and built-in redundancy or clustering to ensure continuity of services for business users in case of hardware or application failure. Internet Information Services (IIS), IBM WebSphere, Apache Tomcat are the examples of application servers.

So how to choose the perfect Back-End Technology?

The troubling question for a technology startup or a company adopting new technology is choosing the perfect programming language. The question can be answered using these three factors

1. Problem Domain

Each technology has its own business use and leveraging that advantage will make the decision process more streamlined. For example, .NET is the preferred choice for versatile and commercial web application building. If you are looking for big data analysis such as forecasting weather patterns, then Python might be the best option. If enterprise level security for a business-to-business application is critical; you will likely want to explore using Java. Thus, your evaluation will need to take into account the problems you need to address as well as your business case and type of customers.

2. Characteristics of Language

There are different languages available to the programmers. But let’s restrict the discussion to the languages which are popular and widely used. Each language has different characteristics, communities, support, and ecosystems which influence the decision-making process.

a. ASP.NET
Being a web framework ASP.NET can’t be directly compared with the other programming languages. Microsoft’s .NET platform is heavily used in business applications running the Microsoft Windows operating system. Although C# and some parts of .NET are open standards, .NET is more or less a closed ecosystem controlled by Microsoft. It runs on a virtualized platform known as the Common Language Infrastructure, or CLI, people have a choice of which language to use. Also .NET is also the technology used to create Windows mobile applications and integrates well with enterprise systems either running on Windows or through web services.

b. PHP
PHP is a general-purpose programming language with a vast ecosystem of developers, frameworks, and libraries. PHP doesn’t have rules like compiled languages or strict standards as seen with Python, but rather guidelines available from the developer community. As a result, larger projects that do not have a strict structure can become difficult to read and maintain, a problem known as “Spaghetti Code.” Due to ease of programming and popularity, big players including Facebook, WordPress, Twitpic, Flickr and Imgur are also using PHP.

c. Python
Popular among the scientific community, Python is an open source, and high-level programming language which boasts of code readability, concise code and comprehensive standard library. It also features a dynamic type system and automatic memory management. It is suited to applications that scale horizontally across stateless servers, making it a good solution for applications that take advantage of the cloud. Django is a Python framework which powers popular startups such as Pinterest, Instagram, and EventBrite.

d. Ruby
Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It supports multiple programming paradigms and has a dynamic type system and automatic memory management.Ruby is a popular programming language for DevOps frameworks like Puppet and Chef. Ruby even has its own system to manage frameworks and libraries, called RubyGems. There are currently over 60,000 libraries to choose from and a very active developers community.

e. Java
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. Build on the philosophy of ‘write once and run everywhere’, Java is the most popular programming language as of 2015. The long commercial life and wide adoption of Java have created a robust ecosystem of documentation, libraries and frameworks many of which are aimed at e-commerce, security, and complex transactional architectures. Java is used for Android devices and should be considered if that platform is part of your roll out strategy.

3. Technical Expertise

Choosing the right back-end technology requires a sound knowledge of frameworks, languages, servers etc. The choice of technology will depend on the technical capability of the team. The availability of a skilled workforce will vary by geography. Some areas, for example, have many PHP developers with little or no access to people well versed in Python. Participating in meetups, user groups, and co-working spaces to engage with local talent can help in building team expertise. Ultimately, your costs for developers will go up if the skills you need are not readily available or are in high demand. Alternatively, the enterprise can outsource the web application to technology-based businesses.

Thus, the choice of programming language is an important factor while building a web application. But a clear vision on how to utilize the technology for achieving business goals is also essential.



--

--

Maruti Techlabs

We are a digital product development company and your guide on the digital transformation journey.