100% OFF

JSBox - Learn to Code

Mobile JavaScript IDE

2.32.0 for iPhone, iPad
Free · $7.99
9.7

224 Ratings

Update Date

2023-09-14

Size

177.9 MB

Screenshots for iPhone

iPhone
JSBox - Learn to Code Description
* JSBox is featured by: sspai.com, Price Tag, AppSolution etc

# What's JSBox?

JSBox is an Integrated Development Environment for JavaScript. You can learn to code JavaScript here, as we provide tons of utilities to enhance the development experience.

JSBox is amazing for both beginners and experienced engineers. Don't you wanna try it out?

Don't hesitate to create cool stuff—do it now!

# What can JSBox do?

Of course you can write JavaScript, but the most important thing is that you can create native iOS utilities, such as:

- Upload photos you have just taken to the server
- Create a widget to check bus information
- Schedule tasks by leveraging date-based or location-based notifications
- Design an extension for the Photos app to search photos directly
- Design your own widget and keyboard
- Make a real-time tool to query the exchange rate
- Collect your most important contacts and handle it on the widget

There are many possibilities; we believe you can create coolest stuff.

# What's in JSBox?

JSBox is not only a full-fledged environment for standard JavaScript, but also provides many utilities:

- A safe environment to run JavaScript natively with incredible performance
- A beautiful editor to write JavaScript, multiple themes, auto-completion, and snippets...
- Many advanced development tools: lint, prettier, diff viewer and database viewer...
- A desktop extension to write code extremely fast and comfortable
- Almost all the cool tech in iOS: Siri/Shortcuts, Today Widget, Action Extension, 3D Touch, Home Screen Shortcut...
- A lot of awesome examples for beginner

We are still working on it and will introduce cooler features in the future.

# Terms of Use

https://jsboxbbs.com/d/1035-terms-of-service

# Privacy Policy

https://jsboxbbs.com/d/1034-privacy-policy

# Contact us!

Please contact us in the following ways. Don't hesitate to report any issues. Thank you!

