美文网首页
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