SlideShare a Scribd company logo
1 of 87
Download to read offline
WHERE NODE.JS MEETS IOS
Enabling Node.JS Technology for Mobile Applications
HI!
•

Sam (@periping)
(github.com/srijs)	


•

CS Student at LUH	


•

Working at doctape
(node.js & mobile)	


•

Javascript, Objective-C,
plain C, Haskell
WHERE NODE.JS
MEETS IOS
Enabling Node.JS Technology for Mobile Applications
JAVASCRIPT	

ON MOBILE.
BAD
REPUTATION
BAD REPUTATION

1.“Slow”
BAD REPUTATION

1.“Slow”
Rough “Benchmarks” on iPhone 4S:
a) Fill an array (NSMutableArray vs. Array)
with 1.000.000 strings	

b) Call a function/method 1.000.000 times
BAD REPUTATION
Fill an array with 1.000.000 strings (sec.)

Call a function/method 1.000.000 times (sec.)
BAD REPUTATION
Fill an array with 1.000.000 strings (sec.)
Foundation
JavaScript
0

0.095

0.19

0.285

0.38

Call a function/method 1.000.000 times (sec.)
BAD REPUTATION
Fill an array with 1.000.000 strings (sec.)
Foundation
JavaScript
0

0.095

0.19

0.285

0.38

Call a function/method 1.000.000 times (sec.)
Foundation
JavaScript
0

0.15

0.3

0.45

0.6
BAD REPUTATION
NSMutableArray *a = [NSMutableArray new];
for (int i = 0; i < 1000000; i++) {
a[i] = @“Hello World”;
}

(function () {
var a = [];
for (var i = 0; i < 1000000; i++) {
a[i] = ‘Hello World’;
}
})();

for (int i = 0; i < 1000000; i++) {
[self exampleMethod];
}

(function () {
var fn = function () {
return;
};
for (var i = 0; i < 1000000; i++) {
fn();
}
})();

- (void)exampleMethod {
return;
}
BAD REPUTATION
BAD REPUTATION

2.“Bloated”
BAD REPUTATION

2.“Bloated”
3.“Memory
Hungry”
HOW TO

JS / IOS
HOW TO JS ON IOS

Web View w/	

HTML/CSS/JS
Content
HOW TO JS ON IOS

Web View w/	

HTML/CSS/JS
Content
A.

Slow start-up
HOW TO JS ON IOS

Web View w/	

HTML/CSS/JS
Content
A.
Slow start-up
B. Consumes lots of memory
HOW TO JS ON IOS

Bundle own JS
Engine
HOW TO JS ON IOS

Bundle own JS
Engine
A.

Bloated Binary
HOW TO JS ON IOS

Bundle own JS
Engine
A.
B.

Bloated Binary
High memory footprint
BAD REPUTATION

2.“Bloated”
3.“Memory
Hungry”
HOW TO JS ON IOS

JavaScriptCore	

Framework on iOS7
Low-overhead JS Context
EXISTING	

SOLUTIONS.
LANDSCAPE

HTML UI

Platform bridge
LANDSCAPE

HTML UI

Platform bridge
LANDSCAPE

Touch

HTML UI

Platform bridge
LANDSCAPE

Titanium

Touch

HTML UI

Platform bridge
LANDSCAPE

Titanium
PhoneGap
Touch

HTML UI

Platform bridge
TECHNOLOGY

HTML UI

Platform bridge
TECHNOLOGY

HTML UI

Platform bridge
TECHNOLOGY

Proprietary APIs

HTML UI

Platform bridge
TECHNOLOGY

Proprietary APIs

HTML UI

Platform bridge
CAN WE	

DO BETTER?
TECHNOLOGY

?
TECHNOLOGY

?
Frontend
TECHNOLOGY

?
Frontend

