SlideShare a Scribd company logo
About myself
●Front-End Engineer at Yandex
●Developer of Yandex.Taxi and Yandex.Mobile
●JavaScript Teacher
●Blogger
02
Components
Now!
Mikhail Davydov
MetaRefresh, 15 Feb 2014
Code libraries
Code libraries
●jQuery — fixes DOM
●Underscore — fills ECMAScript 3-5 gap
●Backbone — brings MV*
●They are created to fix Web
For some historical reasons many good tools are libraries.
The DOM is a Mess 2009
06
Libraries are everywhere
Libraries are big
●Heavy
–jQuery 2.0.3 — 230K (unpacked)
●Hard to understand
–Cyclomatic complexity of $.ajax — 43
●Too powerful
–$.ajax, $.animate, _
08
Libraries are tightly coupled
●Hard to get a small part
–$.Deferred, $.ajax
–_.template
●Manual extraction
●Their modules don't help much
09
Dependencies management
●Dependency on jQuery
●Libraries require libraries
–Backbone+jQuery+Underscore
●Manual dependencies management
–Bower and Npm are lifesavers
10
Web is fixed*
Critical DOM APIs
●querySelector
●CSS3 Selectors*
●Web Storage (localStorage)
●Cross-Origin Resource Sharing*
* fully with polyfills
Can I Use
13
ECMAScript 5
Polyfills can fix the rest
●CSS3 Selectors (slow, not recommended)
●Cross-Origin Resource Sharing
●HTML5 Elements
●ECMAScript 5
HTML5 Please polyfills
15
Mobile
Mobile Growth
Why do we use
libraries?
Components
Simple
Components are simple
●Lightweight
–dom — 28K, 3K self (unpacked)
●Single responsibility & KISS Principle
●Easy to understand
–Maintain
–Write tests
21
Standalone
Components are standalone
●Contain all dependencies
–Most of them are external
●Easy to reuse
– bower i name
– npm i name
●It is simple to use a part
23
Isolated
Components are isolated
●Do not interfere with others
–Scoped CSS
–Flexible layout
–No globals leak
●Have restricted access to others
– require()
25
WebComponents
●Idea of Custom HTML Elements
●API/Framework
–Shadow DOM (Encapsulation)
–HTML Imports & Templates
–Template Binding
Web components and the future of web development from MR 2013
27
WebComponents in 2014
HTML Templates
Shadow DOM
Custom Elements
HTML Imports
It is possible to polyfill others using Polymer.
28
Alternatives for these APIs
WebComponents API Alternative
Custom Elements Component engines
Shadow DOM BEM Methodology
HTML Templates Template engines
HTML Imports Build tools
Scoped CSS BEM or OOCSS
Template Binding Data binding
29
Component engines
●X-Tag
●jQuery UI Widgets
●Dojo Widgets
●React
●bem-tools
30
BEM briefly
●Avoid CSS cascade
●Block — Custom Element
●Element — Shadow DOM
●Modifier — Component State
Maintainable frontend development with BEM from MR 2013
32
.tab-panel — Block
.tab-panel__tab — Element
.tab-panel__tab_state_active
Let's build the
Component!
Keep in mind that
●Component is Simple
–KISS
●Component is Standalone
–Dependencies
●Component is Isolated
–Layout, CSS, JS
36
Package file
Package file is the contract
// bower.json
{
"name""name": "my-share""my-share",
"version""version": "1.0.0""1.0.0",
"main""main": ["my-share.js""my-share.js"]
}
Bower and format of bower.json
01.
02.
03.
04.
05.
06.
38
HTML Layout
Private HTML Layout
<!-- my-share.html -->
<aa hrefhref=""{{ href }}{{ href }}"" classclass="my-share""my-share">
<imgimg srcsrc=""{{ icon }}{{ icon }}"" classclass="my-share__icon""my-share__icon"/>
<spanspan classclass="my-share__label""my-share__label">{{ label }}</spanspan>
</aa>
This template is written using BEM Methodology.
01.
02.
03.
04.
05.
40
Interface
Interface
<aa classclass="my-share""my-share"
data-href="{{ href }}"
data-icon="{{ icon }}"
>{{ label }}</aa>
This interface is similar to the WebComponents.
01.
02.
03.
04.
42
WebComponents for comparison
<my-sharemy-share
href="{{ href }}"
icon="{{ icon }}"
>{{ label }}</my-sharemy-share>
01.
02.
03.
04.
43
CSS of Component
..my-sharemy-share {}
.mymy-share__icon {
vertical-alignvertical-align: middle;middle;
heightheight: 16px;16px;
}
.mymy-share__label {
padding-leftpadding-left: 5px;5px;
}
01.
02.
03.
04.
05.
06.
07.
08.
44
CSS of WebComponent
my-share {}
.icon {
vertical-alignvertical-align: middle;middle;
heightheight: 16px;16px;
}
.label {
padding-leftpadding-left: 5px;5px;
}
01.
02.
03.
04.
05.
06.
07.
08.
45
CSS is isolated
●WebComponent — DOM API
– <style scoped>
●BEM
–Avoid CSS cascade
–Naming conventions .block__element
46
Dependencies
External dependencies
// bower.json
"dependencies""dependencies": {
"tpl""tpl": "azproduction/lodash-template""azproduction/lodash-template",
"domify""domify": "component/domify""component/domify",
"decl""decl": "azproduction/decl""azproduction/decl"
}
Declare all external dependencies.
01.
02.
03.
04.
05.
06.
48
Component relations
// my-share.js
varvar tpl = require('tpl''tpl'),
decl = require('decl''decl'),
domify = require('domify''domify');
varvar html = require('templates/my-share''templates/my-share'),
template = tpl(html);
01.
02.
03.
04.
05.
06.
07.
49
Component logic
functionfunction MyShare(el) {
thisthis.options = thisthis.collectOptions(el);
thisthis.el = thisthis.render();
thisthis.delegateEvents();
thisthis.replaceElement(el);
}
decl('.my-share''.my-share', MyShare);
module.exports = MyShare;
01.
02.
03.
04.
05.
06.
07.
08.
50
JavaScript is isolated
●CommonJS/Modules
–No globals leak
–It asks for requirements
–It provides resources
●AMD can be used too
51
Assemble
Assemble component
●Resolve all requirements
●Compile
–styles, scripts, templates
●Assemble scripts and templates
●Concatenate styles
53
Component build tools
●bem-tools
●Component
●Browserify
●LMD
54
Using my-share Component
<aa classclass="my-share""my-share" ......>Tweet</aa>
<linklink relrel="stylesheet""stylesheet" hrefhref=""my-share.cssmy-share.css""/>
<scriptscript srcsrc=""my-share.jsmy-share.js""></scriptscript>
Compare with WebComponents.
01.
02.
03.
55
Using my-share WebComponent
<my-sharemy-share ......>Tweet</my-sharemy-share>
<linklink relrel="import""import" hrefhref=""my-share.htmlmy-share.html""/>
01.
02.
56
Tweet
Live example
57
Conclusion
●Web is Fixed, Mobile is Growing
●Libraries are big and clumsy
●WebComponents == API
●Write and use Components
60
Components Now!
Mikhail Davydov
@azproduction
61
Useful resources
●Code of my-share
●You might not need jQuery
●BEM Methodology
●Web Components
●Polymer Project
62
clck.ru/94Tqf
Sources of images
● minecraft.gamepedia.com/Blocks
● fr.fotopedia.com/wiki/Bibliothèque#!/items/flickr-6899137527
● www.planetminecraft.com/project/minecraft-site/
● investments.academic.ru/1513/Форвардный_контракт
● frozen-lama.deviantart.com/art/Minecraft-Compound-Door-209872466
● www.postandcourier.com/article/20120620/pc1002/120629985
● isintu.com/features/responsive-design/
● nicolaijuhler.wordpress.com/
● r3c0nic.deviantart.com/art/minecraft-Blueprint-293455933
● ru-wallp.com/view/1542/
64

