个性化阅读
专注于IT技术分析

使用真实数据进行原型制作–Framer教程

本文概述

Framer是最强大的应用程序原型制作工具之一。它可以用于从iOS到Android的任何移动设备的设计。如果你懂一点编程, 它的功能实际上是无限的, 因为它基于CoffeeScript(一种相对简单的编程语言)。设计师将仅受其想象力和编码技能的限制。

Framer–这是什么?

要阅读本文, 你至少应该具有Framer的基本知识。我们将使用设计模式和代码编辑器。如果你想补充自己的知识, 可以阅读我们以前的Framer文章:如何创建令人惊叹的交互式原型, 7个简单的微交互来改进原型

为什么要对真实数据使用Framer

设计或原型制作中的一个常见问题是缺少实际数据。当为现有产品设计新功能时, 可以使用逻辑, 相关且外观逼真的内容来代替虚构内容。它可以是任何类型的数据, 例如用户照片。这样, 就不会浪费时间来尝试虚假内容, 并且可以避免由于使用无效数据而导致的错误。所有可用数据都是可见的, 并且可以确定仍需要什么内容-结果, 与利益相关者和开发团队的沟通更加有效。还可以围绕不同的用例场景进行设计。

设计新功能时, 有时会忘记并非每个用户配置文件都是完整的, 商店中的所有类别都不具有相同数量的产品, 也不是每个产品都显示相同的数据。可以将真实数据的原型与从LEGO块中构建出的东西进行比较:我们可以使用盒子中的现有组件来构建真实的东西, 而不是使用虚构的松散形状。

让我们以真实数据为原型!

当使用从数据库实时更新的真实数据时, Framer中的真正乐趣就开始了。可以应用任何类型的数据, 例如:带有照片, 街道地址, 股票报价, 汇率, 天气预报, 交易信息的用户资料-应用程序通常使用的任何数据。当你将实时原型与真实数据结合在一起时, 真正强大的产品设计就会开始发生。而且, 不再需要使用臭名昭著的拉丁式” lorem ipsum”占位符文本。

Framer原型与Uber的Mapbox API结合

