Turbo 360

Tech Cheatsheet Part 1 - Framewo...

dkwon360 | December 14th, 2017
Turbo 360

The tech landscape is constantly evolving and can be overwhelming to non-technical startup founders. There is much to consider when hiring a developer or team to build your product and many things can go wrong. This series aims to clarify the picture and point out where decisions often go wrong in early stage startups relating to technical implementation. If you are a startup founder or plan on being one with no technical background, you can consider this series a "cheat sheet" of sorts covering the bare essentials in today's tech environment.

Where to Begin

Frequently, startups begin their focus on the aesthetic of the site or product which is generally not the best place to start. Though obviously important, the appearance of your site (the "frontend") is less critical than the code which supports the data storage and delivery - the backend. Roughly speaking, the backend consists of the technical set up which supports data storage (database), creation, update and delivery of that data. Together, this is often referred to as CRUD operations - Create, Read, Update, Delete. Without data from the backend, the frontend would have nothing to show. For that reason, the backend is usually a better place to start and to focus your energy when finding a developer to build the architecture. In short, without a good backend, nothing else matters while a poor frontend can be fairly easily replaced.

Web Frameworks

The backend can be organized any number of ways but the startup tech community has largely settled upon a handful of web frameworks that dominate the industry. A web framework is essentially a tool which cuts down the amount of time and implementation needed to set up and deploy a project. Frameworks are used in almost every startup and should be used in yours too.

1. Ruby on Rails

Ruby on Rails - "Rails" for short - is the grand-daddy of web frameworks. Over a decade old, it was firmly established as the default option for startups for maybe half of that time. Great for beginners and advanced developers alike, Rails has imposed an industry coding standard that makes it easier for developers from various backgrounds, even cultures, to communicate and collaborate. Rails leverages the Ruby programming language which is considered easy and reliable.

In recent years, the popularity of Rails has waned as other, more "progressive" (cooler) frameworks have risen and joined the ranks. More on that below. As for your startup, what this means is by picking Rails to build your MVP, it may be harder to attract higher level talent down the road as all the "cool kids" move to more cutting edge technologies. Rails is slowly becoming the "IBM" of web frameworks.

2. Django

Django is a comparable web framework to Rails but using the Python programming language. Python, like Ruby, is a generally well-regarded language good for beginners and advanced developers. The Python runtime environment is currently fragmented between Python 2 and Python 3 but over time, version 3 should prevail. In the meantime, this can lead to some minor friction when using libraries or when having multiple Python developers collaborate. Other than language consideration, Django and Rails are similar and both get the job done well.


Django is the Tom Brady of web frameworks - it has been around forever and shows no signs of slowing down (unlike Rails). This is probably largely due to the explosion in Data Science over the past 3-4 years which has kept Python very relevant - leading to an influx of new Python devs every year. If you go with Django for your backend tech, there will be no shortage of developers able to step in when needed and the developer pool itself will likely remain quite strong from the Data Science effect.




3. Node/Express

The new kid on the block (if 8 years can be considered "new"), Node/Express has taken the framework world by storm. Between Node, Rails and Django, Node is growing the fastest (more on this later). Node uses the Javascript programming language which was considered highly unorthodox on the backend at the time of release but today, is as normal as Ruby and Python. Technically, Express is the framework here and Node is the runtime. The Express web framework is not quite as similar as Rails and Django are. It is less "opinionated" in that is imposes much fewer standards and restrictions - it allows the developer much more freedom to choose tools and libraries. This is both a blessing and a curse. For developers with strong preferences like myself, it's great - I get to use whatever I prefer. But for less experienced developers who lack the insight to make informed decisions, it can feel like walking in the dark - and tripping over stuff. Node/Express is appropriate for developers with more experience for this reason.



4. PHP

Even though Rails is the grand-daddy of web frameworks, PHP has been around even longer and probably has more developers on it worldwide. But it is not highly regarded in the startup tech community and PHP devs often find themselves defending the language, framework (Laravel, Cake PHP, etc), and really everything about PHP. One of the reasons it has such great staying power is because Wordpress sites are built on PHP and there are millions of small businesses that run WP. And so the quickest entry to a paying web developer gig is to learn PHP and start tinkering with Wordpress plugins because that market will be there long after you and I are gone. 


Summary

There are many more backend options not covered here (.NET with C# for example) but the ones listed account for the overwhelming majority of startups in the United States. As far as deciding which to go with, it's hard to go wrong with options 1, 2 or 3 so it may come down to your personnel or network. If you already know someone who is well-versed in Django then that's probably the best choice no matter what you read about the magic of Rails or the virtues of Node. All the major frameworks have been industry tested and have proven their mettle over a decade - except Node which is coming up on one decade. So all things being equal, go with whoever fits your startup culture and budget.


Unfortunately, the picture is muddier on the other side of the equation: the frontend. In part 2 of this series, we will cover the frontend basics and likewise, the dominant frameworks in that arena. That's a much more convoluted discussion so stay tuned.


Join


First Gear


Free

Forever!

Unlimited Staging Apps
1 Production App
1 GB File Storage per App
100,000 Monthly Requests
Automatic SSL Support

Get started

Tech Cheatsheet Part 1 - Framewo...

The tech landscape is constantly evolving and can be overwhelming to non-technical startup founders. There is mu...

dkwon360

Startup Red Flags

In almost six years as a contract full stack developer in NYC, I have worked with somewhere around 30 early-stag...

dkwon360

Understanding Serverless with Tu...

You may have heard the word “serverless” thrown around a few times by now, but you probably aren’t exactly sure...

matt

Developer Spotlight - Stephen Ca...

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

katrina

Functions-as-a-Service with Turb...

The Turbo 360 platform was made possible by a concept called functions-as-a-service that was first popularized b...

matt

Developer Spotlight - Joey McCoy

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

katrina

Developer Spotlight - Jake Green...

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

katrina

Developer Spotlight - Rob Ungar

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

katrina

Developer Spotlight - Ryan Byrne

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

katrina

Developer Spotlight - Jimmy Hong

The Turbo 360 developer spotlight showcases a developer using the Turbo platform on their own work, either profe...

dkwon360

Serverless Functions on Turbo Ve...

Turbo Vectors makes it possible for anyone to deploy functions to the Turbo 360 cloud and offer them for general...

dkwon_360