Pingdom Home

US + international: +1-212-796-6890

SE + international: +46-21-480-0920

Business hours 3 am-11:30 am EST (Mon-Fri).

Do you know if your website is up right now? We do! LEARN MORE

15 open source projects you should know about as a web developer

Open source projects

Building websites and web applications today is not only about being a great programmer, it’s even more important to be a smart programmer. This means to re-use existing code and applications when possible instead of re-inventing the wheel.

Open source has been around for ages and much of the web is built using it. Every developer knows about Linux, Apache, MySQL and PHP (LAMP).

But what about all the other open source projects out there? As a web developer you can save lots of time or optimize the performance of your applications by using many of the other projects that are available.

Lets take a look on what’s out there, free for everyone to use.

New databases on the block

Traditionally you might have been using MySQL. Although MySQL still is a great database many new alternatives has shown up trying to solve some of the issues MySQL has.

MongoDB

MongoDB is one of the new so-called “NoSQL” databases. It’s scalable and offers high performance.

Apache Cassandra

Apache Cassandra is similar to MongoDB in that it’s a “NoSQL” database, which is scalable, and offers high performance. It works well with very large and active data sets.

More

There are lots of more alternatives out there to choose from depending on your needs. Take a look at this list in Wikipedia.

Cache your data

As some data is used frequently it makes sense to put it in memory instead of querying a database each time. This can speed up a web application greatly.

Memcached

Memcached is a simple but powerful way to cache small chunks of data in memory.

Redis

Redis can be used in the same way as Memcached but also includes many more features. For example it can also store data that should be persistent on disk.

Speeding up web requests

Most websites use the Apache web server to serve pages. This works great for most sites, but as soon as you start to get lots of traffic you might want to optimize things a bit.

Nginx

Nginx is a web server, much like Apache, but it’s extremely fast. It’s often used to serve static content such as images or as a load balancer.

Varnish

Varnish is a cache that you put in front of your regular web server. It works by putting all your popular content in memory and serves it directly, instead of having to pass everything on to your web server.

Manage your content easily

If you’re building a website which will have content that will be added and edited by writers you want to have a content management system (CMS). A CMS makes it easy to manage blogs and websites and also offers lots of plugins that can extend the functionality of your site.

WordPress

While WordPress is a blogging platform it can also be used to manage whole websites, big and small.

Drupal

Drupal is a complete platform that can be used to build scalable and flexible websites.

More

There are lots of Content Management Systems available. See this huge list at Wikipedia.

Having an interactive web user interface

Today you can build a web application that works in many ways just as a desktop application using techniques such as JavaScript and AJAX. Using JavaScript frameworks it has become really easy to build great web applications.

JQuery

JQuery is a framework with plugins to help build dynamic websites with AJAX interaction and animations.

MooTools

MooTools is just like jQuery a framework to help build powerful web applications using JavaScript.

More

If you want to try any of the other alternatives look through the list in this Wikipedia entry.

Other cool stuff

When you start to build complex web applications there are lots of software, libraries and modules that can help you solve problems that would otherwise take a lot of time. Below are two examples just to get you started.

Node.js

Node.js is an event-driven I/O framework where you write applications in JavaScript that runs on the V8 JavaScript engine. It’s a great way to build fast and scalable network programs.

RabbitMQ

RabbitMQ is a reliable and scalable messaging system that can handle high throughput. If you need to exchange data between systems or applications a messaging system is a great way to do this with lots of benefits compared to a custom solution or storing the data in a database.

Use a framework to speed up development

Whether you are using PHP or another language there are several different frameworks available that can help you speed up development and make your code easier to manage.

Symfony

Symfony is a PHP framework that includes components and tools to help you build complex web applications faster. It also has over 1,000 plugins contributed by the community.

Ruby on Rails

For fans of the Ruby language, Ruby on Rails is the most popular framework available.

Django

Django is a Python web framework developed to help you build high-performing and elegant web applications quickly.

More

See this list on Wikipedia for a more complete list of web application frameworks available for different languages.

Spend your time wisely

As a developer it’s always worth the time to keep up to date on what new software is available as it can help you solve complex tasks easily.

Often time spent planning and doing research at the start of a project is well worth it since you can identify upcoming issues and how to solve them in the best way.

The days where you program your way out of every issue are over, it’s more about using existing technology in smart ways.

There are of course a bunch of other software out there that we didn’t include. Let us know in the comments if there is anything you think is missing.



11 comments
TechOuch
TechOuch

A very good collection of open source projects. Some that I had never heard of, therefore it was worth reading and now I have a bit more knowledge into what is available. Thank you. http://www.techouch.com

PHP Development India
PHP Development India

Thank you very much for sharing Great list of tools. All of them so many are new for me

PHP Development India
PHP Development India

Thank you very much for sharing Great list of tools. All of them so many are new for me

Ankit Saini
Ankit Saini

PHP framework is the best and its easy to use.. Thanks

Ernest Semerda
Ernest Semerda

Hey guys, thanks for the awesome write up. Would be cool to see what tech some of the leading tech companies (inc. Pingdom) are using in the format (category breakup) you guys presented above. Btw, NoSQL seems to be the direction everything is heading for storage right. Where do you guys see SQL still being around - or maybe a hybrid solution? Cheers. Ernest

Thomas Craig
Thomas Craig

Great list of tools, heard and use some of them, but some are new to me and I'll be looking into them further. Again, thanks for the list.

medve540
medve540

It's a nice summary of projects. However I'm missing the IDEs (Netbeans, Eclipse) which also can help developers saving a lot of time.

Jodi
Jodi

I'll let my programmer friends know about these. Thanks.

Mediere
Mediere

Hmm 2/15. I guess i have to get busy now :D.

Psiinon
Psiinon

I think theres one glaring omission here - security! It doesnt matter how wonderful your web app is, if it can be easily hacked then you're in for a world of pain. Theres loads of useful info on the OWASP site, but not too surprisingly I'd recommend my own project, the Zed Attack Proxy: http://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project Psiinon

Arne Riemann
Arne Riemann

No mention about the famous Zend Framework for PHP ?