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

高级PM教你定制APP通用元件库 东莞pm2.5

yuyutoo 2024-10-12 01:15 12 浏览 0 评论

视觉设计师有自己的组件来定义视觉规范,前端工程师有系统SDK自带的UIkit调用,而我们产品经理也应该有一套适合自己的元件库来提升画原型的效率。

网上有不少文章叫你如何使用Axure的元件库功能,侧重于讲工具使用。

而我这篇文章侧重于讲方法论。从定义元件库的结构,到如何设计每个元件。。

一、前言

这些元件库当然不错,但是存在几个问题。

  • 不是为自己设计的,不知道运用到什么场景
  • 带有强烈的公司风格,无法通用,只能借鉴
  • 配色有强烈的视觉风格,很难适合自己
  • 很多元件是截图,不太通用
  • 有很多无用的元件,不知道该删除还是保留

建议每个PM为自己定制元件库并长期更新,这样能够极大的提升自己设计原型的效率,而且可以保证原型整体的视觉统一。

二、定制元件库的思路

该元件库存放了一个个元件,而且必须是常用的。并且需要保证这些元件在设计其他手机APP的时候,也大部分适用。

从PM画原型的工作中,我们其实梳理出大概有哪些工作,哪些可以转化成通用元件。

拆分产品工作

移动端原型的具体设计有四步骤:

定架构→画页面→加交互→写逻辑

  • 定架构的过程中,画业务流程、功能流程、页面流程的时候,需要用到哪些图形。
  • 画页面的过程中,大概有哪些常见的组件呢。有页面本身、视觉组件等。
  • 加交互的过程中,大概有哪些东西呢,比如弹窗、吐司提示,模态视图等。有时候也需要用手势表示一下逻辑,毕竟Axure的手势对移动端支持不够。
  • 写逻辑的过程中,可能需要用到一些常见的逻辑,也可以放进去。这一点看各自的需求。

需要注意的是,虽然我们遵循Axure的命名规则叫它元件库,但本质上和Axure默认的Default、flow、icon元件库是有区别的。前者侧重于功能组件,后者侧重于最细粒度的控件。事实上前者是控件的组合,称之为组件库其实更合适。

元件库的结构

按照上述的产品工作拆分,可以得到对应的元件库结构。

请注意Axure的元件库在载入的时候,不支持多级目录。请尽量设置成一级。

或者像我这样命名多层目录,虽然是多层,但是最终载入的时候,自己还是能够清晰理解的。

最终载入元件库的效果如下:

接下来我们一一来讲解如何设计。

三、元件库的设计原则

之所以你从网上下载的元件库不太好用,是因为未遵循以下原则。

配色只使用黑白灰

勿用彩色,这样不会影响视觉设计师定义视觉风格的思路,以及不会误导视觉设计师。

使用默认元件加工而成

因为是默认元件,所以原型的视觉风格都是统一的配色黑白灰,统一的控件样式。

默认元件大家都很熟悉,当在rp中插入该元件库中的组件,如需二次修改也很方便。

默认元件不自带交互不带注释不带有命名,如果你使用网上下载的元件,那么有很多干扰信息,定制元件库的时候修改起来特别麻烦。

尽量不要导入位图

往往该图表示了一定含义,无法用到在其他项目。

很占空间,如果二次压缩又会模糊。

补充一点,有时候需要图标表示重点内容,可以导入svg的矢量图来配合着设计组件。不占空间而且通用。

元件尺寸基于同一机型制作而成

如果不是基于某一机型的分辨率制作,那会导致制作的原型中的控件,尺寸不协调,不专业,并且视觉设计师很难理解功能。

以iPhone6/6s/7的逻辑分辨率制作

也就是375×667,以这个分辨率制作的原型,可以基本适配所有的iOS和Android机型,所以倒推回来,元件库也应该以这个尺寸来设计。

四、页面组件

由于定架构这个比较复杂,大部分初级PM不懂。

我们先从最简单常见的页面组件来讲,也就是APP中最常见的视觉组件、基础功能。

页面框架

我所谓的页面框架是指这个. 每设计一个页面都需要用到的公用部分。

你也可以在rp文件中定义可脱离母版来多次使用,但是其他rp不通用。所以还是推荐用元件库的方式来满足重复使用的需求。

页面框架有带手机框和不带手机框两类。特别反感使用带手机框的页面框架。除了花哨没有任何价值。而且无法设计超过一屏幕高度的内容。

如果不带手机框,就不会有这个问题。此时还有2种做法:带状态栏和不带状态栏。

至于你选择带状态栏的375×667,还是不带状态栏的375x(667-20状态栏),因人而异。我因为要求自己的 APP原型可以在手机上完美体验,所以选择的是375×647。

但是不管选哪种,你设计的其他元件如果需要包含页面框架,都应该遵循该标准。

视觉组件

Axure默认元件库中自带了一些常见控件,这里不重复做。我只做常见的视觉组件,以及常见的小功能单元。

五、交互组件

将常见的交互组件提取出来,大概有以下三种。

常见提示

常见的toast提示、alert弹窗、小红点。

键盘

常见的一些键盘,使用的是截图。尽量少用,除非必要。

手势

常用的大概有八种,iOS官方人机交互设计规范中定义了。而Android官方定义了28种,很多华而不实,不用也罢。

手势元件可以在Axure无法做出你的交互,或者做起来很麻烦的时候,直接用它来快速表示。

七、逻辑要点

我把所有常见的控件的逻辑,都梳理了一遍。比如你要写密码框、手机号输入框等的逻辑,直接使用和修改值即可。

时间有限,我只做了2个。大家可以根据自己的需求,参考这篇文章来制作APP文本框通用的输入规则。

八、画图建模

这个属于进阶技能,有些复杂。但是一旦学会,你的画原型体系应该比较健全了。

功能流程

相关的介绍,可以查看我的文章《如何正确地画出页面流程图》。

页面流程

相关的介绍,可以查看我的文章《如何正确的画出功能流程图》。

实体关系模型

相关的介绍,可以查看我的文章《如何用ER图绘制业务实体模型》。

状态机

相关的介绍,可以查看我的文章《如何绘画状态机来描述业务的变化》。

用例图

属于UML的范畴,了解即可。

九、其他

当然也可能还有其他的,根据自身需求而定。

不建议把独立的图标导入到这个“组件库”,请单独使用FontAwesome或者SVG元件库等。

页面状态

另外页面状态也可以加进去,比较常用。

不过也可以作为全局规范写到单独的页面给到视觉设计师、前端工程师。

十、总结

强烈推荐每个PM定制一份适合于自己的元件库,绝对会让你提升工作效率,而且可以梳理自己对组件、控件以及架构的理解。

相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: