NativeScript 6.5

NativeScript 6.40 has a couple cool new things; but better yet it fixes several issues that can will affect your users if you are using 6.3.x lets look at them...

Some of the fixes include instability during android's fragment handling occurred in 6.32, which is worth while. A couple really awesome community PR's, and of course one of my favorite items is the new CSS parser by default and the v8 upgrades...

[UPDATE] The new 6.4.1 Android engine that was just released a day or so after 6.4.0 adds v8 version 8! Which add a lot of cool features (see v8 section)

Core Modules

  • NativeScript is got a new much faster CSS parser in v6.3 -- it is now default in 6.4!
  • The community (Ryan & Hamdi) and the NativeScript team worked on 3d rotation for a while now; this has now shipped! .rotate-x, .rotate-y, and .rotate-z
  • .Fixed background color reset on Tabs

We had even more awesome community PR's this month, a big thank you to the community!

CLI

The CLI team has fixed several outstanding bugs; including several webpack hmr issues. This also includes Node 13 and Android API 29 compatibility.

  • CLI now cleans up after itself in a corner case where CTRL-C'ing when first starting the build.
  • Doctor now will throw error if using Java 13 (NativeScript doesn't support it yet)
  • CLI Will now detect and let you know about the breaking issue of including multiple versions of the same plugins or multiple NativeScript core versions.
  • Native Metadata filtering, allow Application/Plugins to declare what Metadata they need; to allow smaller metadata and faster startup.

Webpack Changes

  • Snapshot bug fixes
  • Ability to set a Webpack config location so you can add custom application rules
  • Ability to allow custom platforms building (--env.platform <platform>)

V8

If you didn't read my notice on the last update; I'm creating this new v8 Section, because Android and soon iOS will both be using the same v8 engine. v8 was upgraded to v7.9 (in 6.4.0) and then the awesome v8.0 was slipped into (6.4.1) which adds:

  • IC Handlers are now cached properly; giving a ~12% for all IC calls into the C++ runtime.
  • OSR Replacement - 5% - 18% speed up.
  • Pointer Compression (Saves up to 40% of heap memory) which increased speed on large JS by a few percentage points!
  • Optional Chaining
  • Null coalescing

Android

  • Async WebAssembly issue resolved
  • Memory freed on some objects that were being retained
  • Upgraded to V8 8.0 (See v8 section)
  • Fix for Elevation usage on some API versions
  • "FlipRight/flipLeft" transition fixed

IOS

  • The CLI will warn you if you forget a module.modulemap file in your included .M files
  • Project Template is FastLane compatible
  • Fixed discarded exceptions
  • Safari Inspector now shows startup errors
  • A lot more changes to the new v8 version of the iOS runtime that is now in BETA testing to eventually replace the JSCore version... Overall now is the time to test it!

Updating NativeScript

To get updated; you first need to do:
npm i -g nativescript@latest

To update a project; you need to do the following:

Latest Runtimes:
tns platform remove android && tns platform add android@latest
tns platform remove ios && tns platform add ios@latest

Latest Core modules:
npm r tns-core-modules --save
npm i tns-core-modules@latest --save

To install Webpack support:
npm i nativescript-dev-webpack@latest --save-dev

To install latest NativeScript Angular plugin
npm i nativescript-angular@latest --save
You will then need to install the actual angular bits; which as of this post v6 is currently supported.

The addition of t additional analytics/tracking to the CLI reminded me; you can disable it permanently; if you value your privacy by doing:
tns usage-reporting disable && tns error-reporting disable

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.