SlideShare a Scribd company logo
1 of 46
Download to read offline
WebRTC	and	Mobile
Integration
Giorgio	Natili
About	me
e-mail:	g.natili@gnstudio.com
twitter:	@giorgionatili
blog:	webplatform.io	(coming	soon!)
community:	codeinvaders.net
Agenda
• What	is	WebRTC	
• WebRTC	and	Modern	Browsers
• Ninja	Build	and	GYP	files
• Compile	WebRTC	for	Android	and	iOS
• Let	Mobile	and	the	Web	talk	each	other
What	is	WebRTC
What	is	it?
• WebRTC	is	a	free,	open	project	that	enables	web	browsers	with
Real-Time	Communications	(RTC)	capabilities	via		Javascript	APIs
• The	WebRTC	Native	Code	package	is	meant	for	browser
developers	that	want	to	integrate	WebRTC
• WebRTC	defines	a	way	for	browsers	to	implement	applications
like	video	chat	in	a	way	that	is	both	interoperable	with	other
clients,	and	does	not	require	the	use	of	a	plugin
Main
Responsibilities	
• Get	real-time	streaming	audio	and	video	or	data
• Communicate	real-time	streaming	audio,	video	or	data
• Exchange	session	control	messages	and	media	information	
(not	in	the	standard)
WebRTC
Environment
• Clients	(browsers,	desktop,	mobile,	etc.)
• Servers	(stun,	ice,	etc.)
• Gateway	(i.e.	PSTN)
• Internet
Native	C++	API
• RTP	Stack,	handle	the	network	stack	for	the	RTP	protocol
• STUN/ICE,	handle	the	peer	connections	using	STUN	or	ICE
• Session	Management,	signalling	manager	to	setup	calls
• VoiceEngine,	audio	media	chain	manager	(card	->	network)
• Audio	codecs,	such	as	iSAC	/	iLBC	/	Opus
• VideoEngine,	video	media	chain	manager	(cam	->	network)
Native	API
WebRTC	Triangle
The	most	common	scenario	is	likely	to	be	where	both	browsers	are
running	the	same	WebRTC	web	application,	downloaded	from	the
same	webpage
• Two	web	browsers	running	the	same	application
• One	server	for	signaling	and	negotiation
Is	a	Server	Still
Required?
• Signalling	Server	(SIP,XMPP,WebSocket,Socket.io,XHR,etc.)
• ICE	Servers	(STUN,TURN)
• Media	Servers	(Asterisk,	etc.)
Stun	&	Turn
• STUN	(Session	Traversal	Utilities	for	NAT)	is	a	standardized	set
of	methods	and	a	network	protocol	to	allow	an	end	host	to
discover	its	public	IP	address	if	it	is	located	behind	a	NAT
• TURN	(Traversal	Using	Relays	around	NAT)	is	a	protocol	that
allows	for	a	client	behind	a	network	address	translator	(NAT)	or
firewall	to	receive	incoming	data	over	TCP	or	UDP	connections
What	is	Signalling?
• It's	the	mechanism	by	which	peers	send	control	messages	to
each	other	to	establishing	a	communication	protocol
• Signalling	protocols	are	a	way	to	coordinate	and	control	the
communication	between	peers
• Session	control	messages	(communication	initialization	&	co.)
• Network	configuration	(e.g.	computer's	IP	address	and	port)
• Media	capabilities	(e.g.	codecs	and	resolutions)
Signalling	Process
• The	local	peer	opens	one	or	more	real-time	ports	(	RTP	)
• The	local	peer	then	has	to	learn	of	the	ports	that	its	remote	peer
has	opened
• A	process	of	discovery	is	used	to	find	a	local	and	remote	port
pair	(a	candidate	pair)	that	can	exchange	UDP	packets
• Finally,	a	real-time	transport	is	established	on	the	pair	of	ports
What	is	SDP?
Session	Description	Protocol	(SDP):	A	protocol	that	is	used	to
announce	sessions,	manage	session	invitations,	and	perform	other
types	of	initiation	tasks	for	multimedia	sessions
SDP	Flow
Complete	Process
WebRTC	in
Modern	Browsers
The	API
Don't	confuse	WebRTC	API	and	the	the	<device>	API!!!
WebRTC	API	is	available	in:
• Chrome	24+
• Firefox	22+
• Opera	12+	
• And	on	mobile!!!
Internet	Explorer
What's	about	our	good	friend	IE?
• It's	unclear	how	and	when	the	support	will	be	available
• So	far	you	can	use	ChromeFrame	to	support	WebRTC	(more	info
about	the	ChromeFrame	extension	are	available	on	the	official
web	page	of	the	project	developers.google.com/chrome/chrome-
frame/)
• Microsoft	is	going	to	work	on	a	proprietary	standard	(weird?)
WebRTC	pro	and
cons
• There	are	several	good	reasons	to	start	to	use	WebRTC
especially	if	compared	with	today	market	where	most	of	the
components	are	proprietary
• No	licences	or	other	fees	are	needed	to	start	with	it
• The	end	user	doesn't	have	to	download	and	install	additional
software
• Integration	is	performed	using	standard	API	accessed	by
JavaScript
Support
The	support	is	partial	and	the	documentation	is	very	fragmented
Key	Features
The	key	features	of	the	WebRTC	API	are:
• MediaStreams	(aka	getUserMedia),	access	to	and	control	control
of	the	user	camera	and	microphone
• PeerConnection,	negotiate	and	connect	clients	in	order	to	allow
direct	communication
• DataChannels,	peer	to	peer	data	exchange
Access	Mic	and
Camera
In	order	to	access	the	user	camera	and	audio	is	enough	to	use	the
getUserMedia	method	of	the	navigator	object
navigator.getUserMedia({video:	true,	audio:true},onStreamReady,	onStreamError);
• The	onStreamReadyhandler	receive	a	MediaStream	object
• The	onStreamErrorhandler	receive	a	NavigatorUserMediaError
object	with	a	code
Demo
Open	a	supported	browser	and	follow	this	link	https://webrtc-
demos.appspot.com/html/gum2.html
The	MediaStream
Object
A	MediaStream	object	is	made	up	by:
• the	stop();	method
• Two	MediaStreamTrackList	stored	in	the	audioTracks	and
videoTracks	properties	(actually	one	is	for	the	video	and	one	for
the	audio)
• The	MediaStreamTrack	object	stored	in	the	lists	define	the
properties	kind	(e.g.	"video")	and	label	(e.g.	"FaceTime	HD	Camera
(Built-in))
Play	with	Sounds
Open	http://webcamtoy.com/	and	enjoy!
Add	Audio	to	a
Video	Track
navigator.webkitGetUserMedia({audio:true},	onStreamReady);
var	ac	=	new	webkitAudioContext();
var	mediaStreamSource	=	ac.createMediaStreamSource(stream);
mediaStreamSource.connect(ac.destination);
• Request	access	to	the	media
• Create	a	new	prefixAudioContext	and	create	new	AudioNode
from	the	stream
• Connect	to	the	stream	using	the	destination
What's	Just
Happened?
You	can	access	sounds	and	deliver	them	to	the	end	user,	check	it	out
http://soundstep.com/blog/experiments/jsdetection/
(	^	_	^	)
RTCPeerConnection
The	signalling	is	initiated	by	a	RTCPeerConnection	object
• The	methods	createOffer,	setLocalDescription,	createAnswer
and	setRemoteDescription	are	executed	at	a	given	time
• In	order	to	connect	peers	you	rely	on	ICE
• ICE	is	a	framework	for	connecting	peers,	such	as	two	video	chat
clients;	initially,	ICE	tries	to	connect	peers	directly,	with	the	lowest
possible	latency,	via	UDP
• In	this	process,	STUN	servers	have	a	single	task:	to	enable	a	peer
behind	a	NAT	to	find	out	its	public	address	and	port
RTCPeerConnection
Demo
Let's	see	a	simple	demo	to	clarify	RTCPeerConnection	object
Ninja	Build
What	is	it?
• It	is	a	build	system	written	with	the	specific	goal	of	improving
the	edit-compile	cycle	time
• It		behaves	very	similar	to	Make
• Ninja	is	included	in	depot_tools	(as	well	as	gyp)	so	just	install
the	tools
Philosophy	
• Build	systems	get	slow	when	they	need	to	make	decisions,	Ninja
it's	very	fast	when	doing	decisions	and	evaluation
• It	contains	the	barest	functionality	necessary	to	describe
arbitrary	dependency	graphs
• It	is	intended	to	be	used	with	a	separate	program	generating	its
input	files
Design	Goals
ninja	-C	out/Debug	-j	10	AppRTCDemo
• Very	fast
• Very	little
• Very	simple
Install	and	Run
Ninja
git	clone	https://chromium.googlesource.com/chromium/tools/depot_tools.git
$	export	PATH="$PATH":`pwd`/depot_tools
• Fetch	depot_tools:	
• Add	depot_tools	to	your	PATH:
• Windows	(Cygwin	and	non-Cygwin):
The	same!!!
GYP	
(generate	your	project)
What	is	it?
• A	tool	for	the	Chromium	project	that	generates	native	Visual
Studio,	Xcode	and	SCons	(Software	Construction	Tooland/or	make
build	files	from	a	platform-independent	input	format
• A	very	readable	format	to	handle	complex	configurations	and
dependencies
File	Structure
{
				'targets':	[
						{
								'target_name':	'foo',
								'type':	'executable',
								'sources':	[
										'linux_specific.cc',
								],
								'conditions':	[
										['OS	!=	"linux"',	{
												'sources!':	[
														#	Linux-only;	exclude	on	other	platforms.
WebRTC	for
Android
Get	the	Source
Code
Run	the	following	command	in	an	empty	folder:
$	gclient	config	http://webrtc.googlecode.com/svn/trunk	
$	gclient	sync	--force
Open	the	file	.gclient	located	in	the	folder	you	did	the	sync	and	add
the	ios	and	mac	targets:
Build	the	Project	for
iOS
• Create	a	new	file	and	name	it	makeall-ios.sh
• Change	the	permissions	chmod	+x	makeall-ios.sh
• Open	the	makeall-ios.sh	file	(local)
• Run	it	and	search	for	the	all.xcodeproj	file
• Open	it	with	Xcode	and	build	everything
Create	a	Project
Follow	this	steps	https://github.com/GiorgioNatili/TLC-Native-iOS
(coming	soon!)
Run	the	demo!
Q&A
Thanks!

More Related Content

What's hot

WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo IIILawrence Byrd
 
Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC InfrastructureDialogic Inc.
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...Luis Lopez
 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
WebRTC Customer Experience Optimizations  - Kranky Geek PresentationWebRTC Customer Experience Optimizations  - Kranky Geek Presentation
WebRTC Customer Experience Optimizations - Kranky Geek Presentationamithap07
 
WebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San FranciscoWebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San Franciscoamithap07
 
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.Vladimir Beloborodov
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and TelehealthArin Sime
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersHarry Behrens, PhD
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTCvline
 

What's hot (20)

WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC
WebRTCWebRTC
WebRTC
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo III
 
Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC Infrastructure
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
WebRTC Customer Experience Optimizations  - Kranky Geek PresentationWebRTC Customer Experience Optimizations  - Kranky Geek Presentation
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
 
WebRTC for Beginners Webinar Slides
WebRTC for Beginners Webinar SlidesWebRTC for Beginners Webinar Slides
WebRTC for Beginners Webinar Slides
 
WebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San FranciscoWebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San Francisco
 
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
WebRTC in the Real World
WebRTC in the Real WorldWebRTC in the Real World
WebRTC in the Real World
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and Telehealth
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriers
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 

Similar to WebRTC and Mobile Integration

WebRTC and Telecommunications
WebRTC and TelecommunicationsWebRTC and Telecommunications
WebRTC and TelecommunicationsAVOXI
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingAmir Zmora
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArjun Varma
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013Hank Huang
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumAlan Quayle
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
Is Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationIs Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationErik Lagerway
 
WebRTC A diamond in the rough
WebRTC A diamond in the roughWebRTC A diamond in the rough
WebRTC A diamond in the roughIMTC
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVũ Nguyễn
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??learjk
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012Oliver N
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11Sanjay Willie
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)Victor Pascual Ávila
 

Similar to WebRTC and Mobile Integration (20)

WebRTC and Telecommunications
WebRTC and TelecommunicationsWebRTC and Telecommunications
WebRTC and Telecommunications
 
The Future of SIP in WebRTC
The Future of SIP in WebRTCThe Future of SIP in WebRTC
The Future of SIP in WebRTC
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World Forum
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
Is Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationIs Webrtc Transforming Collaboration
Is Webrtc Transforming Collaboration
 
Hangouts in 30 minutes Socket.io
Hangouts in 30 minutes Socket.ioHangouts in 30 minutes Socket.io
Hangouts in 30 minutes Socket.io
 
Webrtc and tokbox
Webrtc and tokboxWebrtc and tokbox
Webrtc and tokbox
 
WebRTC A diamond in the rough
WebRTC A diamond in the roughWebRTC A diamond in the rough
WebRTC A diamond in the rough
 
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web WorldAsterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)
 

More from Giorgio Natili

Driving Assistant Solutions with Android
Driving Assistant Solutions with AndroidDriving Assistant Solutions with Android
Driving Assistant Solutions with AndroidGiorgio Natili
 
Isomorphic Reactive Programming
Isomorphic Reactive ProgrammingIsomorphic Reactive Programming
Isomorphic Reactive ProgrammingGiorgio Natili
 
The Little Shop of TDD Horrors
The Little Shop of TDD HorrorsThe Little Shop of TDD Horrors
The Little Shop of TDD HorrorsGiorgio Natili
 
Android, getting started
Android, getting startedAndroid, getting started
Android, getting startedGiorgio Natili
 
Clear the UIViewController Mess
Clear the UIViewController MessClear the UIViewController Mess
Clear the UIViewController MessGiorgio Natili
 
The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6Giorgio Natili
 
WebRTC communication and wearable devices
WebRTC communication and wearable devicesWebRTC communication and wearable devices
WebRTC communication and wearable devicesGiorgio Natili
 
Multithreading development with workers
Multithreading development with workersMultithreading development with workers
Multithreading development with workersGiorgio Natili
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architecturesGiorgio Natili
 
Develop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGapDevelop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGapGiorgio Natili
 

More from Giorgio Natili (20)

Driving Assistant Solutions with Android
Driving Assistant Solutions with AndroidDriving Assistant Solutions with Android
Driving Assistant Solutions with Android
 
Isomorphic Reactive Programming
Isomorphic Reactive ProgrammingIsomorphic Reactive Programming
Isomorphic Reactive Programming
 
Service worker API
Service worker APIService worker API
Service worker API
 
The Little Shop of TDD Horrors
The Little Shop of TDD HorrorsThe Little Shop of TDD Horrors
The Little Shop of TDD Horrors
 
I beacon mobile_tea
I beacon mobile_teaI beacon mobile_tea
I beacon mobile_tea
 
Android, getting started
Android, getting startedAndroid, getting started
Android, getting started
 
Clear the UIViewController Mess
Clear the UIViewController MessClear the UIViewController Mess
Clear the UIViewController Mess
 
Big data and mobile
Big data and mobileBig data and mobile
Big data and mobile
 
The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6
 
Jasmine 2.0
Jasmine 2.0Jasmine 2.0
Jasmine 2.0
 
Harmonik
HarmonikHarmonik
Harmonik
 
Mobile raspberry pi
Mobile raspberry piMobile raspberry pi
Mobile raspberry pi
 
WebRTC communication and wearable devices
WebRTC communication and wearable devicesWebRTC communication and wearable devices
WebRTC communication and wearable devices
 
Multithreading development with workers
Multithreading development with workersMultithreading development with workers
Multithreading development with workers
 
Ecma6 in 30 minutes
Ecma6 in 30 minutesEcma6 in 30 minutes
Ecma6 in 30 minutes
 
TDD and PhoneGap
TDD and PhoneGapTDD and PhoneGap
TDD and PhoneGap
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architectures
 
Test first!
Test first!Test first!
Test first!
 
Develop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGapDevelop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGap
 
Test first
Test firstTest first
Test first
 

Recently uploaded

Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfCWS Technology
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...nishasame66
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsChandrakantDivate1
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsChandrakantDivate1
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesChandrakantDivate1
 

Recently uploaded (6)

Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 

WebRTC and Mobile Integration