百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Axure完成前端开发可行性探索

myzbx 2025-03-02 18:10 5 浏览

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

笔者正好利用2020年超长的春节假期进行一次探索。为什么会想到要用一款原型工具去做成品?

主要原因是所见即所得的编辑过程,让那些需要一定时间学习编程才能完成的工作,由普通人来做学习成本几乎可以不计,而且质量的稳定性更加可靠。如轮播只要简单设置就好,也无需考虑不同浏览器之间的代码兼容性。其次Axure提供了强大的函数库,给于了无限可能。

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

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

  • 不带Axure导航栏原型地址:http://yssycm.com/fituppage/fituppage.html
  • 带Axure导航栏原型地址:http://yssycm.com/fituppage

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

  1. 适用于不同屏幕尺寸的自适应布局框架。
  2. 装修组件在预览区中的实时显示。
  3. 预览区指定位置插入新的装修组件。
  4. 预览区中删除已有的装修组件。
  5. 装修组件组件在预览区中位置的上下调整。
  6. 装修组件的设置变更时在预览区中的同步。
  7. 公用图片选择控件的单选与多选功能。
  8. 公用翻页控件。
  9. 装修组件“图片列表”功能。
  10. 装修组件“视频”功能。
  11. 装修组件“标题”功能。

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

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

Axure做前端开发的优缺点

优点

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

缺点

成品文件冗余:

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

执行效率低:

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

调试过程繁琐:

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

代码碎片化:

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

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

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

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

变量

实现变量效果的三种方式:

  1. Axure全局变量:利用Axure原生的全局变量功能,这种变量所有页面共用,可用在跨页面的数据传递上。
  2. 元件文本记录:利用元件的文本记录功能,这种方式保存的变量只在当前页面有效。
  3. 数据集(中继器):用于存取复杂的数据,可以当作一个小型的数据表用。由于中继器也是页面元件,所以只在当前页面有效。数据集中的数据可以通过文本元件配合筛选获得或通过筛选配合字符截取完成,笔者推荐前者,因为更直观简单易调试。

条件判定

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

循环

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

自定义功能函数

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

命名规范

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

编程过程

设计过程

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

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

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

伪代码编写

伪代码是将各元件的协作,用简练的文字描述出来的方法。因为Axrue中的功能,都是写在各各独立的元件上的,非常碎片化,对于复杂一些的功能,编辑不直观,思维容易被干扰,后期也不利于梳理和阅读。本次的项目随着元件的增加,几乎到了不可维护的情况。

