基于关系型数据库的App Inventor网络应用

一直想介绍这个题目,但顾虑重重。一方面担心自己为了面面俱到,迷失在对细节的纠缠中,另一方面,也担心读者的知识背景不尽相同,阅读过程中会止步于某个陌生的环节,半途而废。

我们的目标是用App Inventor编写一个名为“单词本”的安卓应用,在应用中访问关系型数据库中的数据。这里以八个小节的篇幅介绍应用的实现过程。

  1. 前端与后端(Front end Vs Back end)

  2. 后端技术

  3. 初识Node-RED

  4. 消息对象

  5. 安装SQLite数据库模块

  6. 操作SQLite数据库

  7. 创建服务器端程序

  8. 在AppInventor中访问Node-RED服务

这样多层次、多角度的介绍,其难度是可想而知的。开篇第一件事,就是要划清一个界限,或者说,做一个假设,假设读者已经熟悉了哪些知识,并以此为前提,展开我的讲解。讲什么,不讲什么,界限必须清晰。一旦有了界限,也就有了起点,日后在需要时,也可以对界限以外的内容作必要的补充。

第一节 前端与后端(Front end Vs Back end)

当我试图到网上搜索关于前端、后端的图片时,呈现在眼前的结果令我瞠目结舌,笼罩在我心中多年的阴霾,顷刻间华为乌有。

图1 理解网络应用的前端与后端

俗话说,一图胜千言!作为用户,他看见的是网络上光鲜亮丽的一面,这就是前端,前端给予用户美好的体验。然而在用户看不到的地方,即所谓的后端,暗藏着种种不堪,那些尖锐的刺,无时无刻不在折磨着后端开发者们脆弱的心灵,看图 1中那条鱼的表情,如果你没有做过后端开发,你无法理解那条鱼!

我们用App Inventor开发的应用,就是典型的前端应用。之所以学习编程要从前端学起,是因为相对于后端开发而言,前端开发的不确定因素最小,尤其在有了图形化开发工具以及块语言之后,开发过程尽可以在我们的掌控之中。

不过前端开发也有它恼人之处,那就是要适配各种类型的终端设备,就手机应用而言,要考虑安卓及苹果两大类终端,还要照顾到不同的屏幕尺寸及不同版本的操作系统。对于网页应用而言,要考虑到不同种类的浏览器对网页呈现的差异,等等。

所谓前端,也称为客户端(client),相对而言,后端也称为服务器端(server)。后端开发的复杂性,难以用一两句话解释清楚。

首先后端程序的开发与测试,要依赖于网络及网络服务器,部署开发及测试环境是学习者要过的第一道关。很多人采用开源的LAMP(Linux、Apache、MySQL及php)架构,或WAMP(将Linux替换为Windows)架构。很容易在网上搜到相关的词条,有兴趣的读者不妨搜搜看,这里不作展开。在选择了数据库(如MySQL)及开发语言(如php)后,要设计数据结构,创建数据库、数据表,然后编写访问数据库的脚本(程序),按照前端的需要对数据进行增删改查的操作。在完成了后端程序的编写之后,要为前端的开发者编写调用规格说明及返回数据的格式说明,至此,后端的开发任务告一段落,待前端开发完成后,开始进入前后端联合调试阶段。

本文假设读者已经知晓了服务器架设的相关知识,会使用SQL语言编写程序,实现对关系型数据库的增删改查操作。

== 未完待续 ==

(0)

相关推荐

  • 中台和微服务-核心基础概念阐述

    今天准备再整理一篇文章谈下中台和微服务的基本概念.这篇文章我准备减少配图,重点是通过文字能够把关键的道理讲解明白. 首先还是看下中台的起源. 谈到中台一定会说到阿里提出的大中台小前台的概念,但是阿里中 ...

  • 什么是后端开发?

    软件应用程序就像冰山一样.用户看到的只是应用程序的一部分--在大多数情况下--应用程序的最大部分是看不到的.这就是令人难以捉摸又神秘的"后端". 在Web开发的篇章中,我们主要讨论 ...

  • 对前端、后端和全栈感兴趣的人,建议都看看!18年老程序员给你指点迷津

    一.前端 (1)何为前端 简单来说,前端开发就是开发网页上的内容展示和与用户的交互.内容展示指的是你在网页上能看到的图片.文字.视频.数字等信息,那与用户的交互指的就是用户在页面上通过点击按钮.输入文 ...

  • 一款SpringBoot物流管理项目

    基础开发环境:由于有小伙伴在运行项目时版本号不一致产生的各种问题,这里可以统一下版本号. JDK: 1.8 Maven: 3.5+ MySql: 5.7+ Redis: 3.2 + Node Js: ...

  • Web后端开发框架|WebApi后端主流开发框架介绍

      什么是框架? 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.另一种定义认为,框架是为应用开发者定制的应用骨架或开发模板,一个框架是一个可复用的设 ...

  • 大数据开发学习路线

    磨拳擦掌! 说数据是一个企业最核心的东西之一,我想大家应该都能基本认同吧,毕竟连XXX都说过,这是一个数据为王的时代,谁掌握了数据谁就掌握未来! 怪不得咱这里的小伙伴们个个都磨拳擦掌,都嚷嚷着想从事大 ...

  • GraphQL最突出的架构优势是什么?

    作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势.在 ...

  • 基于关系型数据库的App Inventor网络应用(2)

    第二节 后端技术 1. 网络结构 如图2所示,你一定见到过这类图,它被称作网络拓扑图,描述了网络应用中的几个重要角色以及它们之间的关系.以图中的云(internet)为分界线,云的一端是种类及型号繁多 ...

  • 基于关系型数据库的App Inventor网络应用(3)

    第三节 初识Node-RED 开发环境简介 如图8所示,整个浏览器窗口被划分为四个部分: (1) 顶部黑色通栏,左侧显示Node-RED的LOGO,右侧显著位置为部署按钮,部署按钮的右侧(三条横线)为 ...

  • 基于关系型数据库的App Inventor网络应用(4)

    第四节 消息对象 在上一节的图10中,在设置debug节点的输出(Output)属性时,我们看到了这样的内容: msg.payload 随后我们将其中的payload改为topic.这项操作中的msg ...

  • 基于关系型数据库的App Inventor网络应用(5)

    第五节 安装SQLite数据库模块 SQLite是一款轻型的数据库软件,在Node-RED中使用SQLite数据库,需要安装一个模块.方法如下: (1) 点击系统菜单,选择"编辑调面板&qu ...

  • 基于关系型数据库的App Inventor网络应用(6)

    第六节 操作SQLite数据库 创建数据表 首先创建一个名为word(单词表)的数据表,该表有三个字段,分别为wid.english.chinese,其中wid为整数类型,是数据表的主键,englis ...

  • 基于关系型数据库的App Inventor网络应用(7)

    第七节 创建服务器端程序 对于客户端(前端)程序来说,当它需要访问服务器端(后端)程序时,需要知道两件事:一是请求数据指令的书写方式,二是返回数据的格式,只有这样,才能正确调用后端程序,并正确处理后端 ...

  • 基于关系型数据库的App Inventor网络应用(8)

    第八节 在App Inventor中访问Node-RED服务 手机端的单词本应用将要实现两个目标: (1) 向数据库插入新记录,即,新增单词: (2) 根据英文单词查询对应的中文,或查询全部单词. 在 ...

  • 基于TCGA数据库肿瘤免疫细胞浸润分析流程

    分析基本思路: 1.首先我们应该要知道什么是肿瘤的免疫细胞浸润模式,通过一些什么样的原理,可以用什么样的软件进行分析. 肿瘤免疫细胞浸润是指免疫细胞从血液中移向肿瘤组织,开始发挥它的作用,可以从肿瘤组 ...

  • 技术贴 | 微生太宏基因组报告解读 | 第十一篇:功能分析-基于ENZYME数据库

    本文由阿童木根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 ENZYME收录了7大类酶的四级分类信息.EC编号或EC号是酶学委员会(Enzyme Commission)为酶所制 ...