谈AppCube对TypeScript的使用

举报
DP9527 发表于 2020/06/01 17:07:54 2020/06/01
【摘要】 说到代码,终于到我TypeScript登场了,这个语言可能有些小伙伴比较陌生,在国内,比较被大众熟知的语言有C/C++/JAVA/HTML/CSS/JavaScript/Go/Python,移动新秀Kotlin/Swift,甚至基本退出历史舞台的老大哥PHP都比TypeScript的受众更广。实际上TypeScript同样出生名门-微软,而且获得了另一个巨头Google的倾力支持,从而让他在海外开

 

华为自己的低代码开发平台应用魔方AppCube最近在紧锣密鼓的准备云上的公测版本,而他的前身AppEngine更是从19HC大会作为数字平台开发使能的一部分开始面向企业小伙伴们开始免费的试用,截至目前也举办了很多场的体验活动和沙龙。

AppCube作为开发使能的主要角色,它主打的亮点是两个:低码/无码开发、行业资产沉淀,针对这两个部分,企业公众号也做过详细的阐述,此文会进行简单的传针引线,主要还是给大家讲解针对低码中的编码使用到的TypeScript语言及它的选择背景。

我们先从大家比较熟悉的概念MVC入手,MVC作为大家最熟悉的软件设计典范,它的兴起是随着软件功能的不断堆砌,功能的一次性编码完成基本变为了不可能,而且随着代码规模的不断累积,无层次的代码对维护简直是噩梦。AppCube平台当然没有改变这个典范,它只是将模型、视图、控制器分别采用了三个概念来实现,而且对于这些概念尽量提供拖拉拽和可视化的开发方式,如对象>模型;视图>标准/高级页面;控制器>脚本/流;

 

 

一言不合就上图

从上面的图和大家丰富的开发经验也能看出,对象的结构比较简单、页面的偏重渲染且框架性较强,这两个部分拖拉拽和可视化开发对常用场景的覆盖度是很高的,而对于处理逻辑多变的控制器,流可以解决基本的操作和拖拉拽的逻辑顺序,但是很多具体实现就要用到脚本了,那么脚本就当之无愧成为AppCube低码化开发中代码较为多的部分。

蹬蹬蹬,说到代码,终于到我TypeScript登场了,这个语言可能有些小伙伴比较陌生,在国内,比较被大众熟知的语言有C/C++/JAVA/HTML/CSS/JavaScript/Go/Python,移动新秀Kotlin/Swift,甚至基本退出历史舞台的老大哥PHP都比TypeScript的受众更广。实际上TypeScript同样出生名门-微软,而且获得了另一个巨头Google的倾力支持,从而让他在海外开发者中的地位直逼Python,我们要知道,TypeScript作为2014年才发布的语言,有这种热度基本奠定了未来TOP语言玩家的地位。

TypeScript面世初期,它的设计定义是JavaScript的超集,说到这边,前端开发的小伙伴应该有了个基本认识,前端开发、业务处理,但可能有疑问,JavaScript作为大家超喜欢的、地位无可动摇的前端开发语言,为何TypeScript可以面世?

JavaScript本身设计是轻量级解释性脚本语言,无需编译,现在浏览器全部支持JavaScript的执行,不依赖硬件、语法简单、弱类型、事件驱动,与XMLRest API完美融合,一切大家能想到的好处似乎他都占了,可以说在互联网领域独孤无敌也不为过,江湖老大能有什么缺点呢?是的,灵活的弱类型,没有类(继承、重载)!这个导致了一个大问题,面对现在动辄上万上十万的代码行,管理困难、可读性差、对象没有校验、管理机制,甚至杞人忧天的说,它不具备大规模团队协作开发的基础。

TypeScript在对JavaScript语法全兼容的基础上,又增加静态类型、类、模块、接口和类型注解,同时提供了编译器将TypeScript语言编译为JavaScript以适应前端的使用,很快就得到了很多大型公司的关注。而在得到了AngularReactVue.js的支持后,慢慢的TypeScript也摆脱了前端语言的范畴,逐渐在后端开发中也展露了头角。

华为应用魔方AppCube低码开发平台的脚本实现正是后台逻辑判断,选择TypeScript作为代码语言,可以更快的让广大前端开发者适应后端编码并成长为全栈开发者;而由于TypeScript支持强类型和继承、重载,让广大后端开发者在切换语言的时候基本没有太大的不适应感,博主我很早以前是JAVAORACLE的搬运工,在某个优化项目中被安排了前端逻辑的编写,当时用JavaScript写过数组都蒙圈半天,到现在都记忆犹新。

好了,话不多说,各位小伙伴如果对技术有兴趣的也希望大家多多拍砖讨论啊~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200