ReactiveCocoa、ReactNative、Hybrid、NativeScript、OC、Swift、JavaScript

文章出处,原创于 https://HawkingOuYang.github.io/

我的GitHub


跨平台开发时代的 (再次) 到来?→ OneV

MVVM

MVVM-IOS-Example on GitHub

MVVMFramework on GitHub

ReactiveCocoa

MVVM Tutorial with ReactiveCocoa:(英文) by Colin Eberhardt on July 3, 2014

ReactiveCocoa 和 MVVM 入门(中文) by 杨萧玉 on 2015-05-21

RACSignal(信号) 就RAC来说事构造单元。

  • 将未来某时刻收到的消息具体表示出来。
  • 预先(称述性)运用逻辑并构建你的信息流 ---而不是必须等到事件发生(命令式)。
  • 信号会为了控制通过应用的信息流而获取所有这些异步方法(委托、回调block、通知、KVO,target/action事件观察,等)并将它们统一到一接口下 --- 因为信息会流过你的应用,它还提供给你轻松转换/分解/合并/过滤信息的能力。

RAC核心元素与信号流-IOS

几个月前看了一点RAC的介绍,感觉很强大但也很难入门,这次挖个坑,整理下RAC的资源。

ReactiveCocoa学习笔记

ReactiveCocoa2实战

【译】ReactiveCocoa基础:理解并使用RACCommand
【原文】ReactiveCocoa基础:理解并使用RACCommand

Why Reactive(Cocoa)? (原理介绍)

Inputs and Outputs
Paper Tape Computing (Linear Programming)
STATE
Compositional Event System (Non-Linear Programming)
In that time I’ve seen a lot of tools make the jump from linear to a non-linear style of thinking and working. I’ll talk about tools in another post, but even auto-layout is a great example of moving towards a non-linear (and reactive) approach. Instead of waiting for certain events to occur, then checking the status of a bunch of views and imperatively updating frames, you just describe what the relationships between all the views are ahead of time and let the computer do the work.
We want to define the relationship between events (inputs), define their subsequent outputs, and then let the computer react appropriately whenever those events occur. State still exists somewhere in this event system, but it’s largely abstracted away from our day to day work. That’s a big win. The paper tape still exists, but it’s all under the hood.
ReactiveCocoa

Reactive Programming on Objective-C (初级使用教程)

ReactNative

facebook RN on GitHub

React Native Tutorial: Building Apps with JavaScript by Colin Eberhardt on March 26, 2015

React-Native 的 Demo和使用说明 by 阮一峰 on 2015年3月31日

RN 阮一峰 Demo

如何评价 React Native?→ 知乎

React Native通信机制详解 by cnbang on 2015-3-30
React Native通信机制详解: React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没有用到JavaScriptCore提供的一些可以让JS与OC互调的特性,而是自己实现了一套机制,这套机制可以通用于所有JS引擎上,在没有JavaScriptCore的情况下也可以用webview代替,实际上项目里就已经有了用webview作为解析引擎的实现,应该是用于兼容iOS7以下没有JavascriptCore的版本。

Should I put a JavaScript function in a local or global scope?

Where to place JavaScript functions: ? ? or, after ?

webstorm

webstorm 是前端开发工具

macbook 下 webstorm 高效快键键

下面的快键键只是针对macbook 或者苹果键盘下的键位.

shift + Enter 软回车 ,无论在前一行代码的什么位置,都能定位到下一行.

command 显示/隐藏 左侧面板

command + b / 点击 定位方法

command + option + l 代码格式化

fn+option+f7 查看函数哪里调用过

command + e 打开最近打开的文件或者项目 (直接支持文件名搜索)

command + shift + v 选择粘贴剪切板上的内容

command + d 直接粘贴当前选中的内容

command + 退格键 删除当前鼠标所在行

command + option + 左右箭头 定位到上次编辑的位置

command + option + 上下箭头 依次顺序轮换激活打开的标签页

command + fn + f12 查看当前页面所有函数

command + f 当前页搜索

command + shift + f 全局搜索内容

command + shift + o 搜索文件

command + / 注释/取消注释

/** + Enter 自动生成注释

command + j 输出模板

control + tab 切换上次打开的文件

command + b 跳到变量声明处

command + x 剪切行

command + shift + u 切换大小写

ctrl + ~ 切换主题

Hybrid

论Web App、Hybrid App以及Native App的设计差异

Building hybrid React apps for iOS and Android with native performance → stackoverflow

NativeScript

The NativeScript Runtime → telerik

1
The NativeScript runtime may seem like magic, but believe it or not, the architecture isn’t all that complex. Everything starts with JavaScript virtual machines, as they’re what NativeScript uses to execute JavaScript commands. Specifically, NativeScript uses V8 on Android andJavaScriptCore on iOS. Because NativeScript uses JavaScript VMs, all native-API-accessing code you write, including the code in the examples above, still needs to use JavaScript constructs and syntaxes that V8 and JavaScript Core understand.

telerik

ionicframework

cordova

OC

Swift

JavaScript

JSPatch库

JSPatch说明