More Related Content

What's hot

Optimizing Your Frontend Performance
Optimizing Your Frontend PerformanceOptimizing Your Frontend Performance
Optimizing Your Frontend Performance
Thomas Weinert
 

What's hot (19)

OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
 
Devoxx France - Web Components, Polymer et Material Design
Devoxx France -  Web Components, Polymer et Material DesignDevoxx France -  Web Components, Polymer et Material Design
Devoxx France - Web Components, Polymer et Material Design
 
Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)
 
Optimizing Your Frontend Performance
Optimizing Your Frontend PerformanceOptimizing Your Frontend Performance
Optimizing Your Frontend Performance
 
Juju presentation
Juju presentationJuju presentation
Juju presentation
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JS
 
OVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source TreeOVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source Tree
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
 
jQuery and Ruby Web Frameworks
jQuery and Ruby Web FrameworksjQuery and Ruby Web Frameworks
jQuery and Ruby Web Frameworks
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
OpenCms Days 2014 - Nested containers in action
OpenCms Days 2014 - Nested containers in actionOpenCms Days 2014 - Nested containers in action
OpenCms Days 2014 - Nested containers in action
 
OpenCms Days 2016: Multilingual websites with OpenCms
OpenCms Days 2016:   Multilingual websites with OpenCmsOpenCms Days 2016:   Multilingual websites with OpenCms
OpenCms Days 2016: Multilingual websites with OpenCms
 
