Startup Technologies - 6 popular technologies used at startups
'Fail fast', 'Agile development', 'Quick iterations' these are the buzz words when it comes to startups today. Gone are the days when building an application (formerly called software) required setting up a team, creating a detailed plan and implementing the development work in multiple phases. Now an amazing slick beta is built just in few months, shipped, iterated, scaled and converted into a moolah milking application in a surprisingly short period of time.
The reason why we see such fast application development these days can be attributed to the amazing new technologies these startups are using to change the world. Lets dive into some of them.
In words of RoR, it lets you do Web development that does not hurt. Its an MVC framework that was invented by 37 Signals — the
same people who made some cool products like Basecamp, Highrise and Campfire.
What does it really mean?
Ruby on Rails has significantly lowered the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days. Simply put it lets you build cool applications quickly, lets you 'Fail Fast' and come up with prototypes with a shorter time line.
What can I make from this?
Virtually any web application can be easily and quickly built on RoR, and mind it tons of companies have used it for some very serious application development.
Who’s using it?
- Github
- Basecamp
- Walmart Labs
- Groupon
2. Django
In their own words, Django is a web framework for perfectionists with a deadline. Its lets you build better apps quicker with less code.
Django focuses on automating as much as possible and adhering to the DRY principle. It was developed arising from a very practical need of a fast-moving online-news operation, to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it.What does it really mean?
Django makes it possible to quickly build, deploy and scale powerful applications in just days. Its adherence to the DRY principle allows you to write only that code which matters to your applications.
What can I make from this?
Just like RoR you can make any web application in Django. In fact both Rails and Django are equally powerful, and in the end it often boils down to a question of Ruby vs Python. There are some interesting answers here Ruby vs. Python: Which should I learn: Django or Rails?
Who's using it?
- Disqus
- EventBrite
3. Node.js
Node is a platform in JavaScript built on the top of a beast called V8 which is the Chrome's JavaScript Runtime engine. Node uses an
event driven, non-blocking I/O model which makes it lightweight and efficient, and hence perfect for real time applications across distributed services.What does it really mean?
Node makes it super easy and faster for one to build cool stuff in an app that happens in real time, giving the users an amazing experience.
Historically real time processing and display of data has been the holy grail of any application developer. Its not only a challenge to crunch heavy data but also difficult to display it to thousands of users in real time. People have mostly resorted to some tricks in making intelligent AJAX requests to fetch updated data. But AJAX requests are not cheap, they eat up your server and this can become problematic if you have a huge number of users. To solve this issue you may have just three solutions:
- You are GOOGLE, so you have a big server farm that allows you to do any kind of rubbish.
- You have a big team lying waste, which you can dedicate to doing all sorts of mumbo jumbo for implementing real time features in your application.
- You can smartly implement a cross browser solution using Node.js
What can I make from this?
- Real time collaboration tools (CodeTable)
- Chat applications
- Any application that would require synchronous operations
- Real time multi-player games
Whose using it?
Pretty much everyone is using it today, from the big names to the smaller players. Some bigger ones are
- Yahoo
- Microsoft
- Walmart
- Mozilla
You can find an exhaustive list here - https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node
4. NoSQL
NoSQL databases are very useful when one has to store humongous amount of data which may not have very complex relational
schema involved. Its most useful when your purpose is to store and retrieve a lot of data quickly and efficiently, with the bulk of processing being done at the interface layer.What does it really mean?
There has been an explosion in terms of the amount of data being collected and processed. Traditional relational databases have started to fail in certain cases, and here NoSQL comes to the rescue. NoSQL databases let you store huge amount of data and then manipulate it in the app.
Some popular NoSQL databases are:
What can I make from this?
You can seamlessly build applications which require a lot of data to be stored, quickly retrieved and processed without having to worry about performance issues in your traditional databases .
Who's using it?
Pretty much everyone who grows big starts using it in some form or the other.
- Yahoo
5. JSON
JSON stands for JavaScript Object Notation, and it is a lightweight format that is used for data interchanging. It is also a subset of
JavaScript's Object Notation, i.e. the way objects are defined in JavaScriptJSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. Its also easier to read and understand by humans.
What does it really mean?
Initially data interchange between different platforms is not a big worry, but once an application becomes bigger, different parts of the application are written in different frameworks and they eventually communicate with each other. Traditionally people have used XML for this, and they know that the process is not pain free.
But with JSON the process becomes much more structured and efficient. Simply put it lets different interfaces of your application seamlessly communicate with each other.
What’s it good for?
JSON is really great for exchanging or retrieving data that needs to be manipulated, massaged, mashed up or otherwise tweaked.
Who’s using it?
Data exchange is a very crucial aspect of building a modular and scalable application. That's why Google has invested so much of effort to write its own data exchange format known as Protocol Buffers. But those who are not Google, to a large extent use JSON.
I don't think there is a need for introduction to the concept of 'Cloud Computing'. Cloud computing can be attributed as the single most
important factor for such high speed growth of tech companies today. Companies like Pinterest, Dropbox, Airbnb, Reddit, Instagram etc have been able to grow so seamlessly to millions of users because of the cloud technology.Cloud computing symbolizes the concept of 'Lean Development' by replacing the up-front capital infrastructure expenses with low variable costs that scales with the business.
What does it really mean?
Cloud computing allows you to host your Web applications in a highly scalable way and yet you only pay for the resources you actually use. It keeps away the worry of your hosting and scaling cost, until you have finally made it to the point where every cent you pump into your hosting translates into satisfying revenue.
Cloud hosting is great for variable load/ traffic or for those who have seasonal spikes. You may not save a lot in the very early stage of your startup or once you reach to the stage of heavy constant load, but its absolutely great for the transition from the former to the latter.
There are a lot of good cloud service providers like AWS, Rackspace, Salesforce, Joyent, Microsoft, Citrix but AWS seems to be a clear winner out of these. AWS is like a beast, which is difficult to control in the beginning but once you get a hang of things, there are so many amazing things you can do with it. Also Rackspace can be great in the early stages of a startup when you may not have the time or requirement to invest time in understanding AWS, and want to just quickly launch.
Who’s using it?
- Airbnb
- Quora
- NASA
- A complete list of companies deployed on AWS are here http://aws.amazon.com/solutions/case-studies/
Author Credit - Sachin Gupta, Co-Founder, HackerEarth