前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从react-sketch.app说起

从react-sketch.app说起

作者头像
mixlab
发布2018-04-16 16:52:25
1.6K0
发布2018-04-16 16:52:25
举报

airbnb又发布了款开源工具,这次是一个利用react来生成sketch设计稿的工具。

基本原理

是利用sketch开放的api接口,把react写的组件按照接口逻辑输入sketch。这样就可以通过代码来管理设计稿啦。

我曾经尝试过玩耍sketch的api接口,但是发现连官方文档的示例都运行不起来。。。目前skecth的api接口还不够稳定,还在调整。相关的参考资料很少,得专门去看一些著名插件的源码,所以本来想基于sketch开发一套自动生成设计规范的想法半途而废了。

躺在我微信公众号里就有一篇关于给sketch开发插件的文章,等sketch的开放接口研究透了再更新哈。

回到react-sketch.app,这是一种用代码作为设计语言,用于设计稿版本管理的尝试。

我趁空闲,看了一遍官方文档,有些看法。下面来谈谈react-sketch.app能做啥?

1、官方示例ProfileCards

可以建立组件库,这样以后设计师需要使用,直接调用,迭代也方便了,修改一处,其他套用的组件都一并修改了,大大减少了工作量。

通过通过代码做版本控制,用代码描述设计,避开了基于图片设计的版本管理难点,设计师可以用git 等工具组织设计系统。

顺便介绍下版本控制(Version Control) 版本控制,作用是追踪文件的变化。 为什么需要版本控制?简单说,就是当你出错了,可以很容易地回到没出错时的状态。 你可能已经在不知不觉中,布置了自己的版本控制系统。比如,创建了类似下面这样的文件名: *KalidAzadResumeOct2006.doc *KalidAzadResumeMar2007.doc *instacalc-logo3.png *instacalc-logo4.png * logo-old.png 什么是版本控制系统? 通过文件名识别版本,对于小型项目或者单个文件也许可行。但是对于软件开发来说,是不适用的。 你能想像吗,要是Windows操作系统的源文件,是在一个叫做"Windows2007-Latest-UPDATED!!"的共享目录中开发的,并且每个程序员都可以编辑,都有一个自己的子目录,那会发生什么情况?那么,Windows就根本不可能被制造出来。 大型的、频繁修改的、多人编写的软件项目,需要一个版本控制系统(简称VCS,行话叫做"文件数据库"),追踪文件的变化,避免出现混乱。一个好的VCS应该做到以下几点: 备份(Backup)和恢复(Restore) 文件的每一次编辑都得到保存,可以恢复到任意一个日期。 同步(Synchronization) 让不同用户随时都能得到文件的最新版本。 撤销(Short-term undo) 文件被你搞乱了,怎么办?那就撤销编辑,回到最近一次的无差错版本。 追踪修改(Track Changes) 文件的每一次编辑,你都可以写下注解,解释编辑的原因。 试验功能(Sandboxing) 当你对文件做出重大变更时,你可以把编辑内容暂时性地保存在一个单独的区域,不断进行测试和除错。等到确认正确以后,再加入主版本。 分支(Branching)和合并(merging) 分支功能可以看成是一个更大的测试版本。你将整个的代码做一份拷贝,然后再起一个独立的名字,追踪其变化,与原版本脱离关系,这就是分支。以后,你还可以将分支版本再并入源版本,这就是合并。 以上引自阮一峰的博客,做了点精简。

2、官方示例Styleguide

可以直接生成设计规范

官方只是简单的一个颜色跟字体的设计规范,其他暂时没有,看看我有没有时间开发一套完整的,把页面的元素、组件也自动标注,并且生成文档。

和进行响应式设计

React 提供了功能完备的布局系统,可以在设计端进行准确完整的响应式设计。应用的是flex布局,Flex是Flexible Box的缩写,意为"弹性布局"

可以通过赋予div比例,及设置排列方式、对齐模式,来达到响应式设计的目的。

详情可以查看阮一峰的博客

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

Responsive design (响应式设计): 建立一个网页,通过CSS Media Queries,Content-Based Breakpoint(基于内容的断点)等技术来改变网页的大小以适应不同分辨率的屏幕。

Adaptive design (自适应设计): 为不同类别的设备建立不同的网页,检测到设备分辨率大小后调用相应的网页。目前AWD网页主要针对这几种分辨率(320,480,760,960,1200,1600)

响应式设计,只需一套代码,减少了自适应设计的针对不同分辨率编写不同代码的工作量。

3、官方示例VenueSearch on Web + Sketch w/ react-primitives, Foursquare & Google Maps

调取api,以真实数据来做设计

可以和任何前端开发一样引入真实的数据和 API 实现例如实时地图、自动多语言等有趣的功能。

设计的时候考虑的就是真实数据的展示效果,让设计更接地气,避免设计稿很美,实际产品开发完,效果大打折扣。

以上是结合几个官方示例,总结的react sketch.app的优点。

还有一点要单独说明的就是:

实时预览

这对于程序员的意义更大,因为react写完的前端代码,可以实时在sketch里预览啦,很直观。

其实,实时预览不是个新鲜事。

web端有:

在线JS代码调试工具的产品,支持javascript、css、html代码可视化在线调试工具。

介绍3个网站,有兴趣可以玩玩去。

作为练习跟学习,还有调试一些小代码,还是很好用的。

Codepen http://codepen.io/

JSFiddle https://jsfiddle.net/

React https://codesandbox.io

移动端有:

React Native 开发即时预览与分享工具。推荐一个:

Expo Sketch https://sketch.expo.io/

入门跟快速开发react native必备啊!

还有一类是IDE编辑器。

FaceBook 官方推荐的 Atom+Nuclide

我使用过Sublime Text ,由于颜值不高,我弃用了,改用atom,最近突然发现还有个

IDE Deco https://www.decosoftware.com/

decosoftware专门为 ReactNative 打造的开源 IDE Deco

特点:实时预览,可视化调节属性值,代码库模版

目前只有Mac版本,如果你正好在学习react native,可以试试。

对了,deco IDE还是开源的,可以研究下他的实现代码了,用的是electron,调用nodejs的系统级api,然后再结合react native,实现的编辑器。

最关键是开源!用的不爽可以自己改~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技Mix设计Lab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档