Case Study: Nationale Nederlanden

A presentation at NativeScript Developer Day Europe in September 2017 in Rotterdam, Netherlands by Rowdy Rabouw

Slide 1

Slide 1

NATIONALE-NEDERLANDEN CASE STUDY

Slide 2

Slide 2

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 ROWDY RABOUW SENIOR SOFTWARE ENGINEER NATIONALE-NEDERLANDEN FREELANCE WEBDEVELOPER DOUBLE-R WEBDEVELOPMENT CURATOR NATIVESCRIPT.NL TELERIK DEVELOPER EXPERT FOR NATIVESCRIPT

Slide 3

Slide 3

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 4

Slide 4

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 5

Slide 5

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 6

Slide 6

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 7

Slide 7

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 8

Slide 8

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 9

Slide 9

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 10

Slide 10

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 11

Slide 11

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 12

Slide 12

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 13

Slide 13

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 14

Slide 14

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 PENSION PORTALS TEAM

Slide 15

Slide 15

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MIJN PENSIOENCOACH

Slide 16

Slide 16

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MIJN PENSIOENCOACH

Slide 17

Slide 17

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 CALCULATION OBJECTS

MIJN PENSIOENCOACH • PENSION APP CALCULATION ENGINE (PACE ) • PENSION ADVISORY CALCULATION ENGINE (PEACE ) • FAMILY PENSION PLAN (FPP)

• DOELINKOMEN ADVISEUR (DIA)

Slide 18

Slide 18

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MIJN PENSIOENCOACH 2014 APPCELERATOR TITANIUM   CROSS-PLATFORM JAVASCRIPT PERFORMANCE MWAH BAD ANIMATIONS NEW PLATFORM

Slide 19

Slide 19

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MIJN PENSIOENCOACH 2014 2015 APPCELERATOR TITANIUM   NATIVE   CROSS-PLATFORM IOS + ANDROID JAVASCRIPT OBJECTIVE-C + JAVA PERFORMANCE MWAH PERFORMANCE BAD ANIMATIONS ANIMATIONS NEW PLATFORM UNHAPPY WITH PROGRESS  

Slide 20

Slide 20

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 PROOF OF CONCEPT

Slide 21

Slide 21

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 ANGULAR 2 • OPINIONATED FRAMEWORK

• OBJECT ORIENTED
• CLASSES • TYPESCRIPT • FULL-FEATURED ROUTING

• DEPENDENCY INJECTION

• DATA BINDING • DOCUMENTATION • COMMUNITY

Slide 22

Slide 22

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 CALCULATION OBJECTS

MIJN PENSIOENCOACH • PENSION APP CALCULATION ENGINE (PACE ) • PENSION ADVISORY CALCULATION ENGINE (PEACE ) • FAMILY PENSION PLAN (FPP)

• DOELINKOMEN ADVISEUR (DIA) • BELASTINGDIENST

• CALCULATOR • DATABASE • HELPER • LOGGER • NNVERZEKERAAR • SOCIALEVERZEKERINGSBANK

Slide 23

Slide 23

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 CALCULATION OBJECTS

MIJN PENSIOENCOACH • PENSION APP CALCULATION ENGINE (3169) • PENSION ADVISORY CALCULATION ENGINE

• FAMILY PENSION PLAN (1428)

• DOELINKOMEN ADVISEUR (266) • BELASTINGDIENST (332) • CALCULATOR (286) • DATABASE (671) • HELPER (235) • LOGGER (81) • NNVERZEKERAAR (532) • SOCIALEVERZEKERINGSBANK (200)

Slide 24

Slide 24

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 DATASERVICE

SERVICES • INSTANTIATE CALCULATION OBJECTS • CALL CALCULATION OBJECTS METHODS • GET AND SET SETTINGS LIKE LANGUAGE • LOAD JSON DATABASE (TAFFYDB - JS LIBRARY WITH DATABASE FEATURES ) • ENCRYPT AND SAVE SENSITIVE USER INPUT
• GROWN TOO BIG, HAVE TO SPLIT • PACE / PEACE / FPP / DIA

• SETTINGS • USER INPUT

Slide 25

Slide 25

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 VALIDATION SERVICE

SERVICES • RANGES FOR SPINNERS • MINIMUM AND MAXIMUM VALUES FOR SLIDERS • MAXLENGTH FOR INPUTS • VALIDATE INPUT FIELDS

"SparenSaldo" : {

"type" : "number" ,

"required" : true ,

"minimum" : 0 ,

"maximum" : 5000000 ,

"maxlength" : 7

},

"SparenRentePercentage" : {

"type" : "number" ,

"minimum" : 0 ,

"maximum" : 12 ,

"steps" : 0.05 ,

"digits" : true

}

Slide 26

Slide 26

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NGX-TRANSLATE IS AN INTERNATIONALIZATION LIBRARY FOR ANGULAR 2+.

IT LETS YOU DEFINE TRANSLATIONS FOR YOUR CONTENT IN DIFFERENT LANGUAGES AND SWITCH BETWEEN THEM EASILY. MULTILINGUAL

Slide 27

Slide 27

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MULTILINGUAL

"KVL_SPAREN" : {

"PAGETITLE" : "Saving" ,

"TL_BTNTXT_01" : "Cancel" ,

"TR_BTNTXT_01" : "Save" ,

"TL_BTNTXT_02" : "Back" ,

"TR_BTNTXT_02" : "Next" ,

"HDRTXT" : "Question 1 of 7" ,

"QTXT_01" : "Are you currently saving for your pension?" ,

"QTXT_02" : "How much have you already saved for your pension?

            (per {{currentmonthyear}})”

,

"QTXT_03" : "How much per month do you save for your pension?" ,

"QTXT_04" : "What interest rate do you receive?"

}

Slide 28

Slide 28

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MULTILINGUAL < StackLayout

< Label [ text ]= "'KVL_SPAREN.QTXT_01' | translate"

</ Label

</ StackLayout

Slide 29

Slide 29

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MULTILINGUAL < StackLayout

< Label [ text ]= "'KVL_SPAREN.QTXT_01' | translate"

</ Label

< Label [ text ]= "KVL_SPAREN_QTXT_02"

</ Label

</ StackLayout

Slide 30

Slide 30

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MULTILINGUAL < StackLayout

< Label [ text ]= "'KVL_SPAREN.QTXT_01' | translate"

</ Label

< Label [ text ]= "KVL_SPAREN_QTXT_02"

</ Label

</ StackLayout

let

today : Date

new

Date ();

let

month : number

nu . getMonth () + 1 ;

let

monthstr : string

maand < 10 ? "0" + month . toString () : month . toString ();

let

domein : string

"DOMEINMAAND.MAAND_" + monthstr ;

this . dataService . translateService . get ( domein , {})

. subscribe ( res

=> {

this . dataService . translateService

. get (" KVL_SPAREN.QTXT_02" , {

currentmonthyear :

res + " " + today . getFullYear ()

  })

  .

subscribe (( res : string ) => {

this . KVL_SPAREN_QTXT_02

res ;

});

});

Slide 31

Slide 31

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MULTILINGUAL

Slide 32

Slide 32

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-NGX-FONTICON

NATHAN WALKER

USE ICON FONTS (FONT AWESOME) BY THE SPECIFIC CLASSNAME PLUGINS

Slide 33

Slide 33

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-BARCODESCANNER

EDDY VERBRUGGEN (BULK)SCAN QR OR BARCODES PLUGINS NATIVESCRIPT- TOAST TOBIAS HENNIG

CONTRIBUTIONS BY EDDY VERBRUGGEN FEEDBACK IN A SMALL POPUP

Slide 34

Slide 34

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-APPVERSION

EDDY VERBRUGGEN RETRIEVE YOUR APP'S PACKAGE ID AND CURRENT VERSION

PLUGINS

Slide 35

Slide 35

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-EMAIL