Backend
Y U SO PROPRIETARY?
Ti.Network.Socket.createTCP({
connected: function (e) {…}
});
Y U SO PROPRIETARY?
Ti.Network.Socket.createTCP({
connected: function (e) {…}
});
net.createServer(function (s) {
…
});
Y U SO PROPRIETARY?
Ti.Stream.write(e.socket,
Ti.createBuffer({
value: ‘Hello World'
}), cb);
Y U SO PROPRIETARY?
Ti.Stream.write(e.socket,
Ti.createBuffer({
value: ‘Hello World'
}), cb);
socket.write(
new Buffer(‘Hello World’)
);
TECHNOLOGY

HTML UI

Platform bridge
TECHNOLOGY

HTML UI

Platform bridge
TECHNOLOGY

HTML UI

Platform bridge
LET’S MAKE	

NODE.JS FOR	

MOBILE!
AKA	

“ARE YOU
NUTS?!”
PROOF-OF-CONCEPT
PROOF-OF-CONCEPT
PROOF-OF-CONCEPT
>20.000 Visits	

!

>1.000 Subscribers	

!

>900 Stars on GitHub
PROOF-OF-CONCEPT
>20.000 Visits	

!

>1.000 Subscribers	

!

>900 Stars on GitHub
“Can't wait to see where
this goes.
Hack on my man, Hack
on!”
LET’S	

ACTUALLY	

DO THIS!
NODE.JS CODEBASE

Source: ohloh.net/p/node
NODE.JS CODEBASE

~1.5M LOC
Source: ohloh.net/p/node
NODE.JS CODEBASE
Node.js API
native modules (js)
v8
c-ares (dns)
http_parser

bindings (c++)
libuv (io)
OS

openssl
zlib
NODE.JS CODEBASE
Node.js API
native modules (js)
v8
c-ares (dns)
http_parser

bindings (c++)
libuv (io)
OS

openssl
zlib
NODE.JS CODEBASE
Node.js API
native modules (js)
v8
JavaScriptCore.framework
c-ares (dns)
http_parser

bindings (c++)
libuv (io)
OS

openssl
zlib
NODE.JS CODEBASE
Node.js API
native modules (js)
v8
JavaScriptCore.framework
c-ares (dns)
http_parser

bindings (Obj-C)
bindings (c++)
libuv (io)
OS

openssl
zlib
APPROACH
bindings (c++)

~20.000 LOC
•
•
•
•
•
•
•
•

Filesystem	

Crypto	

HTTP Parser	

zlib	

TCP	

Timer	

TLS	

UDP

src$ wc -l *.cc
1180 cares_wrap.cc
196 fs_event_wrap.cc
136 handle_wrap.cc
3442 node.cc
668 node_buffer.cc
1066 node_constants.cc
631 node_contextify.cc
141 node_counters.cc
4179 node_crypto.cc
449 node_crypto_bio.cc
265 node_crypto_clienthello.cc
327 node_dtrace.cc
68 node_extensions.cc
1100 node_file.cc
603 node_http_parser.cc
58 node_javascript.cc
67 node_main.cc
305 node_os.cc
143 node_stat_watcher.cc
99 node_watchdog.cc
206 node_win32_etw_provider.cc
335 node_win32_perfctr_provider.cc
611 node_zlib.cc
293 pipe_wrap.cc
296 process_wrap.cc
117 signal_wrap.cc
499 smalloc.cc
604 stream_wrap.cc
751 string_bytes.cc
464 tcp_wrap.cc
160 timer_wrap.cc
724 tls_wrap.cc
183 tty_wrap.cc
442 udp_wrap.cc
65 uv.cc
20873 total
APPROACH
bindings (Obj-C)

~2.000 LOC
•
•
•
•
•

Filesystem	

HTTP Parser	

TCP	

Timer	

Buffer

Nodelike$ wc -l *.m
86 NLBinding.m
119 NLBindingBuffer.m
213 NLBindingConstants.m
309 NLBindingFilesystem.m
35 NLBindingSmalloc.m
34 NLBindingUv.m
162 NLCaresWrap.m
187 NLContext.m
364 NLHTTPParser.m
83 NLHandle.m
26 NLProcess.m
254 NLStream.m
197 NLTCP.m
70 NLTimer.m
33 NLUDP.m
2172 total
BUT DOES
IT WORK?
STOP!
DEMOTIME!
https://itunes.apple.com/app/id793774475
WHAT ALREADY WORKS…
WHAT ALREADY WORKS…
Assertion Testing	