布莱恩特·乔恩(U.B.

使用实际数据的API:这是什么?我们怎么用它?

应用程序编程接口(API)是我们与应用程序进行通信的接口。想象一个应用程序是餐厅。食物是数据, 服务员是API。你只需要服务员的食物就可以了。服务员(API)和厨房(数据库)负责其余的工作。

这一切都是关于访问给定数据库中存在的真实数据的。

什么是API?

每个应用程序都有一个API, 可以捕获和显示数据。一些API是公开可用的, 而某些API仅在内部产品中使用。

公开可用的API被广泛用于构建新应用程序。例如, 为了构建天气应用程序, 需要一些天气数据。在众多共享公共API的天气预报网站的帮助下, 这非常容易。而且, 可以将许多不同的API组合在一起以创建一个全新的产品。

我们在哪里可以获取真实数据?开放的API列表

有许多提供各种数据的公开可用的API。这是五个候选清单, 非常适合在Framer中使用真实数据进行原型制作。这些API均以JSON格式返回数据, 该数据可以在框架中轻松处理。

随机用户–绝对是初学者的最佳API。它会生成从头像到电子邮件地址的完整, 随机的用户个人资料。

随机用户API中的用户头像

OpenWeatherMap –这是一个非常易于使用的API。它使你可以在任何位置查看当前天气和天气预报。使用此API, 我们可以显示温度, 湿度或风速等数据。

在Framer中使用实时数据API的天气预报应用

Wojciech Dobry的天气预报应用程序

Pokéapi–为教育目的而创建的最佳API之一。寻找有关神奇宝贝的东西吗?在这里能找到它。这是一个完整的RESTful API, 链接到一个广泛的数据库, 该数据库详细介绍了神奇宝贝主游戏系列的所有内容。

在Framer中使用真实数据API的Pokémon移动UI概念

Sai Aung的PokémonUI概念

Instagram –列表中的第一个需要授权才能使用的API。但是, 它的服务非常简单。你可以访问所有Instagram照片和用户, 并将其显示在新应用中。

在Smartwatch中使用Instagram使用Framer中的真实数据API

Instagram上的Smartwatch by Hironobu Kimura

Mapbox –提供了许多令人难以置信的服务, 这些服务易于与应用程序集成, 从地图和方向到地理编码甚至卫星图像。 Foursquare, Evernote, Instacart, Pinterest, GitHub和Etsy都有共同点-它们的地图由Mapbox提供支持。

该API与以前的API有所不同, 因为它不返回JSON文件, 但可以访问所有Mapbox功能。 Mapbox还制作了很棒的教程, 介绍如何在Framer中使用其API。

Mapbox通过手机上的API进行映射

移动设备上的Mapbox

Framer中使用实际数据的随机用户API教程

具有随机用户API数据的Framer原型

要了解如何在Framer中使用API​​, 请先从随机用户API开始。我们将需要一个应用程序屏幕-一个用户列表。

步骤1:设计模式

Framer中的设计模式

这是包含名称, 姓氏和头像的用户列表。这就是全部。此过程中最重要的部分是正确命名和分组所有元素。化身和名字在box图层中分组, 所有box都在列表中分组:

Framer中的图层

在设计模式下需要做的最后一件事是将列表层标记为交互式层。为此, 只需单击目标图标。

步骤2:了解JSON

首先, 有必要了解什么是JSON以及如何在Framer之外获取它。在随机用户API文档中, 找到来自API的数据请求。看起来像这样:https://randomuser.me/api/?results=20。如你所见, 这是一个常规链接, 可在你的浏览器中打开JSON文件:

Chrome中的未格式化JSON文件

就目前而言, 它看起来一点也不清晰。要查看格式正确的JSON文件, 请使用Chrome浏览器插件JSONview。使用该插件, 文件将如下所示:

Chrome中的格式化JSON文件

好多了。现在, 它应该很容易阅读。该文件包含带有用户数据的结果数组, 该数组是在询问API之后收到的。那么什么是JSON文件?无需赘述技术细节, 它是一个基于JavaScript语法的文本文件, 其中包含来自数据库的特定数据。 JSON可以在Framer中用于显示其中的数据。

步骤3:将JSON文件导入Framer

现在, 可以使用单行代码将JSON文件导入Framer:

data = JSON.parse Utils.domLoadDataSync "https://randomuser.me/api/?results=20"

创建名为data的对象, 该对象将包含JSON文件。使用print函数查看JSON文件是否正确导入:

print data
具有打开的控制台窗口的Framer

步骤4:从JSON文件访问特定数据

现在回到JSON文件结构:

JSON文件结构

在此JSON文件中, 结果是一个包含更多对象的数组。每个对象都是不同的用户。首先, 必须将这些对象之一作为目标。使用打印功能可以更好地了解发生了什么:

print data.results[1] 

Framer控制台:

{gender:"male", name:{title:"mr", first:"benjamin", last:"petersen"}, location:{street:"2529 oddenvej", city:"sandved", state:"midtjylland", postcode:48654}, email:"[email protected]", login:{username:"organicsnake771", password:"bauhaus", salt:"PohszyFx", md5:"b19140299c05e5e623c12fb94a7e19e6", sha1:"78d95ec718ef118d9c0762b3834fc7d492111ab2", sha256:"0a702949d5e066d70cde2b9997996575e4c3df61ff3751294033c6fc6cd37e54"}, dob:"1974-12-17 04:58:03", registered:"2009-04-08 16:50:59", phone:"76302979", cell:"41168605", id:{name:"CPR", value:"605218-6411"}, picture:{large:"https://randomuser.me/api/portraits/men/65.jpg", medium:"https://randomuser.me/api/portraits/med/men/65.jpg", thumbnail:"https://randomuser.me/api/portraits/thumb/men/65.jpg"}, nat:"DK"}

括号中的数字表示数组中对象的数量。使用data.results [1], 可以访问JSON文件中所有第一位用户的数据。

然后, 可以显示姓名或姓氏等项目:

print data.results[1].name.first

Framer回应:”本杰明”。瞧!已实现从API访问数据!

步骤5:显示JSON中的数据

最后!剩下的唯一一件事就是显示数据。现在, 必须创建一个将以设计模式为目标的所有图层的简单循环。在上一篇文章中, 了解有关使用循环定位图层的更多信息。

我们使用x = 0来定位JSON数据中数组中的第一个对象。然后, 对于列表的每个子元素, 我们从JSON数据分配数据。在循环的最后, 我们添加+1以使用数组中下一个对象的数据:

x = 0

for i in list.children
  i.children[2].text = data.results[x].name.first
  i.children[1].text = data.results[x].name.last
  i.children[0].image = data.results[x].picture.large
  x++

而已!现在你可以返回设计模式并进行设计, 实际数据将显示在原型中!

Framer中的最终原型

你可以在此处下载上述Framer文件:https://framer.cloud/djmvG

Instagram API – Framer中的实时数据

Instagram是开始实时数据之旅的有趣起点。这些说明相对容易遵循, 并且API提供了有趣的数据-你可以完全访问。在本文的这一部分中, Instagram API用于构建一个简单的原型, 该原型显示我的Instagram个人资料数据:名称, 最新照片和喜欢的人数。

Framer设计模式与实际数据原型

只需五行代码和一个访问令牌即可从Instagram获取数据

步骤1:获取访问令牌

要使用Instagram API, 需要访问令牌。可以通过两种不同的方式获得它:

  1. 最常见的方法是访问Instagram for Developers网站并按照说明进行操作。对于非技术人员来说, 此过程可能会很复杂。

  2. 幸运的是, 有一种简单而安全的方法来获取它。 Pixel Union开发了一个简单得多的一键式流程:转到其网站, 然后单击”获取访问令牌”按钮。

步骤2:启用跨域请求

收到访问令牌后, 需要一个小技巧。 Instagram不允许来自你的本地主机(Framer)的API请求, 因此必须使用服务器端查询。其中之一是JSONProxy。转到他们的网站, 粘贴来自Instagram API的请求, 然后点击GO。

JSONProxy网站

完成后, 可以使用JSONProxy链接来代替Instagram API链接。

步骤3:在Framer中设计一个简单的应用

Framer中的设计模式

使用Framer设计的简单应用程序屏幕

此设计中只有三个关键元素:名称占位符, 将显示最新照片的矩形以及图像下的喜欢人数。所有这些标记为交互式层, 可在代码编辑器中重用。

步骤4:编写四行代码以使用Instagram中的数据

Framer中的最终原型-代码编辑器

Framer中有五行代码来获取数据。

这里的流程与随机用户API中的流程相同。可以从Instagram访问任何用户数据:

yourAccessToken = "YOUR-ACCESS-TOKEN"

instagramJSON = JSON.parse Utils.domLoadDataSync "https://json-proxy.herokuapp.com/?callback=&url=https%3A%2F%2Fapi.instagram.com%2Fv1%2Fusers%2Fself%2Fmedia%2Frecent%2F%3Faccess_token%3D#{yourAccessToken}"

likesCount.text = instagramJSON.data[1].likes.count
name_1.text = instagramJSON.data[1].user.full_name
photo.image = instagramJSON.data[1].images.standard_resolution.url

而已!五行代码, 你可以使用Instagram提供的实时数据和真实数据进行原型设计。在此处下载有效的原型:https://framer.cloud/iYAXl。 (请记住, 你必须添加自己的访问密钥才能运行此原型。)

摘要–优点和缺点

通过创建使用通过API从数据库中获取的真实数据的原型, 可以发现新的创造可能性和检查产品设计的能力-可以构建与产品100%一致的原型, 并在真实用户上测试新功能。通过预览系统中的所有数据, 很难错过必须包含在设计中的元素, 并且可以访问真实数据, 从而避免了由于使用伪造数据而导致的设计错误。

也就是说, Framer中的高保真原型制作非常昂贵。为了获得理想的效果, 需要进行大量的调整, 这会浪费时间和金钱。如随机用户API示例所示, 与API进行通信并不困难, 但仍需要大量时间才能从中创建出色的原型。

不过, 如果采取全面措施, 当然值得考虑。拥有真实数据的快乐原型!

• • •

在srcmini设计博客上进一步阅读:

  • UI设计最佳做法和常见错误
  • 空状态-用户体验最被忽视的方面
  • 简单是关键–探索最小的Web设计
  • 移动接口的启发式原理
  • 为可读性而设计– Web排版指南
赞(0)
未经允许不得转载:srcmini » 使用真实数据进行原型制作–Framer教程

评论 抢沙发

评论前必须登录!