一直想介绍这个题目,但顾虑重重。一方面担心自己为了面面俱到,迷失在对细节的纠缠中,另一方面,也担心读者的知识背景不尽相同,阅读过程中会止步于某个陌生的环节,半途而废。
我们的目标是用App Inventor编写一个名为“单词本”的安卓应用,在应用中访问关系型数据库中的数据。这里以八个小节的篇幅介绍应用的实现过程。
前端与后端(Front end Vs Back end)
后端技术
初识Node-RED
消息对象
安装SQLite数据库模块
操作SQLite数据库
创建服务器端程序
在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语言编写程序,实现对关系型数据库的增删改查操作。
== 未完待续 ==
领取专属 10元无门槛券
私享最新 技术干货