Access用户如何借助低代码转型为Web(B/S和移动端)开发?

转载自accessoft论坛,讲了一个Access开发者如何转型成为低代码开发者的心路历程,希望对还在做Access的朋友有所帮助。

原文标题:廉颇老矣!我为啥要抛弃Access?

我是一名企业软件的老兵,曾经用Visual Studio做过一些开发,后来转型用Access为小型的企业客户做系统的开发和维护。随着时代的进步、技术的发展,我逐渐意识到Access已现疲态,咱们Access开发者该何去何从?经历了很多尝试,我最终做了技术转型,和大家分享一些经验。

Access究竟是什么?

Access出生在1992年,1994年加入Office 4.3 Pro,成为Office的一个重要组成部分。但是与其他Office产品不同,Access集数据库和集成开发环境于一身,通常用来开发业务系统,而不是直接拿来存储数据。

因其界面友好容易操作,与微软Office系列办公软件集成能力强等优势,Access能大幅提高了使用者的工作效率,轻松实现在数据表中嵌入位置、声音、Excel表格、word文档等各种对象,还可以用来构建动态的数据报表和窗体等。在软件开发技术尚未取得实质性突破,可视化编程方兴未艾的20世纪末,Access一经问世,便以实用性、灵活性的优势,赢得了企业系统开发者的好评。

这其中,就包含了我。我是从Access 2003开始上手的,Access 2007发布后不久,就从mdw派坚定的转向accdb派。除了上面粘过来的那段,Access最能吸引我的,还有能以链表的方式打开各种Excel文件,格式化文本等存储有其他业务数据的文件。这让我可以用操作数据库的方式,以SQL语言对各种数据进行查询处理。此外,我还用Access访问后台的SQL Server数据库开发,开发过前台客户端;也拿Access当数据库,用C#开发过应用。总之,在我的印象中,只要学会Access,能干的事情真实太多了。

很多像我一样的“Access程序员”使用这个工具开发了大量的企业应用,随着时间的推移,Access的技术限制也逐渐浮出水面。

Access尚能饭否?

谈到Access的技术限制,首当其冲是性能问题。当数据库达到100MB以上尺寸,或单个表中的记录超过百万行时,性能就会变差,基本上处于“不可用”状态。

运行环境也是Access的短板。使用Access开发的应用要求用户必须要安装Access,在国内推动正版化的大背景下,成本非常高。而在企业软件B/S化和移动化的时代,Access却只能安装在PC端,不支持浏览器和移动端使用,也是Access的硬伤。

开发语言方面Access也面临不小的挑战。Access的开发语言是VBS,语法和技术上和VB一致,属于非常老旧的开发技术,已经被行业所抛弃。社区的凋敝,让解决方案和学习资料日渐老旧,难以应对目前主流的应用场景。我的感受是,身边做Access的人越来越少,被“招聘难”、“培训难”困扰的朋友越来越多。

解铃还须系铃人,能够让Access突破上述限制,持续进化的只有微软。然而,据微软官方发布的消息,微软将于2020年末停止维护Access。使用Access开发企业应用的我们将何去何从?也许,是时候走出舒适区,寻找Access的替代品了。

低代码,Access的最佳替代品

当我把视野从Access移开,寻找能够快速开发企业应用的技术方案时,低代码便浮出了水面。“低代码”是 Forrester Research 于 2014 年提出的概念,指一种主要应用于企业信息化领域的快速开发技术。借助低代码,开发者无需编码即可生成企业应用的常见功能,少量编码能开发出更多扩展功能。

这是一个高速发展的领域,吸引了太多人的关注,一如当年的Access。从媒体报道上看,低代码与Access非常类似,都是为企业应用开发而生的技术,使用者也同样介于业务人员和专业程序员中间,即懂一些技术,但缺乏专业的编程训练(我悄悄点一下反对,但你懂的)。

然而,当我从百度上搜索低代码,想要了解更多产品时,却发现事情似乎没有那么简单。百度的搜索结果中充斥着大量的广告和推送信息。这些信息来自参差不齐的低代码厂商,其中还存在相互矛盾的情况。我花了几天时间,看了大量的页面,并尝试了一些产品后,终于在鱼龙混杂的低代码开发工具中找到了最适合Access开发者转型的选项。下面我将分享一下我是如何评估这些工具的,供Access开发者们参考。