所以需要避免在元件中盲目操作导致越发混乱,同时对于之后的维护,只需要有对应的伪代码,便可快速了解整个全貌,轻松上手,伪代码需要与命名规范结合使用。(本次使用的Axure伪代码规范文档:
http://www.yssycm.com/personal/index.php/2020/03/15/axure-pseudocode-specification/)

创建调试环境

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

单元测试与集成测试

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

其它相关事项

  • 选择元件的顺序会影响执行顺序,如果发生难已理解的错误,可以仔细查看下顺序。
  • 如果能有一个大的宽屏(2560*1440)的显示器将极大提高效率与过程的舒适性。
  • Axrue发布后与预览时的图片引用位置是不同的。因为在发布时会把项目所有用到的图片进行总和,无论在项目中引用过几次是否在同一个界面中,最后都只会输出一张,大家共用,一般是输出到第一次引用此图片的页面资源文件夹中,如果项目中有依赖图片路径的操作,记的处理。
  • 引入外部的CSS文件可以扩展Axrue的样式功能。
  • 引入外部的JS文件可以实现更多的交互或实现原型中的数据与外部系统打通。如果计划要把数据传送到后台,伪代码设计时就应考虑到。

本文由 @镜缘 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

相关推荐

攀升战境S5电竞主机评测:NVIDIA RTX 3060实力助阵,光追游戏走起

此次笔者将为玩家们推荐一款游戏主机——攀升战境S5。该主机是攀升电脑今年力推的游戏装备,主机采用一线品牌配件,特别是在显卡选用上严苛把关,精选GeForceRTX30系列显卡,玩家们大可以放心选购...

慎买-神牛闪光灯兼容性问题:神牛V350&松下S5M2

神牛V350和松下S5M2的兼容性问题。大家好,我是向往闪光灯人像的Fish。国庆期间,我购买了神牛V350闪光灯和神牛X2T引闪器,但这成为了我的噩梦。我原以为客服和松友们说这款闪光灯在松下S5M2...

Acer蜂鸟持续办公一整天(acer 蜂鸟s5)

移动办公在工作节奏日益加快的今天越来越普遍,目前大部分工作无法在手持设备上完成,笔记本依然是移动办公最明智的选择。为了实现移动办公,很多笔记本越做越轻薄,性能也越来越强,而续航却一直没有很大提升。笔者...

职业车手明年会骑什么?2021赛季各大世巡赛车队使用器材一览

新年的钟声即将敲响,意味着充满魔幻色彩的2020年即将过去。受新冠肺炎的影响,2020年的赛季非常不同寻常。因这一原因不得不延迟举行的各种比赛导致许多车队的赞助商无法得到足够曝光,这也间接导致了许多车...

三星部分手机系统升级路线图流出(三星系统在哪升级)

三星包括Note3和S5在内的手机在升级到4.4.2系统之后一直没有什么系统升级的消息,而最近流出的一张三星的系统升级路线图中出现了一共13台手机升级KTU84P(也就是Android4.4.4)...

索尼Xperia Z3配置大曝光:升级并不大

IT之家(www.ithome.com):索尼XperiaZ3配置大曝光:升级并不大索尼明天就会在IFA2014大会上发布其下代旗舰XperiaZ3智能手机,目前网上曝光了其原型机,并且机身背后...

不进反退 三星Exynos 5433只能运行32位模式?

三星GalaxyNote4将带有两个版本,除了国行使用的骁龙805以外,还有三星自家的Exynos5433版本。而这颗SoC的详细信息三星并没有公布,据外媒Anandtech称,他们从源码中确认...

尼康Z6III测评:对比EOS R6 II、A7M4、S5IIX

摄影器材测评网站DPReview刚刚发布了尼康Z6III的完整图文测评,该机获得金奖评级,得分达到91%。以下是该文章的摘录——尼康Z6III核心规格:2400万像素“部分堆栈式”传感器RAW连拍:机...

赛默飞Ion S5首批数据公布,玩爆前任PGMTM系列

北美时间9月1日,赛默飞发布了两款最新的NGS系统IonS5和IonS5XL,旨在提供更加简捷的靶向测序流程。10月29日IonS5测序仪的首批实验数据产生于阜外医院。阜外医院研究人员选用了主...

Excel技巧:快速制作批量文件夹,省时省力,加强工作效率

大家好,如果公司领导要求按人员姓名制作文件夹,以一人一档的形式呈现人员档案,办公人员一个一个制作费时费力,而且效力低下,今天为大家介绍快捷制作批量文件夹的方法下面我们用图片来进行演示操作打开表格,选...

国行、港版、美版Apple watch各版本售价一览

今天凌晨,苹果牌手表正式发布,苹果开始正式进入可穿戴设备领域,除了功能和外观,我相信大家更关心的是价格问题了,小编就将国行、港版、美版的Applewatch售价做一总结,以供参考。国行:美版:港版:...

松下全画幅微单S5和S1到底哪里不一样?

Hello,我是ET,欢迎大家来到我的“相机笔记”。————9月2日晚,松下正式发布了第4款全画幅微单LUMIXS5。这一篇,我们主要来说松下LUMIXS5和LUMIXS1到底有哪些区别...

融会贯通之典范 神舟S7-2021S5评测

便携、性能、续航,这简简单单的六个字道出了这么些年来笔记本电脑的设计方向,可是由于底层技术、模具设计等等原因,这三点并不能很好的融合在一起。虽说闻道有先后,术业有专攻,但能够有一台融会贯通的产品,不是...

三国志战略版:S5赛季装X指南,开荒不是一成不变,需要因地制宜

大家好我是零氪玩家花席,S5赛季已经开始,因为S5赛季的野地阵容和S4赛季没有区别,所以S5赛季开荒相对不难。你在S4有经验,并且多了很多武将和战法,还能用150赛季功勋兑换7500战法点。S5赛季新...

聊聊松下S5M2和S5M2X的区别(松下s5k和s5c有什么区别)

先简单说下哪里不同:12bitRAWHDMI外录支持直接将视频录制到USB-SSD上多了All-Intra和ProRes编码支持有线/无线IP推流,USB网络连接黑化的机身不过要特别强调一下,S5...