你好! 👋

任何事业最困难的部分往往是开始。而看起来你成功了。祝贺你!

从这里开始,我们在学习一般的编程,特别是No-Code(无需学习复杂的编程语言就能创建程序)方面还有很长的路要走。但首先,值得对基本术语有一点了解。

如果你已经是一名IT专业人士,请随意跳过这个介绍性模块。这里我们将处理最基本的概念。应用程序、前端、数据库、HTTP协议,等等。

准备好了吗?我们开始吧!


一般理论

编程基础知识

计算机,虽然看起来很聪明,但本质上是不能自己做任何事情的。它们需要明确的指示。甚至有这样一个老笑话--"计算机不做你想做的,而是做你命令它做的"。

事实证明,"编程"从广义上讲--它是为计算机创建明确和可理解的指令(命令)。而用计算机可以理解的语言编写的指令本身就是一个 "程序"。

这里值得强调的是 "计算机可以理解的语言"(计算机可以理解的语言)这句话。事实上,我们说的是一种语言,而计算机说的是另一种语言。它不理解人类的语言(至少在它收到一个能教它理解语言的程序之前)。就像我们一样,如果没有经过特殊的训练,我们不理解机器语言(或机器代码),它可以表示为1和0的序列。

10110100 00111010

完全无法理解,对吗?

为了确保交流,编程语言被创造出来(新的语言也在不断被创造出来)。

有一些语言被称为"低级别"。它们非常接近于机器代码,但命令是以人更容易理解的形式写成的。这类语言中最有名的代表是 "汇编程序"。

下一个阶段是 "高级"编程语言。大多数现代编程语言都属于它们。Java、C++、Python、Go和许多其他语言。它们是为程序员的速度和使用方便而设计的。同时,这种语言中的一个命令可以转化为机器代码中非常复杂和漫长的命令集。

而这里有一个新的术语--"翻译器"。这正是将用高级语言编写的文本翻译(或编译)为一组机器指令的工具。同时,我们不应该担心(或应该更少担心)所有的计算机都是不同的,它们运行不同的处理器,而这些处理器使用不同的指令集。翻译器将为我们做这项工作。

AppMaster平台属于无代码平台。它可以安全地称为发展的下一个阶段。有了它,不需要学习任何编程语言,不需要编写复杂的代码,就可以创建企业级的应用程序。这就是我们在本课程中要做的。事实上,使用清晰的视觉块,我们简单地描述需要做的事情。然后AppMaster.io技术就已经开启,它们自己也会以极快的速度编写代码。

顺便说一下,这些代码是用Go语言(也称为GoLang)编写的。而且,一方面,这是很重要的。毕竟,我们确信我们使用的是由谷歌专门开发的现代语言,以创建高效的程序。另一方面,这也不重要。毕竟,你可以完全忘记那里使用的是什么语言(如果找到了更有效的解决方案,甚至可以用另一种语言来代替),只需专注于创建一个应用程序,而不是其技术实现的复杂性。

在继续前行之前,让我们明确一下。在上面的文字中,使用了不同的术语--"程序"、"应用"。它们是同义词,意思相同。

这里也可以加上 "软件",通常这个术语指的是一组程序(应用程序)。例如,安装在你电脑上的软件。"软件 "一词也可以被认为是一个同义词。

应用程序的类型

有哪些类型的应用程序?让我们试着精简一下,结构一下。

  1. 控制台
    它们也可以被称为基于文本或命令行界面的应用程序。
    顾名思义,这类应用程序没有熟悉的图形界面(虽然可以用假象符号实现,甚至可以添加互动元素),通过向控制台输入文本命令进行控制。
    看起来这种类型的应用程序早已过时了。但事实上,由于对硬件资源的要求较低,它们直到今天也没有失去其现实意义。同时,在许多行业,使用命令行甚至在简单性和易用性方面有一定的优势。

  2. 桌面应用程序
    在计算机上安装和运行的应用程序。
    例如,微软的办公应用程序。Word、Excel、PowerPoint等。
    或者是浏览器,由于它的存在,你可以在互联网上打开网站,甚至可以阅读这篇文字。
    顺便说一下,使用命令行工作的终端也通常是一个桌面应用程序。

  3. 手机
    你很可能有一部智能手机。它使用什么操作系统并不重要。安卓、iOS或一些更罕见的系统。在任何情况下,你在智能手机上使用的应用程序都是移动应用程序。
    例如,浏览器、即时通讯工具、游戏或社交网络的应用程序。

  4. 内置(嵌入)的
    这些应用程序(尽管在这种情况下,使用软件一词是正确的)更难注意到,但它们被用来控制各种设备和器材。
    由于内置软件,打印机处理打印作业,路由器分配互联网,各种设备的运行得到了保证。

  5. 网络应用程序
    与浏览器互动并使用互联网工作的应用程序。
    它们是目前最常见的应用程序类型,我们将在本课程中密切关注它们的创建。