DiscoJuice
DiscoJuiceDiscoJuice
DiscoJuice
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Cache hcm-topdev
Cache hcm-topdevCache hcm-topdev
Cache hcm-topdev
 
Chromium vs. Firefox
Chromium vs. FirefoxChromium vs. Firefox
Chromium vs. Firefox
 
Juju, LXC, OpenStack: Fun with Private Clouds
Juju, LXC, OpenStack: Fun with Private CloudsJuju, LXC, OpenStack: Fun with Private Clouds
Juju, LXC, OpenStack: Fun with Private Clouds
 
Browsers. Magic is inside.
Browsers. Magic is inside.Browsers. Magic is inside.
Browsers. Magic is inside.
 
Web page design (1)
Web page design (1)Web page design (1)
Web page design (1)
 

Viewers also liked

Viewers also liked (9)

Gett - Mobile automation 2015
Gett - Mobile automation 2015Gett - Mobile automation 2015
Gett - Mobile automation 2015
 
Birchbox presentation
Birchbox presentationBirchbox presentation
Birchbox presentation
 
Strategic Planning for Sephora
Strategic Planning for SephoraStrategic Planning for Sephora
Strategic Planning for Sephora
 
BirchBox the Future Business Model of E-Commerce
BirchBox the Future Business Model of E-CommerceBirchBox the Future Business Model of E-Commerce
BirchBox the Future Business Model of E-Commerce
 
10 Step Marketing Plan - UBER
10 Step Marketing Plan - UBER10 Step Marketing Plan - UBER
10 Step Marketing Plan - UBER
 
UBER Strategy
UBER StrategyUBER Strategy
UBER Strategy
 
Uber's Business Model
Uber's Business ModelUber's Business Model
Uber's Business Model
 
Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013
 
State of the Word 2011
State of the Word 2011State of the Word 2011
State of the Word 2011
 

Similar to Components now!

Similar to Components now! (20)

Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & Polymer
 
Once upon a time, there were css, js and server-side rendering
Once upon a time, there were css, js and server-side renderingOnce upon a time, there were css, js and server-side rendering
Once upon a time, there were css, js and server-side rendering
 
In the DOM, no one will hear you scream
In the DOM, no one will hear you screamIn the DOM, no one will hear you scream
In the DOM, no one will hear you scream
 
Віталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and DrupalВіталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and Drupal
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
 
Incremental DOM and Recent Trend of Frontend Development
Incremental DOM and Recent Trend of Frontend DevelopmentIncremental DOM and Recent Trend of Frontend Development
Incremental DOM and Recent Trend of Frontend Development
 
Decoupling Content Management with Create.js and PHPCR
Decoupling Content Management with Create.js and PHPCRDecoupling Content Management with Create.js and PHPCR
Decoupling Content Management with Create.js and PHPCR
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
 
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...
 Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ... Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
Decoupling Content Management
Decoupling Content ManagementDecoupling Content Management
Decoupling Content Management
 
Fluent 2012 v2
Fluent 2012   v2Fluent 2012   v2
Fluent 2012 v2
 
Enhancing Spring MVC Web Applications Progressively with Spring JavaScript
Enhancing Spring MVC Web Applications Progressively with Spring JavaScriptEnhancing Spring MVC Web Applications Progressively with Spring JavaScript
Enhancing Spring MVC Web Applications Progressively with Spring JavaScript
 
Web components, so close!
Web components, so close!Web components, so close!
Web components, so close!
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes Demystified
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
 
Microservices Architecture and Containers.
Microservices Architecture and Containers.Microservices Architecture and Containers.
Microservices Architecture and Containers.
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
JSFoo-2017 Takeaways
JSFoo-2017 TakeawaysJSFoo-2017 Takeaways
JSFoo-2017 Takeaways
 

More from Mikhail Davydov

JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)
Mikhail Davydov
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)
Mikhail Davydov
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
Mikhail Davydov
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)
Mikhail Davydov
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)
Mikhail Davydov
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
Mikhail Davydov
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)
Mikhail Davydov
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)
Mikhail Davydov
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
Mikhail Davydov
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)
Mikhail Davydov
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in Russian
Mikhail Davydov
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript Application
Mikhail Davydov
 

More from Mikhail Davydov (16)

Components now! (in russian)
Components now! (in russian)Components now! (in russian)
Components now! (in russian)
 
JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)
 
Code Style (in russian)
Code Style (in russian)Code Style (in russian)
Code Style (in russian)
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in Russian
 
Dump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScript
 
Dart - светлая сторона силы?
Dart - светлая сторона силы?Dart - светлая сторона силы?
Dart - светлая сторона силы?
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript Application
 

Recently uploaded

Recently uploaded (20)

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

Components now!