wex5 教程 前端UI编译原理与记事本编辑

一 前言

wex5页面,与html页面有何差异?两者之前的关系是什么?是如何完成转译的?

能否像编辑html那样用记事本来修改w页面?

wex5前端UI在云部署后能否在云端进行二次编辑,而不需要在wex5编辑器里修改后再次上传??

带着这些问题,重新认识wex5的UI设计与编译原理,有助于我们分离前端开发。

二 页面结构分析:

wex5页面由w.js,css三个页面构成,具体功能与对应关系如下:

三 编译后页面结构

1 在公有云部署时,要将wex5页面进行编译,得到部署需要的Native下的www包。

2 index首页分析

编译后的页面,自动生成一个index.html页面,这里主要是对url进行了跳转前的拼接和判断。相关功能进行了注释。

从中可以看出:

页面跳转前的等待时间,正在努力加载中...... //此处为页面跳转前的提示,可以更改。

window.location.search; //浏览器地址栏里的值会进行取值判断,拼接相应的参数

window.location.hash;//浏览器地址栏里的值从第2个字符取出+设定页面标签值作为url,用location.hash方法使页面具有前进后退能力

2 w页面转译结构:

从中可以看出,w文件又转译成了html和js两个文件

html页面内容

分别对多个页面展开分析:

index.w.html

从中可以看出,所有w页面中相关的页面展示组件与内容进行了标准html5编制译。

index.w.js

w页面中的组件,由组件包构成,通过w.js文件件引入到UI包中,再通过html页面调用wex5提供的组件。

结构如下:

组件包在UI编译时就进行了封装。

由此可以看出,w页面本身不具备浏览器展示能力,需要w.html和展示和w.js的组件调用才能在浏览器中展示。这实际上是说,w页面的展示需要一个小型web应用来完成!!!

正因为如此,我们的w页面在wex5中编辑后必须通过tomcat启动才能正常浏览。

神一样的逻辑,运行一个页面要启动一个web应用来解释运行。

这显然与html的编辑后直接浏览运行差异巨大。

如下图,本来很小的html页面变成了20M的web应用。这是之前没有想到的。

3 主页分析:

首页中主要是页面跳转和映射,在主页中会有大量的组件。

先看w.html

与index.w.html一样,所有展示的组件进行了html标准化的编译。

不同的是,data组件出现在了w.js文件件中

由此可见,data组件在w文件编译过程中,不能进入到html页面中,需要放到w.js文件中,由w.html进行引用。

在w.js中,data组件可以进行修改。比如刷新条数:

经过云端测试,直接在云端修改w.js中的data里的limit的值,可以在前端测试到加载条数发生了变化。由一次加载变成了一次加载6条数据.

4 其它js和css文件没有编译,与标准js和css相同。

四 总结:

1 w页面由w.html和w.js组成的小型web应用来执行,依赖于组件包,必须依赖于tomcat应用服务器才能正常浏览。

2 编辑后的w.html是页面展示部分,w.js是data组件部分。可以用记事本进行二次编辑。

3 w页面由于编译后的转译层级和组件依赖,执行性能明显劣于原生html.

4 data组件一次性加载数据库表所有字段,对资源消费过大。

5 尽量减少wex5封装组件的大规模使用,比如windowContainer,尽量提高页面的性能和速度。

6 所有页面最终表现为w.html,w.js.js,css四个文件,基于此实现了跨平台。

7 基于编译后的标准html,引入codova,加入app打包工具,实现了一次开发,多平台app打包。

如果是初学者,或者只是进行web开发,对wex5页面的原理有清晰的认知, 有助于正确分析页面的流程和选择。

相关视频制作完成,上传优酷。教学app制作中。我是邯郸戏曲开发,tel:15175073123,qq:1017945251

时间: 2024-12-25 17:02:17

wex5 教程 前端UI编译原理与记事本编辑的相关文章

前端与编译原理 用js去运行js代码 js2run

# 前端与编译原理 用js去运行js代码 js2run 前端与编译原理似乎相隔甚远,各种热门的框架都学不过来,那能顾及到这么多底层呢,前端开发者们似乎对编译原理的影响仅仅是"抽象语法树",但这只是个开头而已,我们的目的是利用js直接运行js代码 项目地址 安装及使用方法 写这个干嘛,有现成的eval不香么 接触过微信小程序开发的同学或许知道,小程序为运行环境禁止new Function,eval,setTimeout等方法的使用,限制了我们执行字符串形式的动态代码,其他小程序平台对此也

