Egghead Instructor Nathan Walker

Nathan Walker

Nathan Ross Walker has enjoyed the opportunity to work in the web/mobile app development arena for over 15 years. His varied background rooted in the world of design and the arts provides him a unique approach to problem solving. Spending several years working across multiple industries including entertainment, audio/video production, manufacturing, b2b marketing, communications, and technology helped establish a focused sensibility with client needs.



Support Nathan's Free Lessons
become a member today

Browse Nathan Walker's lessons.

showing 31 lessons...

Create iOS custom UIViewController components with NativeScript for Angular

Use an Android library in NativeScript for Angular using Java apis

Use Objective C Delegates in NativeScript for Angular iOS apps

Generate metadata TypeScript declarations for Objective C/Swift libraries on iOS

Develop a public NativeScript plugin using the nativescript-plugin-seed

Conditionally require a NativeScript plugin when only a single platform is supported

Build a custom NativeScript view component for iOS

Convert a Swift library to NativeScript for Angular iOS apps

Develop a consistent plugin api across your Android and iOS NativeScript app

Use an Objective C library in NativeScript for Angular iOS app

Build a custom NativeScript view component for Android

Translate common Java/Android APIs into NativeScript for Angular Android apps

Prepare for native iOS and Android api intellisense with NativeScript

Modify status bar colors on iOS and Android with NativeScript

Create a custom app theme using SASS for NativeScript

Use the nativescript-themes plugin to switch app themes on the fly

Integrate a custom NativeScript UI component plugin via npm and registerElement

Bind data to NativeScript Angular components using RxJS Observables

Display lists using NativeScript’s ListView component

Open an Angular component in a native iOS and Android popup modal

Handle back navigation when using page-router-outlet

Create a page title using ActionBar

Add styles to active routes using nsRouterLinkActive

Add native mobile page navigation using Angular Router

Edit with live reloading using NativeScript livesync

Style NativeScript views using the default core theme

Style NativeScript views using CSS

Create native mobile views using NativeScript XML

Preview NativeScript Apps in the GenyMotion Android emulator

Preview NativeScript apps in the iOS Simulator

Set up a native mobile app using the NativeScript CLI

angular2 tutorial about Create iOS custom UIViewController components with NativeScript for Angular

Create iOS custom UIViewController components with NativeScript for Angular

10:00 angular2

Learn how to construct sophisticated custom components using UIViewController. Understand how to construct UIButton's programmatically and attach tap events via NativeScript using the static ObjCExposedMethods property. Also learn how to save images to the user's iPhone Camera Roll using native api's. Specifically we will look at creating a custom {N} view component for SwiftyCam (a Snapchat inspired implementation: https://github.com/Awalz/SwiftyCam).

angular2 tutorial about Use an Android library in NativeScript for Angular using Java apis

Use an Android library in NativeScript for Angular using Java apis

7:26 angular2

We will learn how to add an Android library to our project and translate it’s Java api to NativeScript. For this lesson, we will look at Filestack’s Android SDK built with Gradle. Specifically, we will cover how to immediately start working with the library even when a NativeScript plugin does not exist for it.

angular2 tutorial about Use Objective C Delegates in NativeScript for Angular iOS apps

Use Objective C Delegates in NativeScript for Angular iOS apps

7:06 angular2

Objective C is a very interesting programming language which offers a lot of power as well as interesting paradigms. Let’s look at some Objective C api’s and how they translate to NativeScript. In particular, let’s learn how to wire up iOS delegates using Filestack's FSPickerDelegate as an example. We will also look at handling WeakRef’s and iterating an NSArray.

angular2 tutorial about Generate metadata TypeScript declarations for Objective C/Swift libraries on iOS

Generate metadata TypeScript declarations for Objective C/Swift libraries on iOS

1:22 angular2

Learn how to generate TypeScript declaration files for all native api’s for iOS, including any 3rd party Objective C/Swift libraries included in your project via Cocoapods or other means. This will allow you to view all the metadata for included iOS libraries to see what classes and apis are exposed to NativeScript.

angular2 tutorial about Develop a public NativeScript plugin using the nativescript-plugin-seed

Develop a public NativeScript plugin using the nativescript-plugin-seed

4:16 angular2

Learn how to use the nativescript-plugin-seed to kick start your NativeScript plugin development rapidly. Let’s examine best practices when developing a plugin api for public consumption, project organization, and how to publish it to npm. It will also show up within 1 day on the Offical Source for NativeScript Plugins.

angular2 tutorial about Conditionally require a NativeScript plugin when only a single platform is supported

Conditionally require a NativeScript plugin when only a single platform is supported

2:05 angular2

Sometimes a NativeScript plugin may only support 1 platform (iOS or Android). In these cases, we will want to conditionally require the plugin to ensure we don’t crash the other unsupported platform. Let’s consider view and service level implications for how best to handle these scenarios.