Path	

Punycode	

Query Strings	

URL	

Utilities

Reliable
WHAT ALREADY WORKS…
Assertion Testing	

Path	

Punycode	

Query Strings	

URL	

Utilities

Reliable

Stream	

Events	

Buffer

Reliable
WHAT ALREADY WORKS…
Assertion Testing	

Path	

Punycode	

Query Strings	

URL	

Utilities

Reliable

Stream	

File System	

Events	

Timers
Buffer

Reliable

Reliable
WHAT ALREADY WORKS…
Assertion Testing	

Path	

Punycode	

Query Strings	

URL	

Utilities

Reliable

Stream	

File System	

Events	

Timers
Buffer

Reliable

DNS

Basic

Reliable
WHAT ALREADY WORKS…
Assertion Testing	

Path	

Punycode	

Query Strings	

URL	

Utilities

Reliable

Stream	

File System	

Events	

Timers
Buffer

Reliable

DNS

Basic

Reliable

Net, HTTP

Unstable
WHAT’S THE USE…
WHAT’S THE USE…
A. JavaScript Logic inside a
native App
WHAT’S THE USE…
A. JavaScript Logic inside a
native App
B. Attach to a WebView (á la
node-webkit)
WHAT’S TO COME…
WHAT’S TO COME…
•

More Core Modules (Crypto, Zlib,…)
WHAT’S TO COME…
•

More Core Modules (Crypto, Zlib,…)

•

libuv GCD integration
WHAT’S TO COME…
•

More Core Modules (Crypto, Zlib,…)

•

libuv GCD integration

•

Testing, testing, testing…
WHAT’S TO COME…
•

More Core Modules (Crypto, Zlib,…)

•

libuv GCD integration

•

Testing, testing, testing…

•

Integration with Titanium, PhoneGap, others…
PARTICIPATE
PARTICIPATE
•

Download the App from the AppStore
PARTICIPATE
•

Download the App from the AppStore

•

Test the modules that should work “reliably”
PARTICIPATE
•

Download the App from the AppStore

•

Test the modules that should work “reliably”

•

Subscribe to the Mailing List
PARTICIPATE
•

Download the App from the AppStore

•

Test the modules that should work “reliably”

•

Subscribe to the Mailing List

•

File GitHub Issues
PARTICIPATE
•

Download the App from the AppStore

•

Test the modules that should work “reliably”

•

Subscribe to the Mailing List

•

File GitHub Issues

•

Spread the word
PARTICIPATE
•

Download the App from the AppStore

•

Test the modules that should work “reliably”

•

Subscribe to the Mailing List

•

File GitHub Issues

•

Spread the word

•

Talk to me if you want to participate
Q?
nodeapp.org	

github.com/node-app
https://itunes.apple.com/app/id793774475
@periping	

github.com/srijs

Image Credits:	

http://bassetthounds.wordpress.com/category/basset-hound/	

http://woofgallery.org/category/happy-dog-photos/

More Related Content

What's hot

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
Baruch Sadogursky
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
James Eisenhauer
 

What's hot (19)

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
 
The Full Stack Java Developer - Josh Long
The Full Stack Java Developer - Josh LongThe Full Stack Java Developer - Josh Long
The Full Stack Java Developer - Josh Long
 
React Native for Web
React Native for WebReact Native for Web
React Native for Web
 
React NativeアプリをRspecでテストしてみた話
React NativeアプリをRspecでテストしてみた話 React NativeアプリをRspecでテストしてみた話
React NativeアプリをRspecでテストしてみた話
 
Swift + GraphQL
Swift + GraphQLSwift + GraphQL
Swift + GraphQL
 