大前端开发者需要了解的基础编译原理和语言知识

转自:https://yq.aliyun.com/articles/180879 在我刚刚进入大学,从零开始学习 C 语言的时候,我就不断的从学长的口中听到一个又一个语言,比如 C++.Java.Python.JavaScript 这些大众的,也有 Lisp.Perl.Ruby 这些相对小众的.一般来说,当程序员讨论一门语言的时候,默认的上下文经常是:“用 xxx 语言来完成 xxx 任务”.所以一直困扰着的我的一个问题就是,为什么完成某个任务,一定要选择特定的语言,比如安卓开发是 Java,前

前端工程师为什么要学习编译原理?

转自:https://zhuanlan.zhihu.com/p/31096468 前言 普遍的观点认为,前端就是打好 HTML.CSS.JS 三大基础,深刻理解语义化标签,了解 N 种不同的布局方式,掌握语言的语法.特性.内置 API.再学习一些主流的前端框架,使用社区成熟的脚手架,即可快速搭建一个前端项目.胜任前端工作非常容易.再往深处学习,你会发现前端这个领域,总是有学不完的框架.工具.库,不断有新的轮子出现.技术推陈出新,版本快速迭代,但万变不离其宗.工具致力于流程自动化.规范化,服务于简

前端要以正确的姿势学习编译原理(上篇)

转自:https://zhuanlan.zhihu.com/p/36301857 前言 最近在我的 timline 上面出现了很多类似<前端为什么要学编译原理>这类文章以及<前端怎么学AST>这类的问题,但是却发现并没有人给大家介绍前端要如何以系统并且正确地学习编译原理,所以我就结合自己的经验以及走过的弯路来给大家分享点心得和经验,希望能让大家少走点弯路. 最后我并不是前端,只是恰好会写点 JavaScript 而已. 目录 上篇: 编译原理为什么难 怎么学好编程语言 代码到底是什

大三开学第一天--编译原理和人工智能的初步入门

开学的第一天,学的都是入门,所以知识比较少,但是我还是会整理出来.因为是开学第一天,事情比较忙,知识没有得到很好的消化和了解,所以今天只作初步了解,过几天会找时间重新整理,具体化. 编译原理第一课: 编译器:编译器是一种语言处理器,可以将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”.通俗的讲,就是我们目前所使用的高级语言,如C++,java,都是易于人们理解和编写的.但是对于机器来说,只能看懂机器语言(即汇编语言,属于低级语言).所以,人们用高级语言写出来的代码,首先要经

最全的资源教程-前端涉及的所有知识体系

https://github.com/AutumnsWind/Front-end-tutorial 资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 免费的编程中文书籍索引 前端书籍 前端免费书籍大全 前端知识体系 免费的编程中文书籍索引 智能社 - 精通JavaScript开发 重新介绍 JavaScript(JS 教程) 麻省理工学院公开课:计算机科学及编程导论 JavaScript中的t

实况:《编译原理》期末考试一天复习

大学的编译原理课程是讲解如何设计编译器的.我要做的,是在一学期没怎么听课的条件下,用我对算法的理解能力,和互联网以及身边同学的帮助,来在不足一天的时间中复习完考试所需的所有知识. 我手上有两份可用资料: 复习课上记录的,老师对考试知识点的回顾. 同学总结的,会考的算法的列表. 而现在的时间是晚上6:33,我刚刚看完大约四分之一,明天下午1:10就考试了.由于时间紧迫,我必须对自己的任务有个计划,不能浪费一点时间.这个计划会花去我大概半个小时的时间,但它是一定要做的,否则我一定复习不完. 考试涉及

关于编译原理的一下小见解

编译原理(compiler construction),旨在介绍编译程序构造的一般原理和基本方法,内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 它大致包括两个方面,俗称前端和后端.前端的正式名称其实是 language recognition,工程上也称为 parsing.这实际上是整个计算机理论的一个楔入点.比如说,比较基础的 computation theory,也就是研究四种基本计算模型的理论,就是以 language recogn

学了编译原理能否用 Java 写一个编译器或解释器?

16 个回答 默认排序? RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和解释器.其实用什么语言来实现编译器并不是最重要的部分(虽然Java也不是实现编译器最方便的语言),最初用啥语言都可以. 我在大学的时候,我们的软件工程和计算机科学的编译原理课的作业好像都是可以用Java来写的.反正我印象中我给这两门课写的作业都是用的Java. ===================