SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
The Structure 
of Web Code 
Dublin, November 1, 2014 
A Case 
For Polymer 
v1
@polymer #itshackademic 
Tommie Gannert 
tommie@
Agenda 
The Structure of Web Code 
Web Components and Implementations 
Polymer 
Tools
The Structure of Web Code
Imagine a traffic light
@polymer #itshackademic 
Style Behavior 
Document Style Behavior 
http://jsbin.com/lefubayoha/4/ 
Style Behavior
@polymer #itshackademic 
printf (_("For complete documentation, run: " 
"info coreutils '%s invocation'n"), 
last_component (program_name));
@polymer #itshackademic 
Contents of section .text: 
401c40: mov $0x404ae0,%esi 
401c45: callq 401180 <dcgettext@plt> 
401c4a: mov %rbp,%rdx 
401c4d: mov %rax,%rsi 
401c50: mov $0x1,%edi 
401c55: xor %eax,%eax 
401c57: callq 401330 <__printf_chk@plt> 
Contents of section .rodata: 
404ae0: ascii "For complete documentation, run: " 
" info coreutils '%s invocation'n" 
404b21: ascii "echo" 
404b26: ascii "Report %s …
Back To Basics
Document light 
@polymer #itshackademic 
http://jsbin.com/zoyapiheju/2/ 
Style 
Behavior 
app
Document 
@polymer #itshackademic 
Style 
Document 
traffic-app 
Style 
Behavior 
traffic-light 
Behavior 
Web Components! 
?
I don't always 
structure my frontend code, 
but when I do, 
I use web components. 
@polymer #itshackademic 
https://imgflip.com/memegenerator/ 
The-Most-Interesting-Man-In-The-World
Web Components?
Custom Elements 
define new HTML/DOM elements
<paper-tabs selected=“1”> 
<paper-tab>Tab 1</paper-tab> 
<paper-tab>Tab 2</paper-tab> 
<paper-tab>Tab 3</paper-tab> 
</paper-tabs> 
@polymer #itshackademic 
Custom Elements 
define new HTML 
declarative, readable 
meaningful HTML 
extensible → reusable
@polymer #itshackademic 
Custom Elements 
define new HTML 
declarative, readable 
meaningful HTML 
extensible → reusable 
var tabs = document.querySelector('paper-tabs'); 
tabs.addEventListener('core-activate', function() { 
console.log(this.selected); 
});
Templates 
native client-side templating
@polymer #itshackademic 
<template> 
<div class=“comment”> 
<img src=“image.png”> 
</div> 
<script>…</script> 
</template> 
HTML Templates 
native client-side templates 
use DOM to scaffold DOM → no XSS 
parsed, not rendered 
content is inert until cloned/used 
doc fragment → not part of the page
Shadow DOM 
DOM/CSS scoping
<video src=“foo.webm” controls></video> 
@polymer #itshackademic
<video src=“foo.webm” controls></video>
Mutation/Object Observers 
declarative programming
<template> 
<img src=“{{src}}”> 
</template> 
<script> 
… this.src = 'lolcat.jpg'; … 
</script> 
@polymer #itshackademic 
Mutation Observers 
declarative programming 
data-binding minimal DOM manipulation 
safe behind-the-scenes escaping 
two-way img.src = 'otherlolcat.jpg'; 
integrated use in document and code
HTML Imports 
loading web components
@polymer #itshackademic 
<link rel="stylesheet" href="bootstrap.css"> 
<link rel="stylesheet" href="fonts.css"> 
<script src="jquery.js"></script> 
<script src="bootstrap.js"></script> 
<script src="bootstrap-tooltip.js"></script> 
<script src="bootstrap-dropdown.js"></script>
@polymer #itshackademic 
<link rel="import" href="bootstrap.html">
Web Components 
● Custom Elements 
● Templates 
● Shadow DOM 
● Mutation/Object Observers 
● HTML Imports
Good Design 
requires 
good implementation 
http://www.reddit.com/r/CrappyDesign/ 
comments/2k1ima 
/would_it_make_it_weird_if_i_closed_the_stall_door/
@polymer #itshackademic 
Browser support 
November 2014
Polyfills Web Components 
with platform.js* 
* soon to be called webcomponents.js
@polymer #itshackademic 
Browser support 
November 2014 (with Polymer)
polymer
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
@polymer #itshackademic 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
<template> 
@polymer #itshackademic 
<div></div> 
</template> 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
<template> 
@polymer #itshackademic 
<style> 
div { 
border-radius: 100px; 
height: 200px; 
width: 200px; 
} 
</style> 
<div></div> 
</template> 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light" attributes="color"> 
<template> 
@polymer #itshackademic 
<style> 
div { 
border-radius: 100px; 
height: 200px; 
width: 200px; 
} 
</style> 
<div style="background-color: {{ color }}"></div> 
</template> 
<script> 
Polymer({ 
color: 'blue' 
}); 
</script> 
</polymer-element>
<link rel="import" href="../traffic-light/traffic-light.html"> 
@polymer #itshackademic 
<traffic-light color="red"></traffic-light> 
<traffic-light color="yellow"></traffic-light> 
<traffic-light color="green"></traffic-light>
<link rel="import" href="../traffic-light/traffic-light.html"> 
<polymer-element name="traffic-app" attributes="activeColor"> 
<template> 
<link rel="stylesheet" href="traffic-app.css"> 
<traffic-light color="red"></traffic-light> 
<traffic-light color="yellow"></traffic-light> 
<traffic-light color="green"></traffic-light> 
</template> 
<script name="traffic-app.js"></script> 
</polymer-element> 
@polymer #itshackademic
<link rel="import" href="../traffic-light/traffic-light.html"> 
<polymer-element name="traffic-app" attributes="activeColor"> 
<template> 
<link rel="stylesheet" href="traffic-app.css"> 
<template repeat="{{ color in lights }}"> 
<traffic-light color="{{ color }}"></traffic-light> 
</template> 
</template> 
@polymer #itshackademic 
<script> 
Polymer({ 
activeColor: 'red', 
lights: [ 'red', 'yellow', 'green' ] 
}); 
</script> 
</polymer-element>
http://jsbin.com/kofowetapa/1/ @polymer #itshackademic
APIs
APIs (as elements)
@polymer #itshackademic 
I want to add a marker 
to a Google map.
@polymer #itshackademic 
} 
</style> 
<div id="map"></div> 
<script src=“http://maps.googleapis.com/maps/api/js?callback=mapReady"> 
</script> 
<script> 
var marker = null; 
function getCurrentLocation(callback) { 
navigator.geolocation.watchPosition(callback); 
} 
function addMarker(opts, info) { 
var marker = new google.maps.Marker(opts); 
var infoWindow = new google.maps.InfoWindow({content: info}); 
google.maps.event.addListener(marker, 'click', function() { 
infoWindow.open(opts.map, marker); 
}); 
return marker; 
} 
function mapReady() { 
var container = document.querySelector('#map'); 
var map = new google.maps.Map(container, { 
zoom: 14, disableDefaultUI: true 
}); 
getCurrentLocation(function(pos) { 
var current = new google.maps.LatLng(pos.coords.latitude, 
pos.coords.longitude); 
map.setCenter(current); 
// Re-position marker or create new one. 
if (marker) { 
marker.setPosition(map.getCenter()); 
} else { 
marker = addMarker({ 
position: current, map: map, title: 'Your location' 
}, '<b>Your location</b>'); 
} 
So much code for 
one map marker!
paper-elements
<paper-input floatinglabel 
label="Type only numbers... (floating)" 
validate="^[0-9]*$" 
error="Input is not a number!"> 
</paper-input> 
@polymer #itshackademic
Tools
Bower 
bower init 
$ bower install --save Polymer/polymer
Vulcanize 
npm install -g vulcanize 
$ vulcanize -o build.html --csp --strip  
index.html
Chrome Dev Editor 
goo.gl/UjLvb2
polymer-project.org/tools/designer/
polymer-project.org/apps/topeka/
customelements.io
Summary and Conclusions
<slide-thankyou> 
Questions? 
</slide-thankyou>
○ https://www.polymer-project.org/ 
○ https://www.polymer-project.org/docs/start/creatingelements.html 
○ https://www.polymer-project.org/tools/designer/ 
○ https://github.com/Polymer/polymer-expressions 
○ http://itshackademic.com/codelabs 
○ http://www.w3.org/TR/custom-elements/ 
○ http://www.w3.org/TR/shadow-dom/ 
○ http://www.w3.org/TR/html5/scripting-1.html#the-template-element 
○ https://dom.spec.whatwg.org/#mutation-observers 
○ http://wiki.ecmascript.org/doku.php?id=harmony:observe 
○ www.w3.org/TR/html-imports/ 
○ http://blog.stevensanderson.com/2014/08/18/knockout-3-2-0-released/ 
○ http://www.x-tags.org/

Mais conteúdo relacionado

Mais procurados

How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
Compare Infobase Limited
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
FITC
 
Polymer
Polymer Polymer
Polymer
jskvara
 

Mais procurados (20)

Fast by Default
Fast by DefaultFast by Default
Fast by Default
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with Polymer
 
ElggCamp Santiago - Dev Edition
ElggCamp Santiago - Dev EditionElggCamp Santiago - Dev Edition
ElggCamp Santiago - Dev Edition
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
 
Maven
MavenMaven
Maven
 
Introduction to polymer project
Introduction to polymer projectIntroduction to polymer project
Introduction to polymer project
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Facelets
FaceletsFacelets
Facelets
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps - Intro & Learnings
Progressive Web Apps - Intro & LearningsProgressive Web Apps - Intro & Learnings
Progressive Web Apps - Intro & Learnings
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
Polytechnic 1.0 Granada
Polytechnic 1.0 GranadaPolytechnic 1.0 Granada
Polytechnic 1.0 Granada
 
Polymer
Polymer Polymer
Polymer
 
Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.
 
plumbing for the next web
plumbing for the next webplumbing for the next web
plumbing for the next web
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOS
 

Destaque

I'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedInI'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedIn
Todd Palino
 

Destaque (19)

Rahul Site Reliability_Engineer
Rahul Site Reliability_EngineerRahul Site Reliability_Engineer
Rahul Site Reliability_Engineer
 
SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016
 
SRE Tools
SRE ToolsSRE Tools
SRE Tools
 
Stephen McHenry - Chanecellor of Site Reliability Engineering, Google
Stephen McHenry - Chanecellor of Site Reliability Engineering, GoogleStephen McHenry - Chanecellor of Site Reliability Engineering, Google
Stephen McHenry - Chanecellor of Site Reliability Engineering, Google
 
Works of site reliability engineer
Works of site reliability engineerWorks of site reliability engineer
Works of site reliability engineer
 
Software reliability tools and common software errors
Software reliability tools and common software errorsSoftware reliability tools and common software errors
Software reliability tools and common software errors
 
I'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedInI'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedIn
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
 
SRE From Scratch
SRE From ScratchSRE From Scratch
SRE From Scratch
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
Site Reliability Engineering Helps Google Conquer The World
Site Reliability Engineering Helps Google Conquer The WorldSite Reliability Engineering Helps Google Conquer The World
Site Reliability Engineering Helps Google Conquer The World
 
Multi tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafkaMulti tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafka
 
ITサービスマネジメントとSRE
ITサービスマネジメントとSREITサービスマネジメントとSRE
ITサービスマネジメントとSRE
 
overview of reliability engineering
overview of reliability engineeringoverview of reliability engineering
overview of reliability engineering
 
Scaling Operations At Spotify
Scaling Operations At SpotifyScaling Operations At Spotify
Scaling Operations At Spotify
 
160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
Reliability engineering ppt-Internship
Reliability engineering ppt-InternshipReliability engineering ppt-Internship
Reliability engineering ppt-Internship
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Semelhante a The Structure of Web Code: A Case For Polymer, November 1, 2014

Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
DataArt
 
Doctype html
Doctype htmlDoctype html
Doctype html
Eddy_TKJ
 
Private slideshow
Private slideshowPrivate slideshow
Private slideshow
sblackman
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
gdgyaounde
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 

Semelhante a The Structure of Web Code: A Case For Polymer, November 1, 2014 (20)

Introduction to web components
Introduction to web componentsIntroduction to web components
Introduction to web components
 
Polymer Code Lab in Dart - DevFest Kraków 2014
Polymer Code Lab in Dart - DevFest Kraków 2014Polymer Code Lab in Dart - DevFest Kraków 2014
Polymer Code Lab in Dart - DevFest Kraków 2014
 
Polymer - Una bella historia de amor
Polymer - Una bella historia de amorPolymer - Una bella historia de amor
Polymer - Una bella historia de amor
 
Upload[1]
Upload[1]Upload[1]
Upload[1]
 
Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
 
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
Doctype html
Doctype htmlDoctype html
Doctype html
 
Private slideshow
Private slideshowPrivate slideshow
Private slideshow
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
 
WordCamp Montreal 2016 WP-API + React with server rendering
WordCamp Montreal 2016  WP-API + React with server renderingWordCamp Montreal 2016  WP-API + React with server rendering
WordCamp Montreal 2016 WP-API + React with server rendering
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares webRepaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares web
 
Django Rest Framework and React and Redux, Oh My!
Django Rest Framework and React and Redux, Oh My!Django Rest Framework and React and Redux, Oh My!
Django Rest Framework and React and Redux, Oh My!
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

The Structure of Web Code: A Case For Polymer, November 1, 2014