- [Community](https://en.jsboxbbs.com)
- [Email](mailto:log.e@qq.com)
- [Twitter](https://twitter.com/cyanapps)
- [Weibo](https://weibo.com/0x00eeee)
JSBox - Learn to Code 2.32.0 Update
2023-09-14
Fix issues running on the latest operating system.
More Information
Price:
Free
Version:
2.32.0
Size:
177.9 MB
Update Date:
2023-09-14
Developer:
颖 钟
Language:
Chinese English

Safe to Download

AppPure.com and the download link of this app are 100% safe. The download link of this app will be redirected to the official App Store site, thus the app is original and has not been modified in any way.

Got it
X
Share

Share this page with your friends if you find it useful

Facebook Linkedin Pinterest Tumblr Twitter Whatsapp Line
2.32.0 2023-09-14
Fix issues running on the latest operating system.
2.31.0 2023-03-24
Making JSContext inspectable through remote inspector in Mac Safari, being able to debug scripts using breakpoints and step over.

Learn more: https://docs.xteko.com/#/en/debug/inspector
2.30.1 2023-02-15
This update includes a bunch of fixes for recently reported bugs, thank you for the feedback! Besides, we also updated the version of nodejs.
2.30.0 2022-07-21
Fixed some accessibility issues, revamped some APIs, please check out our online documentation to learn more.
2.22.1 2022-03-29
Fixed some accessibility issues, revamped some APIs, please check out our online documentation to learn more.
2.22.0 2022-03-28
Mostly for bug fixes, some APIs were revamped, please check out our online documentation to learn more.
2.19.4 2022-01-31
- Added: transform code using Babel
- Added: pull-down menus for buttons and navButtons
- Added: $keychain module for keychain access
- Added: prefs.json now supports passwords
- Added: $prefs.edit(...) for JSON preference editing
- Added: $text.uuid for UUID string generation
- Added: more $editor APIs like hasText, insertText, and deleteBackward
- Added: $photo.pick(...) now returns filename
2.19.3 2022-01-10
- Added: transform code using Babel
- Added: pull-down menus for buttons and navButtons
- Added: $keychain module for keychain access
- Added: prefs.json now supports passwords
- Added: $prefs.edit(...) for JSON preference editing
- Added: $text.uuid for UUID string generation
- Added: more $editor APIs like hasText, insertText, and deleteBackward
- Added: $photo.pick(...) now returns filename
2.17.3 2021-10-15
Fully optimized for iOS 15, built on top of the latest framework, support for the extra large widgets for iPadOS 15 and web inspector for Safari.

Please note that, Safari extensions now require the user to manually allow it.
2.17.2 2021-10-11
Fully optimized for iOS 15, built on top of the latest framework, support for the extra large widgets for iPadOS 15 and web inspector for Safari.

Please note that, Safari extensions now require the user to manually allow it.
2.17.1 2021-09-30
Fully optimized for iOS 15, built on top of the latest framework, support for the extra large widgets for iPadOS 15 and web inspector for Safari.
2.17.0 2021-09-24
Fully optimized for iOS 15, built on top of the latest framework, support for the extra large widgets for iPadOS 15 and web inspector for Safari.
2.13.0 2020-11-23
- Added: widget options can be provided with "widget-options.json"
- Added: web view can be loaded with "request" parameter
- Added: intrinsicSize can be overridden for all views
- Improved: new Node.js version
- Improved: updated SF Symbols for iOS 14

Please refer to https://docs.xteko.com/#/en/ for details. As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.12.0 2020-10-26
We are bringing you home screen widgets with this update, along with some bug fixes.

Please check out the latest documentation for the awesome widgets support: https://docs.xteko.com/#/en/home-widget/intro

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.11.0 2020-06-25
We are bringing you Node.js v12.16.3 with this update, along with some bug fixes.

Also, we rewrote the code editor and markdown renderer to make them better.

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.10.0 2020-05-27
Welcome back, this update bumps the Node.js version to v12.6, here is the official documentation for notable changes: https://nodejs.org/tr/blog/uncategorized/10-lts-to-12-lts/

We have been porting the new Node.js version for a while, and it's finally here. This is also likely to introduce breaking changes to your existing workflow, please report if any.

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.9.1 2020-04-13
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: support for iPadOS trackpad interaction
- Added: iPadOS trackpad enter/exit events
- Added: using SF Symbols as script icons
- Added: APIs for script category management
- Added: $ui.success(...) and $ui.warning(...)
- Improved: selected state for list cells
- Improved: better ways for making smooth corners
- Improved: adjusted some layouts for iPadOS

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.9.0 2020-03-31
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: support for iPadOS trackpad interaction
- Added: iPadOS trackpad enter/exit events
- Added: using SF Symbols as script icons
- Added: APIs for script category management
- Added: $ui.success(...) and $ui.warning(...)
- Improved: selected state for list cells
- Improved: better ways for making smooth corners
- Improved: adjusted some layouts for iPadOS

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.8.0 2020-03-24
# Release Notes

This is an exciting update, Dark Mode is here! We made lots of changes to fully support dark mode, also provided the corresponding APIs for your scripts.

Dark mode support involves many changes and improvements, you are encouraged to provide suggestions and feedback, thanks!

Please refer to our documentation for scripting APIs: https://docs.xteko.com/#/en/uikit/dark-mode

# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.7.0 2020-03-22
# Release Notes

This is an exciting update, Dark Mode is here! We made lots of changes to fully support dark mode, also provided the corresponding APIs for your scripts.

Dark mode support involves many changes and improvements, you are encouraged to provide suggestions and feedback, thanks!

Please refer to our documentation for scripting APIs: https://docs.xteko.com/#/en/uikit/dark-mode

# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.6.0 2020-03-12
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Recent Changes

- Added: auto-sizing cells for list view and matrix view
- Added: styled text support for text/input/label components
- Added: $prefs.all() for retrieving all preferences
- Fixed: encoding issue with local:// paths
- Fixed: some UI glitches and minor bugs
- Improved: $image(...) method now supports 'scale' argument
- Improved: list view static cells are now selectable
- Improved: adjusted the UX editor to support more attributes

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.5.1 2020-03-05
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (you won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription (starts from purchase date)
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: auto-sizing cells for list view and matrix view
- Added: styled text support for text/input/label components
- Added: $prefs.all() for retrieving all preferences
- Fixed: encoding issue with local:// paths
- Fixed: some UI glitches and minor bugs
- Improved: $image(...) method now supports 'scale' argument
- Improved: list view static cells are now selectable
- Improved: adjusted the UX editor to support more attributes

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.4.0 2020-02-27
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (You won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: $device.isVoiceOverOn for checking whether VoiceOver is running
- Added: 'dismissed' callback for $ui.popover(...) method
- Added: $data object now supports 'byteArray' property
- Added: construct $data object using 'byteArray'
- Added: $data supports gzip related methods: gzipped, gunzipped, and isGzipped
- Added: $keyboard now supports 'textBeforeInput' and 'textAfterInput'
- Fixed: issues when running Node modules in iCloud folder
- Fixed: iOS 12 crashes due to missing SF Mono font

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.3.0 2020-02-19
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (You won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: editor font installation and management
- Added: enable system monospaced font for iOS 12 and above
- Added: launch in safe mode for troubleshooting (in system settings)
- Fixed: unable to add scripts to home screen in iOS 13
- Fixed: global object doesn't exist in REPL environment
- Fixed: 'Content-Type' will be overridden mistakenly for $http.upload(...)
- Improved: better text search experience
- Improved: tweaked some UI details

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.2.0 2020-02-16
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked `permanently` even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Migration for Existing Users

- All features before 2.0 are `still available`, and will be maintained (You won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: $ui.popover(...) method for presenting popovers
- Added: safe mode (in system settings) for troubleshooting
- Fixed: some UI glitches due to safe area
- Fixed: console log doesn't refresh for some reason
- Fixed: crash loop due to pinned scripts
- Fixed: crash loop due to Node.js engine
- Fixed: titleColor for keyboard scripts
- Fixed: iCloud Drive files cannot be moved to the root folder
- Improved: replaced some action sheets with popovers in the app
- Improved: better hardware keyboard experience for text editing
- Improved: section title for list views no longer force uppercased
- Improved: tweaked some UI details

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage of both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.1.0 2020-02-06
# JSBox 2.0 Notice

## Subscribe for New Features

- Free download for trial, subscribe to unlock all features and upcoming updates in the next year
- All features are unlocked permanently even subscription is expired
- It's similar to the "Season Ticket" mode that is well-known for some games

## Existing Users Migration

- All features before 2.0 are still available, and will be maintained (You won't lose any existing features)
- Existing users are considered as already paid for a one-year subscription
- Existing users can unlock 4 special icons after one subscription is made
- We offer a 32% off discount for existing users

If you have any questions, do not hesitate to contact us via log.e@qq.com, or refer to our Terms of Service: https://jsboxbbs.com/d/1035

# Release Notes

- Added: WebDAV server for scripts management
- Added: $imagekit APIs for image processing
- Added: cheerio module for JSBox scripts
- Added: some new APIs, such as $device.isJailbroken()
- Fixed: crash loop due to performance issues
- Fixed: $ui.menu(...) callback will be called twice sometimes
- Improved: WebP images can be loaded now
- Improved: skip syntax-highlighting and auto-completion for minified files
- Improved: better experience for external keyboard
- Improved: better console view for debugging
- Improved: use built-in Promise for iOS 13

For API changes, please refer to our documentation websites:

- https://docs.xteko.com/#/en/
- https://cyanzhong.github.io/jsbox-nodejs/#/en/

# About Node.js

In the previous update, we introduced Node.js support for JSBox. From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage from both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
2.0.0 2020-02-02
We are so excited to announce JSBox 2.0 with this update, this is an important milestone to us.

From now on, JSBox supports two JavaScript runtimes:

- The JSBox runtime that you have been using so long
- The Node.js runtime that brings you more possibilities

The Node.js runtime runs Node.js v10.13.0, we also prepared many native modules that you can use directly.

More importantly, these two runtimes can call each other, which means you can write programs that take advantage from both.

For more details, please refer to our documentation for the Node.js runtime: https://cyanzhong.github.io/jsbox-nodejs/#/en/

As always, please stay tuned for more exciting features!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.60.0 2020-01-16
We are bringing you some bug fixes and new features with this update. JSBox 2.0 which will be announced in early 2020, stay tuned.

- Added: $ui.render(...) supports 'titleView' property
- Added: menu view supports 'dynamicWidth' property
- Added: list view supports 'hasActiveAction' property
- Fixed: db.query(...) unable to retain result set
- Fixed: UI editor crashes
- Fixed: syntax highlighter doesn't work for HTML files
- Improved: $prefs.open(...) supports callback function

We are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.59.0 2019-12-31
Welcome back. We are bringing you some bug fixes and new features with this update. JSBox 2.0 which will be announced in early 2020, stay tuned.

- Added: syntax highlighting view for $ui.render(...)
- Fixed: some layout issues
- Fixed: some UI glitches
- Improved: faster syntax highlighting engine
- Improved: $ui.menu(...) for lots of items
- Improved: $http.get(...) uses shared session when possible
- Improved: better HUD view

We are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.58.0 2019-12-21
We are bringing you some bug fixes with this update, and preparing JSBox 2.0 which will be announced early new year, stay tuned. Wish you a great holiday :)

Recent updates:

- Added: $editor.view for editor plugins
- Added: 'barColor' and 'titleColor' for $ui.render(...)
- Added: views now support sizeToFit() method
- Added: views now support 'window' property
- Added: 'doubleTapToZoom' for scroll views
- Fixed: some crashes around the $xml module
- Fixed: some crashes around the $contact module
- Fixed: some UI glitches
- Fixed: endless loop when printing some views
- Improved: file explorer performance for lots of items
- Improved: lint performance and prettier performance
- Improved: view rendering performance
- Improved: some internally used dependencies

We are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
1.56.0 2019-12-02
This week, we are primarily focusing on quality. We fixed some performance issues, also introduced some new APIs.

- Added: context menu APIs: https://docs.xteko.com/#/en/uikit/context-menu
- Added: zoomable images: https://docs.xteko.com/#/en/component/image
- Added: view hierarchy methods, such as insertBelow(...), insertAbove(...), moveToFront(), and moveToBack()
- Added: $image(...) function to create images easily
- Added: alwaysTemplate and alwaysOriginal methods to image objects
- Added: auto-saving for the code editor (disabled by default)
- Added: flashlight for the QR scanner, turnOnFlash parameter for its API
- Fixed: file explorer unable to import live photo images correctly
- Improved: touchesBegan, touchesMoved, and touchesEnded support multi-touch results
- Improved: interface builder also supports touchesXXX methods now
- Improved: console.log(...) to be able to print "null" and "undefined"
- Improved: the built-in SF Symbols picker supports categories
- Improved: the editor toolbar with some nice icons
- Improved: auto-generated code to use ES6 syntax

We are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.55.0 2019-10-29
This week, we are primarily focusing on quality. We fixed some performance issues, also introduced some new APIs.

- Added: loading image now supports custom HTTP headers
- Added: $context.clear() that removes all data in the context object
- Added: speech service now supports voice settings
- Fixed: launching scripts with URL scheme not working for some edge cases
- Fixed: network inspector doesn't work in iOS 13
- Improved: share sheet API now supports specify file names gracefully
- Improved: better in-app documentation experience
- Improved: slightly changed some UI elements to make them better
- Improved: slightly changed the app icon for better dark mode visibility

We are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.54.0 2019-10-09
This week, we are primarily focusing on quality. We fixed some issues that lead to crashes or terrible app performance, especially for iOS 13 users.

Don't worry, we are still working on some cool features, such as Node.js support, stay tuned.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.53.0 2019-10-04
With this update, we are bringing you some exciting features, here are some noteworthy changes:

- Fixed: top crashes in the app and JavaScript engine
- Fixed: issues of running JavaScript in the Shortcuts app
- Fixed: $contact.fetch returns nothing in iOS 13
- Fixed: $ui.toast layout issue when navBarHidden is true
- Improved: better background color for grouped list view

Recent updates:

- Added: new code font Cascadia Code
- Fixed: unable to use ASCII keyboard as default
- Fixed: globe key is not showing on some devices
- Fixed: $ui.toast doesn't work correctly on the share sheet
- Fixed: some crashes of the app or the JavaScript engine
- Fixed: Face ID isn't working on some devices
- Improved: newer prettier version
- Improved: when "" is inserted, it wraps the selected text

We are still working on some cool features like Node.js support, stay tuned!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.52.0 2019-09-26
With this update, we are bringing you some exciting features, here are some noteworthy changes:

- Added: new code font Cascadia Code
- Fixed: unable to use ASCII keyboard as default
- Fixed: globe key is not showing on some devices
- Fixed: $ui.toast doesn't work correctly on the share sheet
- Fixed: some crashes of the app or the JavaScript engine
- Fixed: Face ID isn't working on some devices
- Improved: newer prettier version
- Improved: when "" is inserted, it wraps the selected text

Recent updates:

- Added: in/out parameters for shortcuts
- Added: $prefs module for making user settings quickly
- Added: stack view for laying out subviews gracefully
- Fixed: some bugs in the new operating system
- Fixed: cannot retrieve modules like $ui in the JavaScript engine
- Improved: some $server module behaviors

We are still working on some cool features like Node.js support, stay tuned!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.51.0 2019-09-16
With this update, we are bringing you some exciting features for the new iOS, here are some noteworthy changes:

- Added: in/out parameters for shortcuts
- Added: $prefs module for making user settings quickly
- Added: stack view for laying out subviews gracefully
- Fixed: some bugs in the new operating system
- Fixed: cannot retrieve modules like $ui in the JavaScript engine
- Improved: some $server module behaviors

We are still working on some cool features like Node.js support, stay tuned!

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.50.0 2019-07-22
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.49.0 2019-07-02
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.48.0 2019-05-30
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.47.0 2019-05-20
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.46.0 2019-05-09
This week, we are primarily focusing on quality, here are some noteworthy changes:

- Added: the ability to turn off the iCloud Drive tab
- Added: $xml element now provides "node" property
- Fixed: taptic engine doesn't work on some devices
- Fixed: $addin.run() doesn't work correctly
- Fixed: some errors in the offline documentation
- Improved: code editor has a better-looking toolbar

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.45.1 2019-04-27
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.45.0 2019-04-25
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.44.0 2019-04-15
With this update, we are bringing you support for the iCloud Drive. It enables file syncing functionality when iCloud Drive is enabled.

We are still working on some neat features like better iPad support, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.43.0 2019-03-28
With this update, we are bringing you support for the Files app. That means you can edit source files with other code editors.

We are still working on some useful features like better iPad support, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.42.0 2019-02-28
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.41.0 2019-02-13
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.40.0 2019-02-07
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.39.0 2019-01-17
This week, we are primarily focusing on quality, so there are no highlights other than bug fixes and improvements.

Don't worry, we are still working on some nice features like iPad related improvements, we will be right back soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.38.0 2019-01-09
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: plugin APIs for the code editor
- Added: line wrapping setting for the code editor
- Added: reader mode for the code editor
- Added: chart view for data visualization
- Improved: redesigned keyboard
- Fixed: some bugs in the UI editor

We are still working on some useful features like better iPad support, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.36.0 2018-12-23
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: UI editor
- Added: shake event detection
- Added: $keyboard.getAllText() for keyboard
- Added: $file.merge() and $file.split() for file merging/splitting
- Added: construct files with base64 strings
- Fixed: widget height issue
- Fixed: some other minor fixes

We are still working on some useful features like better iPad support, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.35.0 2018-11-13
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: new iPad Pro related optimizations
- Added: Apple Pencil tap events handler
- Added: header & footer properties for matrix view
- Added: accessibilityLabel for all components
- Improved: support disabled items for $ui.action(...) & $ui.alert(...)
- Improved: better VoiceOver support
- Improved: faster Eruda and vConsole
- Improved: $lua.eval(...) can print logs to console
- Fixed: several UI issues on small screens

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.34.0 2018-11-03
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: $ui.render(...) supports keyCommands
- Added: "text" view supports "placeholder" attribute
- Added: commenting with key command
- Added: supports expand console outputs
- Improved: updated ESLint version
- Improved: console.log(...) can pretty print objects
- Fixed: added missing icons for home quick actions
- Fixed: gallery doesn't work correctly in some cases
- Fixed: $text.lookup(...) shows incorrect HTML
- Fixed: $system.volume doesn't work in iOS 12
- Fixed: $http.post(...) crashes when body data is invalid

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.33.0 2018-10-25
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: XML/HTML parser $xml
- Added: function indexing, jump to function declarations
- Added: keyboardView and accessoryView for input views
- Added: delete/reorder scripts easily
- Improved: $qrcode.scan() supports front camera
- Improved: $pdf.make() now supports images
- Improved: console.log(object) now prints properties
- Fixed: some VoiceOver related issues, especially on iPad
- Fixed: spotlight works incorrectly in iOS 12
- Fixed: some external keyboard related issues
- Fixed: app hangs when moving files in file explorer
- Fixed: navBarHidden breaks swipe back gesture
- Fixed: $drive.list() returns wrong results

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://en.jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.32.0 2018-10-11
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: native Lottie Animation support
- Added: bracket matching/highlighting
- Added: select text block between brackets
- Added: dark keyboard for the code editor
- Improved: syntax highlighting performance
- Improved: code assistant features can be turned off
- Fixed: some crashes while editing
- Fixed: app hangs when typing template strings

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.31.0 2018-10-03
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: minimap that provides a minimized view for content
- Added: editor can show invisible characters, you can turn it off in settings
- Added: hex viewer that can preview binary files
- Added: some new editor fonts like "Hack"
- Improved: much better code editor performance
- Improved: better compatibility for notch devices
- Improved: code editor supports pan gestures
- Fixed: some issues on Siri and Shortcuts
- Fixed: auto-completion doesn't work with emojis
- Fixed: $context.items might be null if users launch action quickly

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.30.0 2018-09-18
For this update, we would like to mention two major improvements: Siri/Shortcuts support, and brand new code editor.

# Siri/Shortcuts

- Run JSBox script via Siri voice
- Run JSBox script in Siri and Shortcuts app
- Present view with JSBox script on Siri's view
- Run JavaScript via JSBox in Shortcuts app

# New code editor

- Better auto-completion
- Real-time type checking
- Code assistance (rename, definition, etc.)
- Inline documentation
- Reference highlighting

In short, the editor has been rewritten to a new level, and we are ready to support the awesome Siri/Shortcuts in iOS 12!

We are working on better external keyboard support, see you next time.
1.29.0 2018-09-12
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: web socket API: $socket
- Added: web server API: $server
- Added: ESLint based linting utility
- Added: diff utility to preview changes
- Added: many new APIs like image.colorAtPixel()
- Improved: replaced code beautifier with prettier.io
- Fixed: some issues on app and JavaScript engine

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.28.0 2018-08-27
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: SQLite APIs and viewer
- Added: offline documentation
- Improved: iPad related optimizations
- Improved: console related optimizations
- Fixed: some issues on app and JavaScript engine

We are still working on some useful features like UI editor, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.24.0 2018-07-11
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: new APIs like $ui.clearToast, $network.proxy_settings
- Added: new events like touchesBegan, touchesMoved, touchesEnded
- Improved: redesigned theme picker view
- Improved: waterfall layout for matrix view
- Improved: redesigned Runtime syntax
- Fixed: some issues on app and JavaScript engine

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.23.0 2018-07-04
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: view console output easily with a bar
- Added: new APIs like $device.isIphoneX, $text.sizeThatFits
- Improved: long press to reorder matrix items
- Improved: $browser supports async/await
- Fixed: some issues that crash the app

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.22.0 2018-06-26
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: basic support for Siri
- Added: clear scheduled notifications
- Added: cachePolicy for $http
- Added: new APIs like $system.makeIcon, $safari.addReadingItem
- Improved: better inspector
- Fixed: some issues that crash the app

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.21.0 2018-06-19
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: customizable icon for scripts
- Added: $ui.selectIcon to select an icon
- Added: inspector and network traffic logger
- Added: several new APIs like $widget, $app.notify
- Improved: better performance of matrix view
- Fixed: console.log(json) error in some cases

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.20.0 2018-06-12
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: there are 3 widgets instead of only one
- Added: $lua.eval to run evaluate scripts
- Improved: replay action in console view
- Improved: improvements for iOS 10 devices
- Fixed: keyboard extension related fixes

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG
1.19.0 2018-06-07
Bug fixes and improvements are included, also brought some new features.

Here are some highlights we want to point out for this release:

- Added: nice previewer for JSON files
- Added: $quicklook supports JSON format
- Added: console.log supports JSON format
- Improved: error message for JavaScript exceptions
- Fixed: some themes have wrong background color
- Fixed: script appears again after delete
- Fixed: performance issue on older devices

We are still working on some useful features like offline docs, will introduce soon.

Feel free to contact us by:

Community: https://jsboxbbs.com
Email: log.e@qq.com
Telegram: https://t.me/PinTG