EDDY VERBRUGGEN CREATING DRAFT E-MAILS

PLUGINS

Slide 36

Slide 36

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-PLUGIN-FIREBASE

EDDY VERBRUGGEN ANALYTICS PLUGINS

Slide 37

Slide 37

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-TELERIK-UI

PROGRESS LISTVIEW AND SIDEDRAWER PLUGINS

Slide 38

Slide 38

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-IQKEYBOARDMANAGER

TJ VANTOLL

CONTRIBUTIONS BY EDDY VERBRUGGEN WRAPPER FOR THE POPULAR IQKEYBOARDMANAGER IOS FRAMEWORK PLUGINS

Slide 39

Slide 39

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 CRYPTO-JS

EVAN VOSBERG

CRYPTOGRAPHY STANDARDS PLUGINS

Slide 40

Slide 40

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 LODASH

LODASH

TAKING THE HASSLE OUT OF WORKING WITH ARRAYS, OBJECTS, STRINGS, ETC PLUGINS

Slide 41

Slide 41

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 42

Slide 42

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 43

Slide 43

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 44

Slide 44

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 45

Slide 45

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 46

Slide 46

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 47

Slide 47

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN < StackLayout ( tap )= "onTap($event)" ( pan )= “onPan($event)”

</ StackLayout

onTap () {

// do something

}

onPan () {

// do something

}

Slide 48

Slide 48

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

ngAfterViewInit () {

this . dragAgeKlant . nativeElement . on ( "tap,pan" , args

=> {

switch ( args . eventName ) {

case

"tap" :

this . _tapRuler ( this . AgeRulerKlant , "ageKlant" );

break ;

case

"pan" :

this . onPanAgeKlant ( args );

break ;

 }

});

}

Slide 49

Slide 49

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 50

Slide 50

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

ngAfterViewInit () {

this . dragAgeKlant . nativeElement . on ( "tap,pan,touch" , args

=> {

switch ( args . eventName ) {

case

"tap" :

this . _tapRuler ( this . AgeRulerKlant , "ageKlant" );

break ;

case

"pan" :

this . onPanAgeKlant ( args );

break ;

case

"touch" :

this . _setXandYpos ( args , this . AgeRulerKlant );

break ;

  }

});

}

Slide 51

Slide 51

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 52

Slide 52

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 53

Slide 53

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MONDRIAAN

Slide 54

Slide 54

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 COUCHBASE LITE

PERSISTENT DATA • NO SQL DATABASE • REPLACEMENT FOR COMMON DATABASE TECHNOLOGIES LIKE SQLITE

• EASY TO USE PLUGIN • ENCRYPTED USER INPUT • JSON DATABASE • USER PREFERENCES

Slide 55

Slide 55

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 APPLICATION SETTINGS

PERSISTENT DATA • SAVE AND RESTORE ANY KIND OF INFORMATION RELATED TO YOUR APP

• EVEN EASIER TO USE • KEY / VALUE PAIRS getString ( "settings" );

remove ( "settings" );

setString (

"paceInput" ,

this . _encryptData ( JSON . stringify ( pace . GetJson ())). toString ()

);

Slide 56

Slide 56

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017

Slide 57

Slide 57

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 NATIVESCRIPT-DEV-WEBPACK $ NPM INSTALL --SAVE-DEV NATIVESCRIPT-DEV-WEBPACK

$ NPM INSTALL

$ NPM RUN START-IOS-BUNDLE $ NPM RUN START-ANDROID-BUNDLE WEBPACK

Slide 58

Slide 58

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK

Slide 59

Slide 59

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK

Slide 60

Slide 60

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK @ Component ({

selector:

"pincode" ,

templateUrl:

"./components/pincode/pincode.component.html"

})

Slide 61

Slide 61

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK @ Component ({

moduleId:

module . id ,

selector:

"pincode" ,

templateUrl:

"pincode.component.html"

})

Slide 62

Slide 62

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK < GridLayout

columns

"2* *"

visibility

"{{ person == Klant && !ExistsPacePartner ? 'visible' : 'collapsed' }}"

