Ubuntu Desktop development and production environment construction

Source: Internet
Author: User
Tags ftp client

Ubuntu Desktop development and production environment Building 1 development and production environment

Before the beginning of this section, first define the use of the occasion, no system or equipment is omnipotent, has its advantages and disadvantages, can be in the specific use of the scene, according to their own needs to take it.

    • The main purpose is video entertainment consumption, then the best choice is the ipad
    • The main purpose is Office office, so the best choice is Windows or Mac
    • The main use is academic research or Internet development-related work, then Linux is the best choice.

Before this section, it took a lot of space to emphasize how to beautify and how to install the daily Office applications, in fact, in order to meet the developer's re-development, light office, basic non-entertainment needs and proposed. is built on a number of development environments that are designed as a productivity platform.

2 Server Environment Support
    • Web server
    • Database server
    • File server
    • Version Management Server
3 Text Editor

Under Linux there are plenty of

    • Geany
    • Sublimetext
    • Visual Studio Code

Overall Reviews:

    • Visual Studio Code, which supports Chinese text, can also be adjusted to wrap.
    • Sublimetext, consistent with the operating interface and habits of other platforms
    • Geany can be found directly in the Software center of the Linux system. Small size, fully meet the daily visual editing needs of the text.

The visual text editor is an important application in Linux Desktop , first because the Linux file system is everything text. In addition, the advanced document writing and development work under Linux is largely dependent on text.

4 Documentation and writing

There are several steps to writing a document:

    • Content Preparation
    • Text entry
    • Image material Embedding
    • Paragraph structure layout
    • Overall appearance style adjustment and beautification
    • Document Publishing/dissemination/presentation

Traditional Office users under the Windows system, basically msoffice the full set of WYSIWYG way to complete the above steps, MSOffice for all of the above content has provided a one-stop service, low threshold, only need to be able to familiar with the use of computers, Then learn some of the basic operation of software can be competent for basic needs.

The disadvantage of this method is also obvious:

    • It takes a lot of effort to adjust the paragraph
    • Will take a lot of time to compose and beautify
    • Style and content are completely melted, content migration is poor
    • Single document individual writing mode, not conducive to large-scale engineering documents of multi-person collaboration and specialization Division
    • And HTML is not a perfect fit, resulting in today's internet era of its content produced by the document of the violent brightness has not been high

On the whole, the traditional MSOffice document mode is a kind of offline monomer arranged mode, of course, it is also one of the most easy to get started mode.

Under Linux, it is necessary to update some of the document concepts and use some more advanced documentation for people with geek or those with a certain ability to develop.

The writing of the document below Linux basically follows the steps above, but its toolchain is closer to the developer's mind, turning the steps of the non-content part of the document into a process like writing code. So document writing here is actually becoming a document development . The following skills are required to perform a document dry-hair under Linux:

    1. Organizational capabilities for document content

      Regardless of which platform to use which tool, it is necessary, after all, the presentation of the document is only appearance, content is the core value of the document.

    2. Simple document syntax capabilities

      This document layout needs to include layout information in the input text, so some simple grammatical constraints must be required.

    3. Document compilation conversion Tool chain usage capability

      According to the document syntax, the source file of the document is compiled and converted, and the specified document is generated, mainly html,pdf and so on.

For ordinary non-developers, it is possible that the 3rd is the highest threshold, but there are already some fairly friendly visualization tools, the use of the threshold to reduce the level of ordinary non-developers can also get started.

The main document syntax is as follows (from top to bottom, the difficulty of the syntax increases sequentially, but the function is enhanced in turn):

    • Markdown

      Simple syntax, easy to learn for the vast majority of people and enough, mainly for the content of the flat with a small number of cross-references to the little document writing, through the extremely simple syntax can quickly generate neat documents. Currently on the network of the main: blog/post/mail and other occasions.

    • Restructuredtext

      The syntax is slightly more complex, can handle a lot of complex document requirements, engineering organization and cross-reference aspects have a strong advantage, mainly for large-scale document writing, really close to the code development of thinking and patterns (will be specifically opened later chapters to explain in detail). The main applications currently on the Web: Large technical documents/product introductions and other occasions.

    • LaTex

      Mainly used in the typesetting of scientific and technical papers, grammar is the most complex, generally used for scientific research in academic journals contributions. Applications on the web are still rare. This syntax is the originator of all grammatical documents.

