I am tired of seeing non-technology entrepreneurs being taken for ride by programmers, specially by outsourcing companies. It’s difficult to learn programming all of sudden for a non-tech person, but just knowing about the technology stacks, libraries, frameworks and design guidelines could save an Entrepreneur’s money and improve their product’s quality. It gives you a leverage to get your work done in a right way.
So I decided to compile a series of articles dedicated to explaining technology. I would begin with a basic Technology Stack. I am starting with very basic and would eventually move into details and cover terminologies
Technology Stack
Every Website or Application on Internet has 2 major component client-sideand server-side, also known as front-end and back-end.
So in a website or a mobile application, what you see on screen — it is front-end. Let’s take an example of a simple generic form. In the form you see on your screen – the label, the titles, the colors and all are front-end. When you fill a form and hit submit, the data capturing and saving is done in the back-end.
Let’s go a bit deep into Front-end. We would start with Web based front-end.
Web front-end
Web front-end is composed of HTML + CSS + Javascript
HTML
Websites are rendered by browsers. The layout of the website is built using HTML. HTML is a markup language with many tags and each tag tells browsers how to render/show the content to users.
CSS
To make our layout look better and beautiful we use CSS. With CSS you can style your content through many parameters like color, size, background, shadows etc. You can also introduce some animations through CSS3. One of the most used framework for CSS is called Bootstrap.
JavaScript
JavaScript is a programming language for your front end. You can program animations, movement, validations and business logic here. But since this program runs on browser which is under control of user’s PC/device. User has a power to override your code. So it is not secure and hence not advisable to include critical validation or business logic here.
There are libraries/framework that make working with JavaScript easier. jQuery and AngularJS are most used library and framework among them
Now let’s go to Back-end.
Back-end
Back-end resides on computers we call servers. A server is a place where all your back-end processing happens and your data is stored. You can convert your PC into a server too, but that’s obviously not practical. There are several options for buying a server to host your app or website’s back-end
1) Shared Hosting
2) VPS
3) Dedicated
4) Cloud Hosting
Your app or website’s back-end operation is primarily composed of a Server Side Scripting and Database
Server Side Scripting
In back-end we need some sort of program to catch the form data sent from front-end and work on that data. This is called server side scripting. Some of the major languages for server side scripting are PHP, Python, NodeJs, Ruby on Rails. All business logic, validation are done using server side scripting. Since these codes reside on your server, your validations and business logic are more secured here.
Database
Now that you have have your data in your scripting language, you need to store this data somewhere. The place where we store these data are called Databases. Some of the examples of Database System includes MySQl, Oracle, MongoDB, Cassandra etc. The language used to put and get data from Database is called SQL.
I just wanted to brush the surface with this article, in further articles I would try to go deeper into each stack and try to elaborate on different frameworks available. If there is some terminology that you find confusing which you hear a lot among developers, let me know in comments, will try to cover them in separate articles.
If you like this article please do share and recommend it to anyone who would benefit from this. About me, I am a programmer with over 6 years of experience. I have worked with and for multiple Startups. I am part of Adevole — Your Technical Co-Founder, it’s basically a group of programmers dedicated towards getting technology right for startup. You can know more about me @ www.vishweshshetty.com