15 open-source projects that web developers should know (reproduced from javaeye)

Source: Internet
Author: User
Tags cassandra drupal mootools varnish
Today, building websites and developing Web Applications Program Developers are not only required to be excellent programmers, but also smart programmers. This means that, if possible, the existing Code And the application, rather than starting with your own.

Open source has been around for a long time, and many websites have also been built using open source. Developers all know about Linux, Apache, MySQL, and PHP (LAMP ).

But what about other open-source projects? As a web developer, you can use many available projects to save development time or improve program performance.

Let's take a look at which open-source projects are available for free.

Available new databases

Traditionally, you may be used to using MySQL. Although MySQL is a very good database, many new databases that try to solve the problems of MySQL have come into being.

1. MongoDB

MongoDB is one of the "non-relational" databases. It has high scalability and high performance.

2. Apache cassandra

Similar to MongoDB, Apache Cassandra is also a non-relational database with high scalability and performance. And can well process large and active datasets. (Editor's note: Facebook uses Cassandra for email search .)

More

You have more options as needed. See this list in Wikipedia.

Cache data

Because data needs to be frequently used, it is more reasonable to store the data in the memory than to be queried in the database each time. This greatly improves the running speed of Web applications.

3. memcached

Memcached is a simple but powerful solution for caching small data blocks in memory. (Note: Facebook runs thousands of memcached servers to process terabytes of cached data in a timely manner .)

4. redis

Redis functions the same as memcached, but includes more features. For example, it can also store data that should be permanently stored on the disk.

Accelerate network requests

Most websites use Apache network servers to provide services. It can serve most websites well, but further optimization is required once the website's access volume increases.

5. nginx

Nginx is a network server that is very similar to Apache, but it is fast. As a Load balancer, it is often used to process static content, such as files.

6. Varnish

Varnish is a cache that is located before a regular network server. It puts all popular content into the memory and processes it directly without passing all the content to the network server. (Note: Facebook uses varnish to process images and user photos. Each day, It processes billions of requests. For other open-source projects used by Facebook, see the article "uncover the software behind Facebook .)

Easy content management

If you are building a website that allows users to add and edit content, you may need a Content Management System (CMS ). CMS helps developers easily manage blogs and websites and provides a large number of plug-ins that can expand website functions.

7. WordPress

Although WordPress is a blog platform, it can also be used to manage large and small websites.

8. Drupal

Drupal is a complete platform for building highly scalable and flexible websites.

More

There are also many available content management systems. See this large list in Wikipedia.

Interactive Network UI

Today, you can use JavaScript and Ajax technologies to develop a network application that runs in multiple ways like a desktop application. With the Javascript framework, you can easily develop large-scale network applications.

9. jquery

Jquery is a framework with plug-ins. These plug-ins mainly construct dynamic websites that contain Ajax interaction and animation.

10. mootools

Like jquery, mootools is a framework that uses JavaScript to build powerful network applications.

More

If you want to try other options, refer to the Wikipedia list.

Other brilliant Resources

When you start to develop a complex network application, many software, libraries, and models can help you solve the problem. If you do not refer to these resources, you may spend a lot of time. The following are two examples of getting started.

11. node. js

Node. JS is an event-driven input/output framework that supports writing applications in JavaScript and running on the V8 JavaScript Engine. This is a great way to develop fast and scalable network programs.

12. rabbitmq

Rabbitmq is a reliable and scalable information transmission system that can handle high throughput. If data needs to be exchanged between systems or between applications, the information transfer system is more competent than traditional solutions or directly storing data in databases.

Use the framework to accelerate the development process

Whether you are using PHP or otherProgramming LanguageThere are many different available frameworks that can help you accelerate the development process and manage code more easily.

13. symfony

Symfony is a PHP framework that contains many components and tools that can accelerate the development of complex network applications. It also containsCommunityMore than 1000 plug-ins are provided.

14. Ruby on Rails

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

15. Django

Django is a python network framework used to help develop high-performance and excellent network applications quickly.

More

Wikipedia provides a more complete list of available network application frameworks in different languages.

After-make proper use of time

It is necessary for developers to spend time learning which new software is available, which is of great benefit for easily solving complex tasks.

At the beginning of project development, it is also necessary to spend some time planning and investigating, because it can clarify the problems to be faced and determine its best solution.

The era of Self-programming to solve each problem has ended, and now it is more flexible to use existing technologies to solve the problem.

I do not know the Web developers who are reading this article. In the above open source projects, what do you use? You are welcome to share your experience and experience in the comments.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.