目录

1 序言

2 编程的必要基础

2.1 变量

2.2 条件判定

2.3 循环

2.4 自定义功能函数

3 命名规范

4 编程过程

4.1 设计过程

4.2 伪代码编写

4.3 创建调试环境

4.4 单元测试与集成测试

5 其它事项

曾经有产品经理使用Axure做个人博客,并在线上发布。Axure到底有多少潜力?能否可以挑战更多的开发项目成为直接上线可用的产品?

笔者正好利用2020年超长的春节假期进行一次探索。为什么会想到要用一款原型工具去做成品?主要原因是所见即所得的编辑过程,让那些需要一定时间学习编程才能完成的工作,由普通人来做学习成本几乎可以不计,而且质量的稳定性更加可靠。如轮播只要简单设置就好,也无需考虑不同浏览器之间的代码兼容性。其次Axure提供了强大的函数库,给于了无限可能。

本次的挑战的工具使用Axure8.0版。项目选择了作者公司中交互较为复杂的移动端商城装修功能。此功能让用户在PC端通过所见即所得的编辑方式,将移动端常见的展示效果,像搭积木一样,组合设置成为用户需要的移动端商城的样式。(如下图:左边,装修组件选择区。中间,实际效果预览区。右边,组件参数设置区。)原型效果图

本次挑战的原型已发布到作者的线上空间。网址如下:

探索过程完成的主要功能:

1. 适用于不同屏幕尺寸的自适应布局框架。

2. 装修组件在预览区中的实时显示。

3. 预览区指定位置插入新的装修组件。

4. 预览区中删除已有的装修组件。

5. 装修组件组件在预览区中位置的上下调整。

6. 装修组件的设置变更时在预览区中的同步。

7. 公用图片选择控件的单选与多选功能。

8. 公用翻页控件。

9. 装修组件“图片列表”功能。

10. 装修组件“视频”功能。

11. 装修组件“标题”功能。

因时间有限,其它装修组件的功能暂未提供,但依据笔者的经验,是可以实现的。如果需要与后台通讯则要外挂JS文件处理其中的数据。

经过这段时间的探索与试验,总结下来,Axure可做一些对文件体积不敏感,交互不复杂的项目。如:CMS,个人博客等展示类的产品。如果需要一些复杂的交互,也可以实现,实现的过程中则需要额外注意些事项,有兴趣的朋友可以了解后面分享给大家的一些探索中的经验。

总结一下用Axure做前端开发的优缺点:

优点:

l 所见即所得的编辑效果。

虽然只有一个优点,但这是很多人的痛点,编程学习的东西很多,从HTML,CSS, JS到放弃。而Axure的工作方式让前端的工作就像画画。

缺点:

l 成品文件冗余。

以本次项目为例,HTML文件:482KB。JS脚本:855KB(其中jquery库162KB),CSS文件62KB,页面数据文件:1270KB。共计2669KB(不含图片资源)。如果把项目中所有功能做完,HTML文件和页面数据文件可能会更大。这也许是Axure为了存储原型描述相关的内容,生产的冗余。

l 执行效率低。

主要发生在数据集频繁大量变更时,会导至页面明显卡顿。而Axure的数据集机制也导致容易出现大量的数据操作。所以笔者只能控制一些界面元件的数量,降低实时同步频率,选择操作间隙更新数据等方法,让卡顿感尽量减少。

l 调试过程繁琐。

工具并没有现成的调试方法,需要规划一个调试空间。有兴趣的朋友可以看后面的单元测试与集成测试介绍。

l 代码碎片化

Axure中所有的代码都写在元件上,这个开始没太在意,但随着项目的进展,影响越来越大最后导致后面几乎进行不下去。最后不得不提出Axure伪代码规范的解决方案。

经过本次探索,笔者认为如果Axure向可视化编程方向努努力,可能会极大的降低前端的开发门槛或改变开发方式。

如何使用Axure完成一些复杂的交互,下面将本次探索的一些经验分享给大家。

Axure编程中必备的基础功能实现

变量

实现变量效果的三种方式

1. Axure全局变量:利用Axure原生的全局变量功能,这种变量所有页面共用,可用在跨页面的数据传递上。

2. 元件文本记录:利用元件的文本记录功能,这种方式保存的变量只在当前页面有效。