The syntax used for major network writing (the last document to be published on the network) is: Markdown and Restructuredtext. The main development tools for these two writing grammars under Linux are as follows:

    • Markdown
      • Liteide
      • Haroopad
      • Retext
    • Restructuredtext
      • Retext
      • Any text editor +restview tool chain
5 Production development tools

As long as the final operating environment is based on Linux or cross-platform browser development, under Linux can find a good development environment solution, of course, for Windows client program or iOS client program development, Linux appears very weak.

At present, for the development of these three types of programs, there is a good solution under Linux:

    • Service-side Programs

      At present, Linux server is absolutely the mainstream of Internet server, all the mainstream productivity tools that lead to server development are basically the best solution in Linux.

    • Browser-based Web applications

      After the server-side is established, the client is running in the browser, and under Linux it is very supportive of advanced browsers.

    • Android-based mobile apps

      Since Android itself is a Linux-based architecture, it is also a natural option to develop under Linux.

The main development uses and the corresponding production tools are as follows:

  • Front-End debugging
    • FireFox
    • Chrome
  • Code Development tools
    • Pycharm
    • Eclipse
    • Webstorm
  • Android Dev Kit
    • Android studio/genymotion
    • Android adt/genymotion
  • Virtual machines
    • VirtualBox
    • Vmware
  • Version collaboration
    • Git server/client
    • SVN server/client
  • Server
    • Tomcat
    • Apache
    • Uwsgi
    • Nginx
    • Vsftpd
    • Supervisor
  • Network Tools
    • Tcpdump
    • Wireshark
  • Database
    • Robomongo
    • Mysql Workbench
  • FTP client
    • Firezilla

These programs are generally either directly to the official website to download the installation package, or directly in the software source use:

Apt-get Install XXXX

It is easy to complete the corresponding environment construction.

6 Important summaries

Many people think that the development of Linux is only a black window of the console, as follows:


Then the development of the Linux environment generated a sense of fear, in fact, it is not the case.

Linux is essentially the kernel, and then it runs a variety of applications, and the desktop is just an application running on top of the Linux kernel. Since the vast majority of users are accustomed to the graphical user interface under Windows or Mac, the current mainstream Linux branch divides the distribution of Linux files into two versions:

    • Server Edition

      Mainly used for server programs to run. The stability of the system call is emphasized, and the human-computer interaction experience is weakened, and there is no graphical interface, purely relying on CLI command line to operate.

    • Desktop version

      It is mainly used for daily office and Development. Focus on the human-computer interaction experience, integrated with the more powerful desktop desktop applications.

When beginners start, the fear is that there is no interface to the server version, rather than to do the daily work and development of Linux, even if some of the project's production server is under the Linux system, there will still be people Shejinqiuyuan insist on the development of Windows. This often results in manual file path and system environment porting problems.

In fact, there are many mature desktop applications under Linux desktop, especially in the field of development, these desktop applications are no less convenient than windows. For example, the following are some of the main Ides.

Python IDE (pycharm):


Java IDE (Eclipse):

7 Conclusion

What the front end says is basically a summary of what Linux does and what it can do as a productivity device. With these overall understandings, the simple Linux worldview and methodology have been built, and some basic Linux operating system (non-desktop) knowledge can be added to start the Internet development and application journey.

The following will introduce the principles of Linux and its powerful productivity tools and methods.

PS: Some may ask, what is "productivity", here to explain:

According to Engels ' point of view, from the origin, productivity is the ability of the people with the ability to work and the means of production combined to transform the natural capacity.

According to the present secular point of view, in terms of appearance, productivity is to bring you a better life experience and freedom of life things (in fact, I do not want to say "money", too tacky)

Author: Harmo ha mo
Author Introduction: Https://zhengwh.github.io
Qq: 1295351490
Time: 2015-08-24
Copyright Notice: Unlawful transmission for commercial purposes is prohibited without permission
To contact or reward: Http://zhengwh.github.io/contact-donate.html

Ubuntu Desktop development and production environment construction

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.