说明:公司项目尚未开源,本文仅阐述实现方案,不涉及具体技术实现细节,见谅。

===============正文分割线=============

前言

Facebook发布React Native 已有两个多月,从开源初期我们就开始筹划的React Web终于也有了一个V1版本。在这次618大促的两个主会场中落地,实现了React Native代码到web的转换。

React Web的目的及意义非常明确: 让React Native代码跑在Web上让一套代码运行在各个移动终端,对前端及业务来说,这是开发效率中一个质的提升。在项目初期,我们也曾向 React团队咨询过类似的问题,他们团队的核心同学 @vjeux 也认为这是非常酷的事情,也是他们未来想做的事情。也许在发布React Native for Android的时候,也会发布React Web也说不定。(YY一下)

阅读全文——共3599字

react native 中,组件间通信无非3种情况:

以DEMO为例,有2个组件Input和 ShowText 。

1、组件嵌套,即Input是ShowText的子组件,在组件间通信可以通过state进行。

2、组件为同级关系,即Input和ShowText都属于页面级别内的组件,这是常见的组件间通信,可各自提供接口进行通信,利用props进行

3、除了以上2种的关系外的组件,比如Input在一个Container组件内,页面级别只有2个组件Container和ShowText。这种情况下,可创建一个全局的通信类。在react-native的2014 example 中 都有这样的代码,这里就不再贴代码了。

阅读全文——共2620字

前2周,fackbook发布了react-native , 一时间前端界异常兴奋。各种概念飞满天,俺作为前端一份子,也凑凑热闹。

花了2天时间,边看API边写代码,react-native 真是太新了,好多问题都google不到内容,来来去去都是官方文档,这2天下来,也算摸清了react-native的一些用法。

DEMO地址:https://github.com/hugohua/react-native-demo  以后又可以催逼自己会ios开发,哈哈。

过两天再写点经验贴吧。先贴个readme来凑凑字数。

React Native Demo

阅读全文——共1686字

本文转自:http://www.csdn.net/article/2013-04-27/2815077-code-organization-angularjs-javascript

在实际项目中,如果单纯的按model、view、controllers、template 等文件夹进行分类,等项目做大或者文件复杂后,就会出现混乱。因为不清楚引用关系。如本文所说的,找不到袜子,虽然知道在哪个抽屉里,但抽屉里内容太多,太类似。

在项目中,我们经常会修改或者维护单一的页面或者某个功能模块。如本文所说按功能模块或者页面进行文件组织确实是个不错的方法。

同时,也可以两者结合起来:先按项目功能分文件夹,里面再按MVC的架构细分文件夹。

每个项目都有一些common之类的功能模块,我建议是,如果一个功能或者函数,有超过2个以上的页面使用,就将它放于common文件夹。

阅读全文——共3217字

javascript的执行引擎是单线程的,正常情况下是同步编程的模式,即是程序按照代码的顺序从上到下依次顺序执行。只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),那么在执行期间任何UI更新都会被阻塞,界面事件处理也会停止响应。导致整个页面卡在这个地方,其他任务无法执行。

特别是在for循环语句里,如果for循环的处理逻辑比较复杂,并且循环次数过多,超过1000次时,javascript的执行会阻塞浏览器处理起来会有明显的假死状态。原因就是浏览器在调用javascript的时候,主界面是停止响应的,因为cpu交给js执行了,没有时间去处理界面消息。

为了解决卡死的问题,很多人提出了异步编程的解决方案,这也是性能优化的其中一个方式,在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应。现在很火的nodejs就是异步编程,比如路由派发,IO操作,都是异步的。

在前端页面实现中,最常见的异步就是ajax操作,请求一个ajax无需等待ajax返回,则可继续操作页面。

其他的还有通过setTimeout,setInterval,image.onload, postMessage,webwork等方式进行异步编程实现。

阅读全文——共2304字

原本链接:http://addyosmani.com/blog/large-scale-jquery/

题外话:本文是我们组妹纸mousachen翻译的,这里只是转载下。

今天,我们来看一看,你可以用来构建大型企业JQ应用的端对端工具和选择。虽然jQuery是一个很出色的JS库,为开发提供了一系列设计得很好的工具,但它专注于简洁和简化DOM的操作,这意味着它不能为构建大型应用提供重要的基本结构。

jQuery为DOM操作实现跨浏览器和跨平台的兼容。除了利用JQuery的优势,你可以加上其他的工具一起组合使用,形成适用于你的大型应用的开发工具。

有的开发者认为在过去关于构建RIA(富互联网应用),Dojo、MooTools或者YUI比起只是简单地使用 jQuery,更适合用于大型JS应用,然而,我相信你使用这个方案,也不会需要花太多的成本。

阅读全文——共10429字

最近想研究下Adobe Air ,发现网上的资源很少。以前在kalengo学的FLEX差不多都忘光了,这次想从HTML、JS方向来学学。网上看到这篇入门教程,便转过来放着。

第一步 — 安装Adobe AIR和Adobe AIR SDK

如果你还没装,可以去网站上下载Adobe AIR Runtime和Adobe AIR SDK.

装完Adobe AIR SDK以后,为了方便,你还需要把它的bin目录添加到系统的path变量下,这样你可以直接运行它的打包和debug工具。

第二步 — 创建一些目录

阅读全文——共1865字