TAT.vorshen 教你用 webgl 快速创建一个小世界
In Web开发 on 2017年03月15日 by view: 5,750
3

Webgl 的魅力在于可以创造一个自己的 3D 世界,但相比较 canvas2D 来说,除了物体的移动旋转变换完全依赖矩阵增加了复杂度,就连生成一个物体都变得很复杂。

什么?!为什么不用 Threejs?Threejs 等库确实可以很大程度的提高开发效率,而且各方面封装的非常棒,但是不推荐初学者直接依赖 Threejs,最好是把 webgl 各方面都学会,再去拥抱 Three 等相关库。

上篇矩阵入门中介绍了矩阵的基本知识,让大家了解到了基本的仿射变换矩阵,可以对物体进行移动旋转等变化,而这篇文章将教大家快速生成一个物体,并且结合变换矩阵在物体在你的世界里动起来。

写在前面

Md2site 是基于 Omi 的一款 Markdown 转网站工具,使用简单,生成的文件轻巧,功能强大。

在使用之前的版本的时候,你会发现体验非常好?为什么非常好?因为页面间的切换是无刷新!
无刷新的原理就是,所有的 markdown 都会被 webpack 打包到 js 里,只要在 js 动态 require 就行。

这样带来的一个问题便是:如果有海量的 markdown 的时候,首次加载的时间非常长。

怎么解决?支持动态拉取和解析 markdown~~

CSS Modules 入门及 React 中实践
In Web开发 on 2017年03月15日 by view: 17,982
4

写在前面

读文先看此图,能先有个大体概念:

阅读本文需要 11m 24s。

CSS Modules 介绍

CSS Modules 是什么东西呢?首先,让我们从官方文档入手:
GitHub - css-modules/css-modules: Documentation about css-modules

TAT.dnt Omi 命令行界面 omi-cli 发布
In Web开发,资源工具 on 2017年03月09日 by view: 5,189
1

原文链接:https://github.com/AlloyTeam/omi/blob/master/docs/deep_in/cn_omi-cli.md

写在前面

通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。但是 CLI 比 GUI 节约资源,在熟悉命令之后,CLI 会比 GUI 更加高效地帮你完成想要的任务。

Omi CLI 地址: omi-cli

下面来介绍下 pasturn 童鞋为 Omi 开发的 CLI 的两种使用姿势:

姿势一

原文链接

前言

React 的开发也已经有 2 年时间了,先从 QQ 的家校群,转成做互动直播,主要是花样直播这一块。切换过来的时候,业务非常繁忙,接手过来的业务比较凌乱,也没有任何组件复用可言。

为了提高开发效率,去年 10 月份也开始有意识地私下封装一些组件,并且于今年年初在项目组里发起了百日效率提升计划,其中就包含组件化开发这一块。

本文并不是要谈如何去写一个 React 组件,这一块已经有不少精彩的文章。例如像这篇 《重新设计 React 组件库》,里面涉及一个组件设计的各方面,如粒度控制、接口设计、数据处理等等(不排除后续也写一篇介绍组件设计理念哈)。

本文关键词是三个,工程化、快速和可靠。我们是希望利用工程化手段去保障快速地开发可靠的组件,工程化是手段和工具,快速和可靠,是我们希望达到的目标。

前端工程化不外乎两点,规范和自动化。

读文先看此图,能先有个大体概念:
default

写在前面

Md2site 是基于 Omi 的一款 Markdown 转网站工具,使用简单,生成的文件轻巧,功能强大。
当我们想把一堆 markdown 文档转成网站时,你可能有许多选择,倘若选择 md2site ,你一定会爱上她。

特性

  • 超轻巧,生成的网站除了 Omi 不依赖其他第三方库,超级小的尺寸让你加载更快
  • 完整支持 Markdown,使用 markdown 写你的文档或者网站,完整支持 markdown 所有语法
  • 响应式,生成的网站是响应式的,手机和 PC 都有不错的阅读体验
  • 多语言,天生支持多语言,只需增加修改配置便可。让世界了解你的网站
  • 代码美,请记住: 不仅仅是代码高亮,使用 md2site 轻松可以让代码内的某些代码高亮
  • 超方便,npm run dev 预览,npm run dist 一键生成网站。不满足现有布局或样式可轻松进行二次开发
TAT.tennylv 线条之美,玩转 SVG 线条动画
In Web开发 on 2017年02月27日 by view: 25,988
5

通常来说 web 前端实现动画效果主要通过下面几种方案:

  • css 动画;利用 css3 的样式效果可以将 dom 元素做出动画的效果来。
  • canvas 动画;利用 canvas 提供的 API,然后利用清除-渲染这样一帧一帧的做出动画效果。
  • svg 动画;同样 svg 也提供了不少的 API 来实现动画效果,并且兼容性也不差,本文主要讲解一下如何制作 svg 线条动画。

Omi

Open and modern framework for building user interfaces.


  • Omi 的 Github 地址 https://github.com/AlloyTeam/omi
  • 如果想体验一下 Omi 框架,可以访问 Omi Playground
  • 如果想使用 Omi 框架或者开发完善 Omi 框架,可以访问 Omi 使用文档
  • 如果你想获得更佳的阅读体验,可以访问 Docs Website
  • 如果你懒得搭建项目脚手架,可以试试 omi-cli
  • 如果你有 Omi 相关的问题可以 New issue
  • 如果想更加方便的交流关于 Omi 的一切可以加入 QQ 的 Omi 交流群 (256426170)
TAT.vorshen webgl 世界 matrix 入门
In Web开发 on 2017年01月16日 by view: 7,503
3

这次没有带来游戏啦,本来还是打算用一个小游戏来介绍阴影,但是发现阴影这块想完完整整介绍一次太大了,涉及到很多,再加上业务时间的紧张,所以就暂时放弃了游戏,先好好介绍一遍 webgl 中的 Matrix。
这篇文章算是 webgl 的基础知识,因为如果想不走马观花的说阴影的话,需要打牢一定的基础,文章中我尽力把知识点讲的更易懂。内容偏向刚上手 webgl 的同学,至少知道着色器是什么,webgl 中 drawElements 这样的 API 会使用~

一. 前言

当我们选择使用 Node+React 的技术栈开发 Web 时,React 提供了一种优雅的方式实现服务器渲染。使用 React 实现服务器渲染有以下好处

        1. 利于 SEO:React 服务器渲染的方案使你的页面在一开始就有一个 HTML DOM 结构,方便 Google 等搜索引擎的爬虫能爬到网页的内容。

        2. 提高首屏渲染的速度:服务器直接返回一个填满数据的 HTML,而不是在请求了 HTML 后还需要异步请求首屏数据。

        3. 前后端都可以使用 js

二. 神奇的 renderToString 和 renderToStaticMarkup

有两个神奇的 React API 都可以实现 React 服务器渲染:renderToStringrenderToStaticMarkup。renderToString 和 renderToStaticMarkup 的主要作用都是将 React Component 转化为 HTML 的字符串。这两个函数都属于 react-dom(react-dom/server) 包,都接受一个 React Component 参数,返回一个 String。

也许你会奇怪为什么会有两个用于服务器渲染的函数,其实这两个函数是有区别的: