【翻译】Fuse 与 React Native 或者 NativeScript 比有什么区别?

原文:https://medium.com/@fusetools/how-fuse-differs-from-react-native-and-nativescript-525344f02aaf 现在有很多不同的框架和工具可以用来构建移动应用,我们得到最普遍的一个问题就是:Fuse 和 XXX 有什么区别? 有的时候,这就是 Hybrid 应用和原生应用的区别,或者是创建一个原型和创建一个完整应用的区别(Fuse 实际上可以帮你无缝地从一个原型到完成一个完整应用),但通常我们需要更近一步说明。 我趋向于讨论 Fuse 背后的理念和视角。比起挖掘技术细节,我们更会去关注 Fuse »

搭建现代的 Karma 测试环境

之前写过的测试都是针对简单的工具方法,用的 mocha + chai 写,最近在研究前端路由,想写写测试代码,遇到 window.location,突然意识到前后端的差异问题,需要一个浏览器环境,于是想到之前用过的 Karma + phamtonjs 环境,搭的过程中遇到一些坑,因为涉及到了 Babel 和 commonjs 模块系统,于是这里记录分享下。 开始搭环境 由于 Karma »

写一个自己的 Yeoman Generator

由于自己经常会写一些 demo,或者学习新工具库的使用,然后又比较依赖 npm 的模块管理(这个是重点)和 webpack 的代码打包功能,所以每次都要创建一个目录结构,复制各种 .rc 文件,复制 webpack 的配置文件,复制一个应用了 webpack dev 中间件的 express server,每次都要这样,让我心里很烦。 我一直知道 »

CentOS v6.7 新装配置

从网上下载到 CentOS-6.7-x86_64-bin-DVD1.iso 完整版,并通过 Mac OSX 上的虚拟机应用 Parallels Desktop 安装 Basic Server后,根据自己的需要进行如下环境的配置: 安装 git 版本控制工具 安装 nvm 和 node.js 安装 nginx »

探索React源码的全局模块系统

也可以在这里看:https://leozdgao.me/react-global-module-system/ 扫了几眼react的源代码(0.14-stable分支),发现一个有趣的现象,比如如下这段代码: var ReactDOM = require('ReactDOM'); var ReactDOMServer = require('ReactDOMServer'); var ReactIsomorphic = require('ReactIsomorphic'); var assign = require('Object. »

为什么说DOM操作很慢

一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来。 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint)。下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的实践以及一些优化方案。 浏览器是如何呈现一张页面的 一个浏览器有许多模块,其中负责呈现页面的是渲染引擎模块,比较熟悉的有WebKit和Gecko等,这里也只会涉及这个模块的内容。 先用文字大致阐述下这个过程: 解析HTML, »

初识React中的High Order Component

我们都知道,如果使用ES6 Component语法写React组件的话,mixin是不支持的。而mixin作为一种抽象和共用代码的方案,许多库(比如react-router)都依赖这一功能,自己的项目中可能都或多或少有用到mixin来尽量少写重复代码。 如果希望使用ES6 Component,有希望可以用一个像mixin一样的方案的话,可以使用react-mixin这样的库,就有种hack的感觉。这里介绍一个新的方案:High Order Component。 什么是High Order Component? High Order Component,下面统一简称为HOC。我理解的HOC实际上是这样一个函数: »

Haskell学习笔记(一)

这周开始把空余的时间花了在学时间Haskell上,因为想学一门纯FP语言,拓展思路,体会另一种编程思想。其实学FP在几个月前就开始了,但是主要在看JS函数式编程指南,感觉有点抽象,没有特别理解其中的一些概念。所以现在从一门纯FP语言入手,顺便之后可以玩玩Elm。 搭建环境 最开始首先是要搭一个环境,Haskell的代码需要通过编译器编译执行,它最常用的编译器叫ghc。不过它还提供了一个解释器ghci,充当一个REPL的角色。 直接去官网选择对应平台下载即可,我下的是Minimal installers,包含ghc以及包管理工具Cabel。 然后我用的编辑器是Atom,装了language-haskell、autocomplete-haskell、haskell-ghc-mod以及ide-haskell这几个工具来辅助开发。 编译了一个HelloWord的程序出来,发现生成的文件比用C写的要大些。 »