3. 数据集(中继器):用于存取复杂的数据,可以当作一个小型的数据表用。由于中继器也是页面元件,所以只在当前页面有效。数据集中的数据可以通过文本元件配合筛选获得或通过筛选配合字符截取完成,笔者推荐前者,因为更直观简单易调试。

条件判定

Axure中每一个元件都可以添加条件判定。但用在模拟功能函数上,多选按钮(checkbox)较为适用,因为选择状态可视有利于调试过程。

循环

通过定时切换多选按钮(checkbox)完成。缺点逻辑严谨差一些,需要注意逻辑并行可能的影响。可以使用禁用或锁定等方式避免影响。

自定义功能函数

通过定时切换多选按钮(checkbox)完成。由于一个元件上承载的功能有限,所以有时需要多个checkbox组合完成,这种方式我们把他称为功能函数组。

命名规范

对于复杂的项目,元件多时间命名规范极为重要。否则再次优化,修改无从着手。规范可以帮助我们看名知其意,也有利于在众多元件中轻松找到需要的元件。

编程过程

设计过程

功能设计图:折分功能,帮助理解流程及流程中各动作的影响范围。

功能列表:记录拆分后的功能列表,帮助你实施时更加有条理,应随着伪代码的编写逐步完善。

功能影响列表:记录功能可能影响到的范围或用户可能的非正常操作列表,并给出对应的解决方案(如有必要可编写解决方案的伪代码),应随着伪代码的编写逐步完善。

伪代码编写

伪代码是将各元件的协作,用简练的文字描述出来的方法。因为Axrue中的功能,都是写在各各独立的元件上的,非常碎片化,对于复杂一些的功能,编辑不直观,思维容易被干扰,后期也不利于梳理和阅读。本次的项目随着元件的增加,几乎到了不可维护的情况。所以需要避免在元件中盲目操作导致越发混乱。同时对于之后的维护,只需要有对应的伪代码,便可快速了解整个全貌,轻松上手。伪代码需要与命名规范结合使用。(本次使用的伪代码规范文档:http://www.yssycm.com/personal/index.php/2020/03/15/axure-pseudocode-specification/)

创建调试环境

调试即是伪代码的实施的过程,按伪代码的内容要求,逐一操作创建对应的元件并赋于对应的功能。

将需要监视的变量,数据集,功能函数组,分类陈列。方便运行中查看错误产生在那。必要时可增加额外功能元件,帮助触发特定的情况。Axure中的等待命令可以模拟编程调试中的断点功能。完成调试后可以只隐藏不删除,便于之后再次修改维护(发布上线的可以删除减少一些冗余)。

单元测试与集成测试

将项目中的功能,依据范围,目的,拆分为相对独立的功能模块,每一个功能模块在独立的页面进行编辑和调试。最后再组装到一个页面中。可以快速定位错误的位置,同时预览调试速度也快。

其它相关事项

l 选择元件的顺序会影响执行顺序,如果发生难已理解的错误,可以仔细查看下顺序。

l 如果能有一个大的宽屏(2560*1440)的显示器将极大提高效率与过程的舒适性。

l Axrue发布后与预览时的图片引用位置是不同的。因为在发布时会把项目所有用到的图片进行总和,无论在项目中引用过几次是否在同一个界面中,最后都只会输出一张,大家共用,一般是输出到第一次引用此图片的页面资源文件夹中,如果项目中有依赖图片路径的操作,记的处理。

l 引入外部的CSS文件可以扩展Axrue的样式功能。

l 引入外部的JS文件可以实现更多的交互或实现原型中的数据与外部系统打通。如果计划要把数据传送到后台,伪代码设计时就应考虑到。

axure命令行_Axure完成前端开发可行性探索相关推荐

  1. axure命令行_Axure变量详解

    以前使用Axure只是停留在元件的布局和简单交互事件的设置,使用得非常肤浅,直到现在有时间静下心来重学Axure,才发现函数和变量的牛逼之处. 以前在做较复杂交互时,为了实现一个效果吭哧吭哧写了一串命 ...

  2. axure命令行_Axure RP Pro 4原创教程:(二)界面与功能

    无论学习什么,打基础是很重要的.关于基础练习,我印象最深的故事是王羲之练习书法的故事,将一池水染黑,需要怎样的毅力?再有就是达芬奇与鸡蛋的故事,一个简单的鸡蛋,达芬奇画了无数次.我相信正是他们的一步一 ...

  3. axure命令行_axure怎么做计算器

    回答: CAD如何使用快速计算器为中的变量区域功能 在CAD的日常使用中,可能会遇到需要用到快速计算器为中的变量区域功能,那么CAD如何使用快速计算器为中的变量区域功能呢?下面教大家一种方法. 步骤一 ...

  4. vscode统计代码行数,前端开发配置、快捷键使用

    1.统计代码行数 使用场景是项目年终统计行数. 实现:在需要统计得文件夹右键"在文件夹中查找" ,后输入筛选得正则表达式 ^b*[^:b#/]+.*$ (注意右边小图标都点亮) 这 ...

  5. 24岁大专非科班转行前端开发可行性有多少?

    我觉得这是完全看自己,为什么这么说呢,就像是学生准备考试,总觉得多一分白费的人,永远到不了60,及不了格.但永远用满分要求自己,永远向着满分准备和努力的人,不管得多少分,我觉得他都会知道自己有哪些需要 ...

  6. AfterEffect插件--常规功能开发--命令行渲染--js脚本开发--AE插件

      AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目里进行命令行渲染功能.源代码如下所示: // Com ...

  7. axure命令行_如何快速学习Axure工具?

    Axure是一款专业的快速建立原型的设计工具,比较容易上手,学习起来也不会很复杂.大家在刚开始接触Axure时就能发现,Axure文档中有基础操作命令介绍,可以根据其文档内容进行初步地学习.另外,大家 ...

  8. Arduino CLI命令行ESP32开发环境搭建(Linux Ubuntu操作系统)

    陈拓2023/03/06-2023/03/11 简介 Arduino cli是一个命令行界面,您可以使用它创建草图(sketch)并将其上传到开发板中.它提供了ArduinoIDE的所有功能: 编写s ...

  9. mysql go命令行_Go语言调用mysql.exe和mysqldump命令行导入导出数据库

    最近准备将我平时写的ruby和python小工具推广到整个小组,以提高小组工作效率.但是效果不太理想,主要是脚本语言依赖环境,安装配置比较繁琐,组员们虽然很羡慕我的工具,但是愿意尝试很少. Go语言最 ...

最新文章

  1. P5压电陶瓷致动器,纵向极化,叠堆压电陶瓷,多层压电陶瓷促动器
  2. PCL环境配置失败和运行PCL自带例子
  3. 怎么在页面中使用mixins_模压化粪池使用过程中怎么管理?
  4. Git2.29让Git成功“牵 手”Gerrit
  5. CodeForces - 1486F Pairs of Paths(树上计数+容斥)
  6. 写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面!
  7. UITableView的重用
  8. python打包exe
  9. 一个用户下表、批量授予权限给另一个用户
  10. SQL_SERVER_2008升级SQL_SERVER_2008_R2的方法
  11. Ionic4.x ion-refresher 下拉更新
  12. 转一篇张欣写的Ubuntu扩展安装
  13. iTerm2 + oh-my-zsh + powerlevel9k 打造你喜欢的编码终端
  14. 2021/09/06 Terraform 从入门到精通(二)
  15. IntelliJ IDEA 2020.3.3 遇到Cannot resolve table ‘goods’
  16. vivo手机支持html,vivo手机也能刷门禁了,只有这三款手机支持,教你如何开通使用...
  17. 八、十六进制数转换到十进制数
  18. java编译环境_搭建java编译环境
  19. Ubuntu20.04安装360浏览器
  20. 科大奥锐密立根油滴实验数据_(最新)大学物理实验报告系列之密立根油滴实验...

热门文章

  1. 九种浏览器端缓存机制知多少(转)
  2. 你的灯亮着吗--随笔1
  3. 【简译】关于依赖反转原则、控制反转和依赖注入的抽象的初学者指南
  4. Pthread多线程编程之查看Pthread版本的方法
  5. 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
  6. 微信sdk服务器支付文档,微信支付-普通下单开发者文档
  7. android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法
  8. html制作背景音乐,HTML插入背景音乐方法【全】
  9. php指定键名排序,php二维数组指定其键名对其排序的方法
  10. python无穷大整数_python的特殊数字类型(无穷大、无穷小等)