'Bootiful' Code with Spring Boot - Josh Long
'Bootiful' Code with Spring Boot - Josh Long'Bootiful' Code with Spring Boot - Josh Long
'Bootiful' Code with Spring Boot - Josh Long
 
React Native
React NativeReact Native
React Native
 
Visual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlow
 
Google App Engine - Java Style
Google App Engine - Java StyleGoogle App Engine - Java Style
Google App Engine - Java Style
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in php
 
Cooking With Your API
Cooking With Your APICooking With Your API
Cooking With Your API
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
 
Docker, Continuous Integration, and You
Docker, Continuous Integration, and YouDocker, Continuous Integration, and You
Docker, Continuous Integration, and You
 
Annotations in Java
Annotations in JavaAnnotations in Java
Annotations in Java
 
Optimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for DockerOptimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for Docker
 
Automated Integration Testing in Java using Arquillian
Automated Integration Testing in Java using ArquillianAutomated Integration Testing in Java using Arquillian
Automated Integration Testing in Java using Arquillian
 
Testing & Troubleshooting Modern Apps with AWS Device Farm: Mobile Week SF
Testing & Troubleshooting Modern Apps with AWS Device Farm: Mobile Week SFTesting & Troubleshooting Modern Apps with AWS Device Farm: Mobile Week SF
Testing & Troubleshooting Modern Apps with AWS Device Farm: Mobile Week SF
 

Viewers also liked

I18n
I18nI18n
I18n
soon
 
3.Posiciones relativas de rectas
3.Posiciones relativas de rectas3.Posiciones relativas de rectas
3.Posiciones relativas de rectas
RAMON GOMEZ
 

Viewers also liked (18)

Node.js code tracing
Node.js code tracingNode.js code tracing
Node.js code tracing
 
Running Node Applications on iOS and Android
Running Node Applications on iOS and AndroidRunning Node Applications on iOS and Android
Running Node Applications on iOS and Android
 
Python for AngularJS
Python for AngularJSPython for AngularJS
Python for AngularJS
 
I18n
I18nI18n
I18n
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
How to-node-core
How to-node-coreHow to-node-core
How to-node-core
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Introduction to Nodejs
Introduction to NodejsIntroduction to Nodejs
Introduction to Nodejs
 
3.Posiciones relativas de rectas
3.Posiciones relativas de rectas3.Posiciones relativas de rectas
3.Posiciones relativas de rectas
 
Nodejs intro
Nodejs introNodejs intro
Nodejs intro
 
Posiciones relativas de dos rectas en el plano
Posiciones relativas de dos rectas en el planoPosiciones relativas de dos rectas en el plano
Posiciones relativas de dos rectas en el plano
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with Examples
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 
Dibujo tecnico 1o_bach-_leccion_10
Dibujo tecnico 1o_bach-_leccion_10Dibujo tecnico 1o_bach-_leccion_10
Dibujo tecnico 1o_bach-_leccion_10
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
 

Similar to Where Node.JS Meets iOS

Why Node.js
Why Node.jsWhy Node.js
Why Node.js
guileen
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Kyle Drake
 
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
Databricks
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
catherinewall
 

Similar to Where Node.JS Meets iOS (20)

Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Why Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiWhy Nodejs Guilin Shanghai
Why Nodejs Guilin Shanghai
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.js
 
Who pulls the strings?
Who pulls the strings?Who pulls the strings?
Who pulls the strings?
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 
Why Javascript is the glue of APIs?
Why Javascript is the glue of APIs?Why Javascript is the glue of APIs?
Why Javascript is the glue of APIs?
 
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
Microservices and Teraflops: Effortlessly Scaling Data Science with PyWren wi...
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
 
Play framework
Play frameworkPlay framework
Play framework
 
Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]
 
Node.JS briefly introduced
Node.JS briefly introducedNode.JS briefly introduced
Node.JS briefly introduced
 
Launch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck LefebvreLaunch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck Lefebvre
 
EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Where Node.JS Meets iOS