angular2 tutorial about Build a custom NativeScript view component for iOS

Build a custom NativeScript view component for iOS

8:26 angular2

Building a custom NativeScript XML view component for iOS entails several interesting notes, like overriding the onLoaded method of the base NativeScript View class. Let’s look at how to properly build a custom component based on an underlying native view widget with NativeScript XML which may come from a CocoaPod. We will learn several important aspects regarding Objective C properties and methods you will need to consider. In particular, we will implement this Objective C view component

angular2 tutorial about Convert a Swift library to NativeScript for Angular iOS apps

Convert a Swift library to NativeScript for Angular iOS apps

6:33 angular2

Swift is an exciting and intuitive programming language developed by Apple to be easier to learn than Objective C. It's syntax also more closely resembles JavaScript. Some native libraries you could work with may have been developed with Swift. Let’s look at a couple cases you could run into when trying to work with a Swift based iOS library. In particular, we will be implementing this Swift 3.0 CocoaPod. Also learn how to write files to your app’s document folder using NativeScript’s ‘file-system’ module.

angular2 tutorial about Develop a consistent plugin api across your Android and iOS NativeScript app

Develop a consistent plugin api across your Android and iOS NativeScript app

9:44 angular2

One of the exciting benefits you have with NativeScript is the ability to write native code (Java and Objective C) directly in JavaScript/TypeScript allowing you to create a consistent high level api over top of both underlying iOS Objective C/Swift and Android Java apis. In this lesson, we will look at how to design a consistent api that taps into the appropriate native api’s on the target platforms using underlying native libraries.

angular2 tutorial about Use an Objective C library in NativeScript for Angular iOS app

Use an Objective C library in NativeScript for Angular iOS app

9:57 angular2

We will learn how to install an Objective C library distributed via a CocoaPod into our project and expose its native api to our app. Specifically, we will cover how to immediately start working with the library even when a NativeScript plugin does not exist for it. Take for example Filestack, a really powerful file uploading api that provides an SDK written in JavaScript for the web, but also offers native SDK's for iOS and Android. Let's take a look at how to code right against this native iOS SDK.

angular2 tutorial about Build a custom NativeScript view component for Android

Build a custom NativeScript view component for Android

4:36 angular2

Building a custom NativeScript XML view component for Android is uniquely different than it’s iOS counterpart because of the Android Context which must be considered. Let’s look at how to properly build a custom view component based on an underlying native view widget. We will also look at what happens when our include.gradle file is not setup properly including handling problems with minimum sdk targets with plugins. Specifically, we will implement this Android widget representing the Google I/O 2016 clock. Learn how to create a custom AndroidManifest.xml inside your plugin to merge with your app's manifest to override certain characteristics. Read detailed documentation about the Android app manifest file.

angular2 tutorial about Translate common Java/Android APIs into NativeScript for Angular Android apps

Translate common Java/Android APIs into NativeScript for Angular Android apps

6:20 angular2

Java has been around a long time and when it comes to Android, you will encounter some structures that may throw you for a loop on how to code against with NativeScript. Let’s examine a few common Java/Android api constructs you may encounter and how to translate them to NativeScript. Learn how to get references to local files in your app using the ‘file-system’ module as well as how to take advantage of NativeScript’s Observable class to send notification events from one class to another. Lastly, look at considerations with Angular’s NgZone when handling your native libraries data events to update component view bindings.

angular2 tutorial about Prepare for native iOS and Android api intellisense with NativeScript

Prepare for native iOS and Android api intellisense with NativeScript

1:44 angular2

To prepare your development environment to code against native apis such as Objective C, Swift and Java, let's learn how to install tns-platform-declarations to provide rich intellisense support for all the native iOS and Android api’s. This lesson will cover how to modify your tsconfig.json and references.d.ts properly to ensure working with native api’s is smooth and as helpful as possible.

angular2 tutorial about Modify status bar colors on iOS and Android with NativeScript

Modify status bar colors on iOS and Android with NativeScript

2:22 angular2

Learn how to programmatically change the status bar text color on iOS and Android as well as the background color. The lesson also covers how to adjust the text color to be dark on Android in cases where the status bar color may be light.

angular2 tutorial about Create a custom app theme using SASS for NativeScript

Create a custom app theme using SASS for NativeScript

3:38 angular2

Learn how to extend the SASS that ships with the nativescript-theme-core plugin to create your very own custom app theme. The setup takes advantage of common styling across iOS and Android as well as how to handle platform specific css. You can find a full list of SASS variables that can be overridden here: https://github.com/NativeScript/theme/blob/master/app/scss/_variables.scss You can also find a full list of baseline variable sets to base custom stylesheets within this section on the docs: http://docs.nativescript.org/ui/theme#color-schemes

angular2 tutorial about Use the nativescript-themes plugin to switch app themes on the fly

Use the nativescript-themes plugin to switch app themes on the fly

3:18 angular2

