美文网首页
js in iOS References

js in iOS References

作者: cooooooop | 来源:发表于2017-12-14 02:29 被阅读0次

PPT地址:js in iOS Dev

iOS开发中常用到与js交互的技术,本文总结一些这方面的参考资料:

iOS x js

iOS有很多和js相关的原生组件和库,例如显示网页的UIWebView、WKWebView,执行JS的JavaScriptCore。

UIWebView

UIWebView的使用方法可以参考苹果官方文档和唐巧博客里的总结:

UIWebView - UIKit | Apple Developer Documentation

关于UIWebView的总结 | 唐巧的博客

WKWebView

UIWebView的使用方法可以参考苹果官方文档,实践中遇到的问题现旗有总结过:

WKWebView - UIKit | Apple Developer Documentation

WKWebView的使用 | Ziank的技术博客

JavaScriptCore

JavaScriptCore的使用方法可以苹果官方文档和以下几篇博客:

JavaScriptCore | Apple Developer Documentation

JavaScriptCore初探 | iOS程序员

iOS JavaScriptCore使用 | 刘彦玮的技术博客

Cross-Platform

跨平台开发是现在的热门,例如:

Qt - Home (Chinese)

Mobile App Development & App Creation Software - Xamarin

Unity - Game Engine

PhoneGap

PWA

微信小程序

都具有开发App的能力。最为常见的js跨平台开发iOS应用的方式还属ReactNative,Weex和NativeScript。

ReactNative

ReactNative可以使用JS写Native代码,它是基于React框架的,可以参考一下网站:

React Native | A framework for building native apps using React

GitHub - reactnativecn/react-native-guide: React Native指南汇集了各类react-native学习资源、开源App和组件

React Native通信机制详解 « bang’s blog

Weex

Weex则是基于Vue框架的,可以参考一下网站:

Weex

Weex中文文档 · weexteam/article Wiki · GitHub

Weex原理概述 · Issue #32 · weexteam/article · GitHub

NativeScript

NativeScript则是基于Angular框架的,相对前两者不是很火,可以参考官网:

NativeScript

Hot Patching

热补丁是指通过js或其他脚本技术,在App上线之后,下发脚本对App代码进行热更新,更新原理一般都要用到MethodSwizzling,MethodSwizzling技术可以查看一下网址:

Method Swizzling - NSHipster

常见的热更新技术有WaxPatch和JSPatch,网易的AppPatch,以及一些动态App的方式。可参考以下几个网站:

WaxPatch

GitHub - mmin18/WaxPatch: Dynamically load a lua script to change the behavior of your iOS application.

使用Wax给你的应用程序打补丁

JSPatch

GitHub - bang590/JSPatch: JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally used to hot fix iOS App.

JSPatch 实现原理详解 · bang590/JSPatch Wiki · GitHub

AppPatch

AppPatch使用

Dynamic App

动态App方案是用Objective-C编写代码,代码通过JS等中间语言实现动态性,解决了不会JS的iOS程序员想写动态App的烦恼,有以下的方案:

滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航 - CocoaChina_让移动开发更简单

OCS——史上最疯狂的iOS动态化方案 - 简书

最后可以看一下这篇文章,是对iOS动态化技术演变的一个很好的总结

iOS 动态化的故事 « bang’s blog

Programming Method

编程思想上,iOS也经常借鉴前端开发的思想,例如组件化,函数式编程,MVVM,Reactive编程等。

组件化

iOS应用架构谈 组件化方案

iOS 组件化方案探索 « bang’s blog

函数式编程

GitHub - ipader/SwiftGuide: 这份指南汇集了Swift语言主流学习资源,并以开发者的视角整理编排。http://dev.swiftguide.cn

函数式Swift

MVVM & Reactive

GitHub - ReactiveCocoa/ReactiveCocoa: Streams of values over time

GitHub - ReactiveX/RxSwift: Reactive Programming in Swift

状态管理

GitHub - ReSwift/ReSwift: Unidirectional Data Flow in Swift - Inspired by Redux

异步编程

GitHub - mxcl/PromiseKit: Promises for Swift & ObjC

Swift 并行编程现状和展望 - async/await 和参与者模式


相关文章

网友评论

      本文标题:js in iOS References

      本文链接:https://www.haomeiwen.com/subject/bomtwxtx.html