</ GridLayout

export

class

ProfielComponent

implements

OnInit , OnDestroy {

private Klant : number ;

private ExistsPacePartner : boolean ;

}

Slide 63

Slide 63

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK < GridLayout

columns

"2* *"

visibility

"{{ person == Klant && !ExistsPacePartner ? 'visible' : 'collapsed' }}"

</ GridLayout

export

class

ProfielComponent

implements

OnInit , OnDestroy {

Klant : number ;

ExistsPacePartner : boolean ;

}

Slide 64

Slide 64

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 JUST-IN-TIME (JIT) VS AHEAD-OF-TIME (AOT) COMPILATION JIT - COMPILE TYPESCRIPT JUST IN TIME FOR EXECUTING IT

AOT - COMPILE TYPESCRIPT DURING BUILD PHASE WEBPACK

Slide 65

Slide 65

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK // Copy assets to out dir. Add your own globs as needed.

new

CopyWebpackPlugin ([

{ 

from:

mainSheet },

{ 

from:

"css/**" },

{ 

from:

"fonts/**" },

{ 

from:

"**/*.jpg" },

{ 

from:

"**/*.png" },

{ 

from:

"**/*.xml" },

], { ignore: [ "App_Resources/**" ] })

Slide 66

Slide 66

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK // Copy assets to out dir. Add your own globs as needed.

new

CopyWebpackPlugin ([

{ 

from:

mainSheet },

{ 

from:

"assets/**" },

{ 

from:

“i18n/**" },

{ 

from:

"fonts/**" },

{ 

from:

"**/*.jpg" },

{ 

from:

"**/*.png" },

{ 

from:

"**/*.xml" },

], { ignore: [ "App_Resources/**" ] })

Slide 67

Slide 67

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK @import

url ( “~/assets/css/actionbar.css" );

@import

url ( "~/assets/css/alignment.css" );

@import

url ( "~/assets/css/border.css" );

@import

url ( "~/assets/css/button.css" );

@import

url ( "~/assets/css/font-awesome.css" );

@import

url ( "~/assets/css/form.css" );

@import

url ( "~/assets/css/kassabon.css" );

Slide 68

Slide 68

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 WEBPACK @import

url ( "assets/css/actionbar.css" );

@import

url ( "assets/css/alignment.css" );

@import

url ( "assets/css/border.css" );

@import

url ( "assets/css/button.css" );

@import

url ( "assets/css/font-awesome.css" );

@import

url ( "assets/css/form.css" );

@import

url ( "assets/css/kassabon.css" );

Slide 69

Slide 69

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 UPDATES • NATIVESCRIPT CLI • TNS-CORE-MODULES

• XCODE • PLUGINS • SIBBELL.COM

• @ANGULAR /… • NATIVESCRIPT-ANGULAR

Slide 70

Slide 70

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 STANDARDS • ENTRY LEVEL 15” MACBOOK PRO (INTEL I7 PROCESSOR AND 16GB RAM) • VISUAL STUDIO CODE • SAME PLUGINS LIKE PRETTIER • SETTINGS.JSON PER PROJECT • GIT FEATURE BRANCHES • COMMIT OFTEN
• BUILT SCRIPTS • RELEASE PROCEDURE • MANUAL TESTING

Slide 71

Slide 71

@ROWDYRABOUW CASE STUDY NATIONALE-NEDERLANDEN NATIVESCRIPT DEVELOPER DAY EUROPE 2017 MIJN PENSIOENCOACH 2014 2015 2017 APPCELERATOR TITANIUM   NATIVE   NATIVESCRIPT CROSS-PLATFORM IOS + ANDROID CROSS-PLATFORM JAVASCRIPT OBJECTIVE-C + JAVA WEB TECHNOLOGIES PERFORMANCE MWAH PERFORMANCE NATIVE PERFORMANCE BAD ANIMATIONS ANIMATIONS HAPPY WITH NEW PLATFORM UNHAPPY WITH THE PROGRESS