网络应用也有很多类型。让我们来命名主要的几种。

  • 登陆。小的信息页面,你可以填写表格或留下某种请求。
  • 信息门户。这包括新闻网站(例如,雅虎)或体育网站(FIFA)。
  • 互联网商店。从当地小商店到大型国际市场。
  • 社交网络。推特、脸书和许多其他网站。
  • 游戏。从简单的基于文本的游戏到最先进的3D游戏。
  • LMS(学习管理系统)。
  • CMS(内容管理系统)。由于它们,你可以轻松地管理网站的内容,添加新的文章。
  • CRM系统 (客户关系管理)。用于自动处理客户关系的系统。
  • 在线服务。它们的多样性值得单独分类。其中有天气预报服务、搜索服务和银行服务,还有很多很多。

好了,我们弄清楚了应用,我们做了基本的分类,我们把网络应用的类型整理出来。但它到底是如何工作的呢?

在这里,我们得到了非常重要的术语。

前端和后端

最简单的说明是戏剧。我们来到演出现场,看到舞台上的艺术家,我们为他们鼓掌,我们得到鞠躬的回报。同时,我们可以肯定的是,剧院并不局限于礼堂,也不以舞台为终点。在某处缝制服装,在更衣室进行准备工作,在某处导演发出指示。我们看不到这一切,但我们知道它就在那里,如果没有这一切,剧院就无法运作。

以同样的方式,一切都在网络应用中被组织起来。

有一个我们看到的层。当我们打开某个网站时显示的页面。这个页面可能有某种动画,甚至有可以点击的按钮。

这个可见层被称为 "前端"。它包括所有在用户身边的东西。显示在你设备屏幕上的一切。一些你可以看到,甚至可以感觉到的东西。

但与此同时,我们可以肯定的是,一切并不局限于前端。毕竟,即使是前端本身,最近,既不在屏幕上,也不在计算机的内存中。当我们决定打开另一个网站并在浏览器中输入其地址时,它就出现了。

我们提出显示该网站的请求,并收到一个回应。它有哪些块,它们位于哪里,它们看起来如何,使用什么字体。我们按下一个按钮,命令就会转到服务器,计算一些信息,发出一个答案,并提供一个解决问题的方法。这种请求和响应系统,即请求-响应,是所有网络应用工作的基石。

互联网上的请求进入服务器,进入我们看不见的那一边,即 "后端"。同时,请求本身也包含某些信息,它有一些参数。基于这些信息,后端决定发送哪种响应(或者它可以礼貌地点头,确认收到请求,但不传输任何更多的数据)。

数据传输协议本身被称为HTTP--超文本传输协议。你可以在浏览器地址栏的开头看到这4个字母。这通知我们,互动将使用HTTP协议进行。我们可以说,双方同意用什么语言进行交流。

而且,不要被它的名字所欺骗。事实上,在互联网诞生之初,该协议是专为超文本而设计的。也就是说,带有链接的文本,有能力进入另一个页面,获得另一个文本。现在,它允许你传输任何数据:有趣的图片、歌曲、Tik-Tok的舞蹈视频。

在本课程的其他模块中,我们将详细处理请求和响应的结构。我们将创建带有响应的请求,以及处理这些请求的逻辑。在这个阶段,了解从前端向后端传输数据的原则就足够了,反之亦然。

顺便说一下,数据本身并不是通过魔术出现的。请求在前台的出现很容易理解--你自己输入的。但为了向你传输信息,你需要以某种方式组织其存储和处理。

为此目的,"数据库"(DB)发挥作用。它们以结构化的形式存储数据。还有一些管理这些数据的系统--DBMS(数据库管理系统)。它们允许你向数据库写入新的数据,从那里获得数据,改变它,删除它(所有这些都用缩写CRUD表示--创建、读取、更新、删除)。我们还将在未来的模块中详细研究这一切。让我们弄清楚什么是一般的数据库,它们的工作是如何组织的,以及在AppMaster中管理它们是多么容易。

在实践中尝试一下如何?现在是时候做第一个...


家庭作业

你需要启用终端,以便用命令行工作。在Windows上,所需的应用程序被称为CMD,在MacOS上--终端。

使用curl控制台应用程序(如果它没有安装在你的计算机上--修复它)。它被专门设计用来向一个特定的服务发送请求并从那里接收响应。

作为一个例子,向BoredAPI服务发送一个HTTP请求。这是一个可以为所有场合拾取一个活动的服务。

要做到这一点,在终端输入以下命令。

curl "http://www.boredapi.com/api/activity?type=diy"

请注意,该地址可以有条件地分为两部分--问号之前和之后。

第一部分是请求地址本身。在这个例子中 - "http://www.boredapi.com/api/activity"

第二部分是请求参数。在这个例子中--"type=diy"。也就是说,查询参数是数值为 "diy "的 "类型"。因此,我们表示我们想得到这样一个你可以自己做的活动(diy - Do It Yourself)。

看看收到了什么回应。在其中找到你需要的信息。在进一步的模块中,我们将详细分析回应是以什么形式出现的,它包括哪些内容。在这个阶段,我们只需要明白,这正是来自后台的请求的响应,在它被逻辑地处理和漂亮地显示在前端之前的样子。

查阅该服务的文档(http://www.boredapi.com/documentation),自己用不同的参数做一个更复杂的请求。例如,找出什么活动适合一个有5人以上但少于10人的公司。

为了巩固材料,试着掌握一项更复杂的服务。例如 - https://www.alphavantage.co/

阅读文件,从数据库中获取汇率或股票报价。

在使用之前,你必须注册并获得一个个人访问密钥。