Learn how use the nativescript-themes plugin to swap out entire stylesheets on the fly to provide theme switching for your app's users. Also covers how to ensure your app remembers which theme the user chose last before the app closed to apply their preferred theme next time they open it.

angular2 tutorial about Integrate a custom NativeScript UI component plugin via npm and registerElement

Integrate a custom NativeScript UI component plugin via npm and registerElement

2:58 angular2

Plugins are the key to unlocking many rich features of the native platforms. Let’s learn how to integrate the nativescript-checkbox plugin to register a new custom UI component for use in our views.

angular2 tutorial about Bind data to NativeScript Angular components using RxJS Observables

Bind data to NativeScript Angular components using RxJS Observables

1:06 angular2

Learn how to use standard RxJS Observables for your native view bindings using the power of Angular’s async pipe.

angular2 tutorial about Display lists using NativeScript’s ListView component

Display lists using NativeScript’s ListView component

2:14 angular2

The NativeScript ListView component uses the native platform list controls under the hood for superior performance and native virtual scrolling (ListView widget on Android and UITableView on iOS).

angular2 tutorial about Open an Angular component in a native iOS and Android popup modal

Open an Angular component in a native iOS and Android popup modal

5:32 angular2

Let’s build a new Angular component and use NativeScript for Angular’s ModalDialogService to open it in a native modal. We will also look at special considerations with handling the close action in addition to passing data between the modal and the caller.

angular2 tutorial about Handle back navigation when using page-router-outlet

Handle back navigation when using page-router-outlet

1:37 angular2

Learn how to handle special cases with back navigation when using the page-router-outlet.

angular2 tutorial about Create a page title using ActionBar

Create a page title using ActionBar

0:21 angular2

Learn how to use the ActionBar component to provide a title for your mobile view.

angular2 tutorial about Add styles to active routes using nsRouterLinkActive

Add styles to active routes using nsRouterLinkActive

1:11 angular2

Learn how to use the nsRouterLinkActive directive with options to control styling when a route is active.

angular2 tutorial about Add native mobile page navigation using Angular Router

Add native mobile page navigation using Angular Router

6:14 angular2

Learn how to use the Angular Router to setup page navigation using NativeScript for Angular’s unique page-router-outlet directive in conjunction with the standard router-outlet to achieve a flexible routing setup.

angular2 tutorial about Edit with live reloading using NativeScript livesync

Edit with live reloading using NativeScript livesync

1:13 angular2

Learn how to use the livesync option to make quick changes to css and/or Angular components to see live updates in the emulators or on devices. Also learn how to run livesync simultaneously on iOS and Android.

angular2 tutorial about Style NativeScript views using the default core theme

Style NativeScript views using the default core theme

2:35 angular2

The default core theme comes preinstalled and ready to go with every new project. Learn how to use some of the many helpful utility classes that are provided like common btn classes for Buttons, h1, h2, etc. Label classes and convenient p-10 or m-10 (shorthand margin/padding) classes ranging from 0 - 30. You can learn all about the rich options you get here: http://docs.nativescript.org/ui/theme

angular2 tutorial about Style NativeScript views using CSS

Style NativeScript views using CSS

2:05 angular2

Let’s learn how to style those native views with CSS and understand a few things that are unique to the native platforms regarding styling. A good majority of standard web CSS properties are supported with the addition of a few like horizontal-align that are unique to native platforms.

angular2 tutorial about Create native mobile views using NativeScript XML

Create native mobile views using NativeScript XML

3:24 angular2

This is the fundamental building block for native views. Let’s understand the syntax and some of the options available to us to construct our views starting with Layout Containers. StackLayout and GridLayout containers are the most commonly used. Also learn about helpful snippets for a few popular IDE’s.

angular2 tutorial about Preview NativeScript Apps in the GenyMotion Android emulator

Preview NativeScript Apps in the GenyMotion Android emulator

1:36 angular2

We can run our app in an Android emulator using GenyMotion, which provides flexible options and great performance. Let’s learn how to set one up and run our app in it. First install the Android SDK by installing Android Studio here: https://developer.android.com/studio/index.html. Then register for a GenyMotion account here: https://www.genymotion.com/account/create/. Once created and logged in, you will see a ‘Download’ button in the header where you can download the free tools.

angular2 tutorial about Preview NativeScript apps in the iOS Simulator

Preview NativeScript apps in the iOS Simulator

1:10 angular2

We can run our app in the iOS Simulator using the tns command line utilities. Also learn how to target specific simulator devices and versions. You must have a Mac to develop apps for iOS. Ensure you have XCode installed via the Mac App Store, and ensure you have opened it at least once to agree to the terms and install the additional components it may prompt about.

angular2 tutorial about Set up a native mobile app using the NativeScript CLI

Set up a native mobile app using the NativeScript CLI

0:59 angular2

We will install the NativeScript CLI and use it to generate a project.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?