The author is Xie Enming, an official account of Programmer Union (wechat id: CoderHub). Please indicate the source of reprint. Original: www.jianshu.com/p/0038473f3…


The whole Web Quest series

Content abstract


  1. preface
  2. Framework and content management systems
  3. conclusion
  4. Part 2 Lesson 4 Notice

1. Introduction


A class Web exploration trip | the second part of the second class: server, we introduced the server-side programming language, PHP, Java, Python, Ruby, c #, Go, and so on.

In this lesson we will look at the frameworks derived from these languages and then look at what a content management system (CMS) is.

2. Framework and content management systems


Framework (Framework)

What is a Framework?

Framework in English is “frame, skeleton; Structure, structure, structure

It is difficult to give an accurate definition of the Framework because there are several different definitions. See this Bridenco: frame.

But I want to give it a simple, maybe not very accurate, visual representation:

The Framework is like a super toolbox. If programming languages alone can solve problems, frameworks help us “stand on the shoulders of giants” and solve problems faster using an architecture that someone else has already written based on one or more programming languages. Or if we think of programming languages as basic materials, like wood and steel, then frameworks, like hammers and scissors, are tools made of basic materials that enable us to achieve more complex things.

So, since we have server-side languages like PHP, Java, Python, Ruby, C#, some big names or communities have written corresponding Web frameworks.

  • PHP: ThinkPHP, Laravel, Symfony, Zend, Yii, etc.

  • Java: J2EE, the old famous Java framework. The very hot Spring framework.

  • Python: Django, Flask, Tornado, Web2py, etc. Python’s flexibility makes Django and Flask easy to use, and the resulting sites are beautiful to look at.

  • Ruby: Ruby on Rails, based on Ruby, many programmers choose between Python and Ruby, which are both really good programming languages. But Ruby is on the wane.

  • C#:ASP.NET. Microsoft products, but also the old frame.

As with server-side programming languages, we can’t say which of these frameworks is best, but only if you use them appropriately.

Our different server languages have corresponding Web development frameworks, and using the corresponding frameworks saves us from “reinventing the wheel.”

Reinvent the wheel — reinvent the wheel — recreates a basic approach that already exists or has been optimized by someone else. The term is often used in software development and other engineering fields. The word comes from the fact that the wheel was invented by human beings and brings many conveniences in all aspects. Since the wheel had already been invented and had no defects in its use, there was no point in reinventing it as a waste of time and a diversion of researchers’ resources from more meaningful and valuable purposes.

Content Management System (CMS)


Content Management System, English is Content Management System, abbreviated CMS.

For content management, the industry has not a unified definition, different organizations have different understanding.

With the enrichment and development of network applications, many websites often can not quickly follow up the pace of a large number of information derivative and business model change, often need to spend a lot of time, manpower and material resources to deal with information update and maintenance work;

When the website is expanded, the work of integrating internal and external networks and branch websites becomes more complex, and even need to rebuild the website; As such, users are constantly upgrading and consolidating in a cycle of high cost and low efficiency…

Content management system CMS arises at the historic moment in order to effectively solve the common problems and needs in user website construction and information release.

CMS software is the biggest advantage of the website content management, it is perfect process, rich functions, can classify the manuscript and authorized to legitimate users to edit management, and do not need users to understand the difficult SQL grammar.

CMS is easier to use and more accessible than frameworks. You’ve probably used Dreamweaver before, but it’s not a CMS, but it’s been around for a long time.

But when CMS came out, Dreamweaver became too cumbersome.

With the Framework, you still need to program. For example, with Python-based Django, you’ll still need to write some Python code yourself. With a CMS, almost no programming is required and you can easily build a website without any programming experience.

Well known CMS are WordPress, Joomla! And Drupal, which allows you to quickly become webmaster and “cool” in minutes. Of course, in addition to these three foreign CMS software, there are many CMS software in China now, we can search the Internet by ourselves.

WordPress

I highly recommend CMS. Very simple, suitable for beginners, especially not programming friends. Build a website in minutes, plugins are plentiful, theme templates are plentiful, and community support is strong because there are so many people using WordPress all over the world.

WordPress official website: WordPress.com

Joomla!

The Chinese translation of jiong la is also very interesting. Not as well known as WordPress. But it’s more customizable than WordPress and harder to get started with. Some programming experience is preferred before using Joomla.

Joomla makes it easy enough for designers to create new templates, so more designers are willing to create Joomla templates instead of Drupal.

Joomla! Official website: www.joomla.org.

Drupal

I’ve only used WordPress and Joomla! . Drupal is also said to be a great CMS.

If you like to write and explore programs, or if you like to customize a piece of functionality, Drupal is a great choice for you. Drupal is one of those programs that makes it very easy to do secondary development. Compared to other CMS systems, Drupal is clearly a good security, so it has won the favor of many users.

Drupal website: www.drupal.org.

summary


  1. If you want to create a blog that you can easily install by hand and change templates as easily as you change clothes, WordPress is definitely the place to go. I’m also a big fan of WordPress and have used WordPress to build websites.

  2. If you want to build a slightly more sophisticated website (not just a blog), such as a corporate site, gallery, etc., with nice templates, good community support, then Joomla! Would be your first choice.

  3. If you want to create your own functional modules, choose Drupal. Drupal developers are very creative and see updated versions of Drupal almost every month. So, if you want to have a little bit of a challenge in building your own site and be able to build some of the functional modules you need, Drupal is definitely your best bet.

3. Summary


  1. Framework: indicates the Framework. Is an integrated toolset, based on programming languages. Can help us develop the website quickly.

  2. CMS: Content Management System. A simpler tool than the Framework to quickly develop a website, you don’t even need programming experience, you can quickly develop a very good website. The disadvantage is that customization is poor.

4. Notice in Part 2 lesson 4


That’s all for today’s lesson, come on!

Next lesson: Web exploration trip | the second part of lesson 4: database


My name is Xie Enming, the operator of the public account “Programmer Union” (wechat id: CoderHub), the moOCs elite lecturer Oscar, and a lifelong learner. Love life, like swimming, a little cooking. Life motto: “Run straight for the pole”