如何选择一款低代码工具?

在寻找Access替代品的过程中,我给自己制定了一套标准,期望能选出一个更专业的平台,用的技术一定要是主流的,不能再走从入门到放弃的老路。这套标准的核心是以下四点:

1. B/S架构,支持在浏览器上使用,能支持移动端

2. 能直接设计和操作数据库,有足够的可控性

3. 开发效率不能比Access低,做复杂逻辑时使用主流的语言,可以能接受放弃VB

4. 现有的Access数据要能复用,简化导入流程

此外,还有一个“加分项”:协同开发。Access不支持协同开发,我之前做的很多项目都是“一个人的战斗”,做起来很累,而且因为没有人可以查漏补缺,失败率也比较高。我希望新的功能能够支持团队开发,即使一些复杂项目,也可以快速搞定。

综合考虑厂商的知名度、官网的介绍内容,我选择了5款产品进行深度了解,最终结果如下表,也许不全面,见谅。

基于这些信息,我的初评如下,供大家参考。

PowerApps:微软官方推出的Access Web应用替代品。产品功能全面,如果不是因为不支持私有化部署(绑定Azure云服务),而且不支持导入现有Access数据库,我也许会将其作为首选。

活字格:拿奖无数的产品,中软协的行业报告都是和这家联合推出的。产品的设计思路和编程语言选择上和PowerApps接近,做出来的系统是标准的前后端分离架构,每一层都支持编程扩展,看着很专业,学习曲线可能比较陡。与PowerApps相比,活字格支持私有化部署,还支持从Access文件导入,优势很突出。

iVX5:之前叫iH5,有十几年的历史,在H5页面设计器领域很出名。iVX5偏重于做移动端应用,开放性偏差,自己弄了一套“编程语言”,和主流做法的差异较大。大约应该更适合业务人员拿去做一些简单场景的小应用,比如做个问卷调查啥的,很难搞定ERP甚至MES这种复杂项目。

宜搭:阿里巴巴的开发工具,自带光环。产品整体上偏向于toC,不支持操作数据库,开放性比iVX5还差一些。和iVX5类似,宜搭的应用场景也比较有限。

魔方网表:这个产品在很多互联网社区上做宣传,是最早出现在我面前的低代码产品。我一开始对其寄以厚望,然而期望越高失望越大。B/S页面粗糙且不能自定义,不支持操作数据库,没有编程接口。我感觉这款软件更像是Excel,与“开发工具”的格格不入。


经过初评,活字格和我的需求匹配程度最高,顺利进入试用评估环节。好在活字格支持免费试用,而且还有负责技术支持的小姐姐帮我远程解决问题,给我的评估工作带来了不小的便利。顺便提一句,小姐姐的声音好听,技术能力也非常强,绝不是花瓶,应该有很多年的项目开发经验。

面向实战的技术评估

为了确保活字格真的能担起替代Access的大任,我决定花几天时间,去学习如何用活字格开发出WMS系统中的出库功能,在开发过程中评估产品功能。之所以选择这个功能,是因为我最近用Access连续做了几个库管相关的项目,对需求场景的印象也最为深刻。

正式动手评估之前,我看了几部活字格的入门视频教程,了解到活字格分为设计器和服务器两部分。设计器和服务器,就像Visual Studio和IIS的关系。我使用设计器开发应用,然后发布到服务器上,最终用户拿浏览器访问就可以了。

1. 设计数据模型

使用Access开发过应用的人都知道,做系统的第一步是设计表结构,我想用活字格也不例外。打开活字格设计器的一瞬间,我感觉这就像是Excel和Access的合体,数据表的设计方式与Access类似,可以在同一个页面上设计表结构、修改数据;甚至能在表的设计页面上,直接通过关联字段设置外键关系,而不需要打开关系视图。


虽然活字格支持使用外部数据库,比如SQL Server和MySQL,但是我这次的重点是对活字格进行评估,所以直接用了内置的数据库。10分钟不到的时间,本次技术验证用的表和关系就创建完成了,轻车熟路。

2.  设计页面布局

