Integrate mã javascript trên dự án ios
20:20
Unknown
, Posted in
Tin tức
,
0 Comments
1. Giới thiệu
Nghiên cứu chưa xong đã phải viết báo cáo rồi , thú thực là muốn viết ngon thì phải 2 tháng nữa cơ sinh con non thế này con nên nó yếu lắm, bạn đang đọc thì ráng chịu nhá, lỗi ko phải của tớ đâu :v. Sau một thời gian tự làm app, mình nhận thấy việc up app 1 mình tốn khá nhiều thời gian ảnh hưởng đến quá trình bạn distribute and earn money from product. Vì thế mình muốn tìm đến 1 phương cách có thể update app mà hạn chế phải up version mới của app len appstore -> Mình đang nghiên cứu các integrate javascript vào trong ios sau đó module hoá 1 số bộ phận của app bằng javascript để dễ dàng update code.
2. JavaScripCore Framework
Được apple giới thiệu từ WWDC 2013, javascriptcore giúp cho bạn integrate script vào trong app, trước kia chỉ có C api cho Mac và bay giờ là javascriptcore build on top cả trên mac và ios, giúp cho việc lập trình trở nên đơn giản và ít lỗi hơn.
Để reflect component trong javascript Apple định nghĩa các class cơ bản sau:
JSVirtualMachine : js code được chạy trên máy bảo js được định nghĩa bằng class.Bản thân JSVirtualMachine không hỗ trợ multithread, nếu bạn muốn chạy đa luồng thì bạn phải tạo nhiều JSVirtualMachine. Mỗi JSVirtualMachine Object có bộ nhơ heap và barbage collector của riêng nó, và không có liên hệ với JSVirtualMachine khác.
3. Thực hành
Để sử dụng javascript code bạn làm như sau:
Khởi tạo JSContext
Load Javascript Code từ file String
Get Object từ javascriptCode
Chạy object bằng hàm callWithArguments
Để sử dụng apple code trong javascript bạn có 2 cách:
Khởi tạo JSContext
Load Javascript Code từ file String
Get Object từ javascriptCode
Chạy object bằng hàm callWithArguments
Để sử dụng apple code trong javascript bạn có 2 cách:
- Với block: với objC thì măc định được visible trong js code với swift bạn phải khai báo @objc cho block của swift
- Với class: Sử dụng JSExportProtocol Khai báo 1 protocol extend từ JSExportProtocol
0 Response to "Integrate mã javascript trên dự án ios"
Đăng nhận xét