15 open-source projects that web developers should know

Source: Internet
Author: User
Tags cassandra php framework varnish ruby on rails
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. Traditionally, you may be used to using MySQL as a new type of database. Although MySQL is a very good database, many new databases that try to solve the problems of MySQL have come into being. 1. MongoDB is one of the "non-relational" databases. It has high scalability and high performance. 2. Apache Cassandra is 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 .) You have more options as needed. See this list in Wikipedia. Because cached data requires frequent use of some data, it is more reasonable to store the data in the memory than to query it in the database each time. This greatly improves the running speed of Web applications. 3. 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 has the same role as memcached but has more features. For example, it can also store data that should be permanently stored on the disk. To speed up 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 is a network server that is very similar to Apache, but its speed is quite fast. As a Load balancer, it is often used to process static content, such as files. 6. varnish is a caching tool 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. Although WordPress is a blog platform, it can also be used to manage large and small websites. 8. Drupal is a complete platform for building highly scalable and flexible websites. There are also many available content management systems. See this large list in Wikipedia. Interactive Web UI today, you can use JavaScript and Ajax technology 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 is a framework with plug-ins. These plug-ins mainly construct dynamic websites that contain Ajax interaction and animation. 10. Like jquery, mootools is a framework that uses JavaScript to build powerful network applications. For more information about other options, see Wikipedia. Other dazzling 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 compiling applications with JavaScript and running on the V8 JavaScript Engine. This is a great way to develop fast and scalable network programs. 12. 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 use PHP or other Programming Language There are many different available frameworks that can help you accelerate the development process and manage code more easily. 13. symfony is a PHP framework that contains many components and tools that can accelerate the development of complex network applications. It also contains Community More than 1000 plug-ins are provided. 14. Ruby on Rails is the most popular available framework for the ruby language. 15. Django is a python network framework that helps rapid development of high-performance and excellent network applications. More Wikipedia provides a more complete list of available network application frameworks in different languages. Afterwards-it is necessary for developers to spend time properly to learn 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.