打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
从react-sketch.app说起

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,实现的编辑器。 

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


设计+科技=

自在园O设计Mix科技实验室。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
2016年Web设计的10大趋势
一些好用且有趣的atom插件
安装Arduino附加库
微信小程序开发总结
Kotlin要支持iOS开发和Web开发了,这是要全栈?
UI 超新星 Supernova
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服