在设计页面的时候,活字格的体验方式更像是Excel,在格子上画出页面元素,然后把表中的字段绑定到页面上就可以实现数据的展示和修改。我很难准确地形容三两下就拖拽出一个页面,点击运行按钮后,和设计器中一模一样的Web页面展现在眼前的感受,非常的震撼。这不就是我最想要的B/S系统吗,得来全不费工夫嘛。


趁热打铁,我在一个小时内就画出了技术验证所需的全部页面。与Access不同的是,窗体、查询和报表在活字格中统一成了“页面”:我在页面上放和表里字段对应的输入框,就成了窗体;放一个表格,拖上对应的字段,就变成了查询;再放一些图表,向Excel一样配置数据源后,就有了报表。虽然要花一些功夫来做这些页面,但是设计体验非常顺畅,也很灵活。有了格子线的参考,我很容易就做出了整齐美观的界面,比布局视图要方便很多。除了页面布局,在页面上还能直接使用Excel的公式进行逻辑判断和简单的数据处理,功能非常强大。

3.  实现业务逻辑

在用Access做开发时,布局工作完成后,我就会切换到设计视图,为按钮开发对应的事件。Access的事件对应了活字格中的命令。活字格内置了很多命令,有些在页面上运行,比如页面跳转、简单的数据表增删改查等,有些在服务端运行,比如有事务性要求的数据处理(终于可以支持真正的并发了)。配合上Excel公式,做页面跳转、数据过滤、逻辑判断和数据处理等操作都很便利。按照教学视频中讲的,命令是活字格最核心的功能,编程接口也是基于命令机制扩展出来的。直到最近交付了第一个应用,我对活字格内置的命令还没有完全吃透,大半的命令都没有用过。慢慢来吧,技多不压身。

下面是我整理的Access和活字格的重要概念对照表。有了这张表,我相信你也可以和我一样,快速上手活字格了。

参考了活字格内置的模板,我大约用了半天的时间就开发出了WMS系统的出入库模块,其中出入库部分还通过服务端命令启用了事务,支持了真正意义上的并发操作。回想起自己当年新上手Access时的状况,活字格的开发效率远超我的预期。

4.  发布成Web应用

这一步是Access开发中不涉及的。与Access设计和使用“在一起”的模式不同,使用后活字格开发的应用是一个B/S站点——这也是我最看重的一点——我还需要将其发布在服务器上才能提供给最终用户访问。我的服务器是阿里云上的ECS主机,在上面安装了活字格服务器并开启了22345端口后,我在设计器上输入IP地址等信息后,一键就将应用部署到了云端。看来活字格的生产力不止体现在开发阶段,运维方面也很给力。


5. 提交到代码库

在评估的最后,我按照帮助手册的说明,在码云上创建了Git项目,然后将活字格的工程创建为协作工程,代码上云后,多人协作和版本管理与专业的编码开发没有任何差别。这也算是我评估过程中的意外之喜吧。因为没有和其他人一起评估,也就没有深入体验这个功能。

从Access到活字格

这次技术评估,让我相信活字格已经完全可以替代Access,成为企业开发工具的升级版。随后,我就使用活字格交付了一个WMS系统。项目的成功交付,也印证了这一点。这个项目称为“WMS系统”其实有些夸张,它更像是一个模块,外挂在用友U8 ERP的数据库上。库管员在手机上做出库,系统打印出运单、随车单等单据的同时,自动生成出库单并写入U8的SQL Server数据库,再配套对应的数据管理和报表展示就是应用的全部。这是一个移动端(出库操作)+B/S网页端(管理、单据打印和报表展示)的项目,在之前我是没法承接的。有了活字格,搞定这些都变得很容易。我的实际投入甚至少于用Access开发单纯的单据管理、打印和统计报表功能,相当于移动端的费用是“净利润”。因为客户有要求,我就不展示系统的截屏了,放一个网站搜到的库管PDA,我做的B/S系统就是在这样的设备上运行。

总结一下,如果你和我一样,一直做着Access的开发工作,正在纠结该如何转型,那就来了解一下火爆的低代码技术吧。也许有更好的方案,但我觉得活字格已经是一个不错的升级选项:Access能做到的,活字格都能做;Access做不到B/S和移动端,活字格也能做,而且开发效率不输于Access。值得一试哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343