Tagged articles
15 articles
Page 1 of 1
Kuaishou Tech
Kuaishou Tech
Sep 10, 2021 · Mobile Development

Analyzing and Resolving a Main Thread ↔ JavaScriptCore Heap Collector Thread Deadlock on iOS 13

This article investigates a deadlock between the Main Thread and the JavaScriptCore Heap Collector Thread on iOS 13, explains the underlying mutex and RunLoop interactions, reproduces the issue with CFTimer‑based timers, and proposes an AutoReleasePool‑wrapped solution along with best‑practice recommendations for JavaScriptCore usage.

Memory ManagementRunLoopdeadlock
0 likes · 17 min read
Analyzing and Resolving a Main Thread ↔ JavaScriptCore Heap Collector Thread Deadlock on iOS 13
Kuaishou Frontend Engineering
Kuaishou Frontend Engineering
Sep 10, 2021 · Mobile Development

Main Thread vs JavaScriptCore: iOS 13 Deadlock Explained & Fixed

An in‑depth analysis reveals how a Main Thread and JavaScriptCore Heap Collector Thread can deadlock on iOS 13 due to RunLoop lock contention triggered by timer callbacks and AutoReleasePool memory reclamation, and provides a practical solution using scoped AutoReleasePool blocks to prevent the issue.

MobileRunLoopdeadlock
0 likes · 18 min read
Main Thread vs JavaScriptCore: iOS 13 Deadlock Explained & Fixed
58 Tech
58 Tech
Dec 25, 2019 · Mobile Development

NJCS: A Lightweight Dynamic Deployment Solution for iOS Apps – Usage Guide

This article introduces NJCS, a lightweight dynamic deployment framework for iOS that enables rapid feature updates without App Store re‑approval, explains its background, integration steps, page creation, navigation APIs, UI component usage, notification handling, and provides practical code examples for developers.

Mobile DevelopmentNJCSNotification
0 likes · 11 min read
NJCS: A Lightweight Dynamic Deployment Solution for iOS Apps – Usage Guide
Ctrip Technology
Ctrip Technology
May 27, 2019 · Mobile Development

Leveraging JavaScriptCore for Lightweight Native iOS UI Bridging with JavaScript

Facing iOS App Store review delays, the article explores a lightweight approach that combines native iOS UI with JavaScript via JavaScriptCore, detailing JSContext and JSValue usage, code examples for UI components, and the conversion process that enables dynamic, low‑overhead UI updates without heavy frameworks.

React NativeUIiOS
0 likes · 11 min read
Leveraging JavaScriptCore for Lightweight Native iOS UI Bridging with JavaScript
iQIYI Technical Product Team
iQIYI Technical Product Team
Apr 12, 2019 · Frontend Development

Design and Implementation of a JavaScript Automatic Binding Tool for the iQIYI RND Framework

The paper presents a custom JavaScript automatic binding tool for iQIYI’s React Node Desktop framework that parses C++ headers with libclang, applies user‑written YAML rules, generates multi‑inheritance‑aware wrappers via the Mate abstraction, and abstracts engine specifics through a Node‑Addon‑API‑based common layer to support both V8 and JavaScriptCore.

BindingC++JavaScript
0 likes · 24 min read
Design and Implementation of a JavaScript Automatic Binding Tool for the iQIYI RND Framework
Qunar Tech Salon
Qunar Tech Salon
Sep 7, 2018 · Mobile Development

Understanding JavaScriptCore in iOS: Architecture, Components, and Integration

This article explains the role of JavaScriptCore in iOS development, covering its origins in WebKit, the internal architecture of JSCore—including lexer, parser, LLInt and JIT—its key features, and how developers can use JSContext, JSValue, and JSExport to bridge Objective‑C and JavaScript for hybrid applications.

Hybrid DevelopmentJSContextJSValue
0 likes · 30 min read
Understanding JavaScriptCore in iOS: Architecture, Components, and Integration
Meituan Technology Team
Meituan Technology Team
Aug 23, 2018 · Mobile Development

Understanding JavaScriptCore in iOS: Architecture, Core Concepts, and Integration

JavaScriptCore, the iOS‑embedded JavaScript engine derived from Safari’s WebKit, offers a lexer, parser, interpreter and optional JIT, exposing APIs such as JSContext, JSValue and JSExport so Objective‑C/Swift code can evaluate scripts, exchange data, and interact bidirectionally, enabling lightweight hybrid app development with automatic tracing garbage collection.

JSBridgeMobile DevelopmentWebKit
0 likes · 30 min read
Understanding JavaScriptCore in iOS: Architecture, Core Concepts, and Integration
Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
Apr 11, 2017 · Mobile Development

Unlocking iOS Power: Mastering JavaScriptCore for Seamless JS Integration

This article explores how JavaScript has become integral to client‑side development, introduces the JavaScriptCore framework that enables iOS apps to execute JavaScript, and provides detailed guidance on its architecture, core classes, concurrency model, object bridging, memory management, and error handling.

JSContextJSValueMobile Development
0 likes · 23 min read
Unlocking iOS Power: Mastering JavaScriptCore for Seamless JS Integration
WeChat Client Technology Team
WeChat Client Technology Team
Oct 19, 2015 · Mobile Development

How JSPatch Enables Dynamic iOS Updates: Deep Dive into Its Runtime Mechanics

JSPatch is an open‑source iOS dynamic‑update framework that leverages Objective‑C runtime and JavaScriptCore to let developers call and replace native methods via JavaScript, with detailed explanations of its core principles, method invocation, replacement, struct and C‑function support, and advanced implementation tricks.

Dynamic UpdateJSPatchRuntime
0 likes · 27 min read
How JSPatch Enables Dynamic iOS Updates: Deep Dive into Its Runtime Mechanics