Michele Gallotti presenta la struttura di un progetto base di Polymer 3.0, insieme a PUG e Typescript e illustrerà le basi concettuali di Polymer 3.0 con un semplice widget.
Le slide sono rivolte a chiunque voglia conoscere Polymer 3.0 e le sue potenzialità.
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
All about the capstone project that i gave the whole code in this projecy to discover all the things in my capstone
This presentation is at the beginners level and mainly focusses on how to create and consume OData service in ASP.NET. OData (Open Data Protocol) is a standardized protocol for creating and consuming data APIs through regular HTTP requests and REST.
Copy of the slides from the Advanced Web Development Workshop presented by Ed Bachta, Charlie Moad and Robert Stein of the Indianapolis Museum of Art during the Museums and the Web 2008 conference in Montreal
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
Come join the Rich Internet Application engineering team from AOL and see first-hand how AOL created a rich, scalable mail application using Microsoft Silverlight 2.
This presentation is at the beginners level and mainly focusses on how to create and consume OData service in ASP.NET. OData (Open Data Protocol) is a standardized protocol for creating and consuming data APIs through regular HTTP requests and REST.
Copy of the slides from the Advanced Web Development Workshop presented by Ed Bachta, Charlie Moad and Robert Stein of the Indianapolis Museum of Art during the Museums and the Web 2008 conference in Montreal
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
Come join the Rich Internet Application engineering team from AOL and see first-hand how AOL created a rich, scalable mail application using Microsoft Silverlight 2.
Odoo views are dynamically created from XML codes. Data of Odoo are stored as objects and XML description is used to expose these objects to the user interface.
Discover Facilitation: gestire le riunioni in modo efficaceThinkOpen
Davide Spagnuolo, Project Manager di ThinkOpen, vi dà appuntamento con il workshop Discover Facilitation: gestire le riunioni in modo efficace .
Davide ci porta alla scoperta dell’ambito Facilitation approfondendo i processi e le tecniche da applicare per gestire riunioni e incontri in modo produttivo, valorizzando i diversi punti di vista.
Nel corso del workshop viene analizzato il ruolo del facilitatore e delle best practice da utilizzare, basate sulla metodologia Process Iceberg®, una metodologia solida applicata all’interno di un’ampia gamma di organizzazioni e situazioni, sia nel settore pubblico che in quello privato.
La presentazione è dedicata a tutti coloro che vogliono approfondire le proprie conoscenze riguardo ai processi di Facilitation e alle sue applicazioni nei diversi ambiti.
Infrastructure as a code: a cloud approachThinkOpen
Federico Bollotta, Software Analyst & Magento Specialist, presenta il workshop “Infrastructure as a code: a cloud approach”.
Federico ci porta alla scoperta del kit AWS Cloud Development (AWS CDK), un framework di sviluppo software open source che consente di modellare ed erogare risorse di applicazioni cloud tramite linguaggi di programmazione noti.
Durante l’incontro vengono approfondite le metodologie attuali e le diverse applicazioni del Cloud Development Kit, in particolare quelle per deploy di strutture serverless.
L'evento è dedicato a tutti gli appassionati del mondo IT e a coloro che vogliono approfondire le proprie conoscenze in merito ad AWS CDK.
Smart Signage: la nuova digital experienceThinkOpen
Davide Davin, Software Developer, Giovanni Fedele, Web Developer, presentano il workshop “Smart Signage: la nuova digital experience”.
Giovanni e Davide esplorano il mondo dello Smart Signage, un’innovativa forma di comunicazione basata sulla trasmissione di contenuti grafici e/o video su schermi TV, monitor e supporti dedicati (come le digital table), a scopo promozionale o informativo a seconda del business di riferimento.
Nel corso della presentazione vediamo come lo Smart Signage consenta la gestione flessibile dei vari servizi e dei palinsesti multimediali, offrendo ai clienti soluzioni sempre nuove e su misura per le loro esigenze.
Il workshop è dedicato a tutti coloro che vogliono approfondire le proprie conoscenze in merito ai sistemi di Smart Signage e alle applicazioni nei diversi ambiti.
I Graph Database: analisi del comportamento degli utentiThinkOpen
Roberto Grandi, esperto di Data Analytics & Business Intelligence, presenta il workshop “I Graph Database: analisi del comportamento degli utenti”.
Nell’incontro Roberto esplora il mondo dei graph database, strumenti poco conosciuti ma molto intuitivi e potenti per rappresentare le relazioni online in modo del tutto naturale.
Nella presentazione viene illustrato come è cambiato il concetto di relazione applicandolo ad uno use case specifico: l'analisi del comportamento dell'utente e dei suoi gusti. Saper riconoscere la propensione e determinare con accuratezza la prossima mossa dell’user è fondamentale per allocare le risorse corrette dal punto di vista del business.
Durante una sessione pratica vengono mostrati i costrutti base del linguaggio Cypher con Neo4J e alcuni algoritmi utili a caratterizzare il comportamento del cliente.
Federico Bollotta, Software Analyst & Magento Specialist, ci guida alla scoperta di Magento, il CMS open source per l'e-commerce lanciato per la prima volta il 31 marzo 2008.
Federico, partendo dalle origini, illustra l’evoluzione 2.0 della piattaforma, fino allo stack tecnologico, alle modalità di sviluppo e alle integrazioni Rest.
La presentazione analizza anche un case study, per consentire di conoscere in modo approfondito e dettagliato tutte le specifiche del CMS e il suo utilizzo.
Roberto Mapelli, Node.js Developer di ThinkOpen illustra il complesso mondo di Javascript a partire dalle specifiche nel suo diverso utilizzo da front-end a back-end.
Lo speaker mostra le più recenti funzionalità di Javascript focalizzandosi sulle versioni ES6 e successive in rapporto a quelle precedenti. Viene evidenziato come a volte il linguaggio da solo non basta ed è necessario affidarsi a librerie esterne che negli ultimi anni puntano sempre di più a un paradigma funzionale.
La presentazione prevede una sessione di live coding in cui vengono affrontati nella pratica i problemi più comuni che si presentano sviluppando con questo linguaggio e alcuni metodi per risolverli.
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneThinkOpen
Java 9, 10 , 11 - e l’ultimissimo 12 - sono arrivati in fretta e hanno portato cambiamenti profondi: nuove funzionalità, strumenti aggiuntivi e jvm. Gli aggiornamenti pubblici di Java 8 sono terminati a gennaio 2019 e questo è uno dei motivi principali che ci porta a guardare alla fase successiva.
Theodor Dumitrescu, Java Developer di ThinkOpen, mostra perché la portabilità di un progetto per l'utilizzo di JDK 9 (o superiori) non è immediata come in passato.
Viene dedicato un approfondimento specifico al passaggio da Oracle a Eclipse, una sfida non solo per gli sviluppatori ma anche per l'intera community. Infatti, tantissimi progetti hanno cambiato casa abbandonando la ben nota madre Oracle per essere accolti dalla comunità di Eclipse. Lo speaker illustra l’evoluzione dell'intero ecosistema e delle licenze che permettono di sfruttarlo.
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiThinkOpen
Amazon Alexa o Google Home? Quali sono le caratteristiche e i punti di forza che contraddistinguono i due accattivanti Smart Speaker? In che modo questi assistenti vocali possono rendere “intelligente” la nostra abitazione? Quale scegliere in base alle proprie esigenze e perché?
Niccolò Olivieri Achille, Senior Software Engineer, e Theodor Dumitrescu, Java Developer, svelano tutte le peculiarità dei due ecosistemi.
Dopo una panoramica generale sulle funzionalità, viene illustrato quanto sia intuitivo e facile utilizzare i due differenti vocal assistant, configurando nuovi dispositivi per la domotica.
Tra le tematiche trattate:
- Le specifiche delle rispettive piattaforme per la configurazione dei dispositivi, ovvero Dialogflow e Action on Google vs Alexa Skill Kit e Blue Prints;
- La qualità della documentazione per l’utilizzo delle API e, se presenti, degli SDK;
- L’immediatezza nella creazione di un bot.
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...ThinkOpen
Una panoramica sul mondo degli Amazon Web Services, estremamente affascinante e dalle molteplici funzionalità, ancora poco conosciute.
Il Senior Software Engineer Niccolò Olivieri analizza i servizi principali, studiando come potrebbe apparire un’applicazione multicanale completa. Nello specifico, si illustra la piattaforma di cloud computing AWS e le soluzioni più diffuse: hosting di applicazioni; hosting Web dinamico; backup e storage; hosting di applicazioni IT interne ed esterne; distribuzione di contenuti; database.
Un approfondimento specifico è dedicato ad Amazon Alexa. In particolare, allo sviluppo di applicazioni voice-first con AWS e Amazon Alexa.
"Java 8, Lambda e la programmazione funzionale" by Theodor DumitrescuThinkOpen
Theodor Dumitrescu racconta perché si sente sempre più spesso parlare di programmazione funzionale e perché soprattutto in presenza del termine “lambda”.
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola NapolitanoThinkOpen
Davide Davin presenta i vantaggi di Odoo: il software open source perfetto per ogni tipo di business.
Il nostro Senior Developer mostrerà come Odoo stia dando del filo da torcere al gigante SAP e come il nuovo software ERP possa avere un forte impatto sulla crescita di un’azienda.
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar RossiniThinkOpen
Omar Rossini ha presentato tutti gli aspetti principali del lavoro di Configuration Manager: dall'analisi della metodologia DevOps in contesto Agile, alle tecniche di automazione dei rilasci e le best practice del CM.
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...ThinkOpen
19/07/2018
Come sviluppare un chatbot capace di interagire con gli utenti e i device? Introduzione al conversation design - la disciplina che si occupa di disegnare e curare il linguaggio di un'interfaccia, basandosi sulla conversazione umana - e dimostrazione pratica dello sviluppo di un chatbot per Google Home tramite Dialogflow e Node.js.
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe TrottaThinkOpen
28/06/2018
Sviluppa il Business con Scrum e Kanban: durante il workshop sono stati applicati i principi della metodologia Agile, per sviluppare un’idea imprenditoriale, attraverso l'utilizzo dei cari e vecchi Lego.
"Reactive programming" by Theodor Dumitrescu & Gianfranco BottiglieriThinkOpen
14/06/2018
Theodor Dumitrescu e Gianfranco Bottiglieri, entrambi Java Developer in ThinkOpen, hanno introdotto il nuovo paradigma di programmazione, Reactive Programming.
Reactive Programming si basa sull'utilizzo di flussi di dati asincroni e di architetture orientate agli eventi. In questo scenario diventata pertanto possibile manipolare tutti i componenti di un software come un flusso di dati, a prescindere dal fatto che essi siano variabili, input utente, proprietà, cache, strutture o perfino codice realizzato a runtime.
"GDPR: cos'è e come funziona" by Francesco PuglisiThinkOpen
07/06/2018
Introduzione al nuovo Regolamento sulla protezione dei dati personali (GDPR) entrato in vigore il 25 maggio 2018.
Sono state analizzate tutte le novità introdotte e le conseguenti responsabilità che esse comportano per le aziende che fanno quotidianamente raccolta dati.
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe TrottaThinkOpen
24/05/2018
Kanban, manuale di sopravvivenza
Continua il percorso dei TOP Agile Days: Giuseppe Trotta e Donato Andrisani - entrambi Certified Scrum Master - hanno illustrato il funzionamento di Kanban, strumento di lavoro per il controllo e l'ottimizzazione dei flussi di produzione.
Dopo aver spiegato i principi alla base della metodologia, i nostri esperti hanno mostrato come costruire passo passo una Kanban Board e come utilizzarla per migliorare la produttività di un team di lavoro.
"ThinkOpen Agile Days - #Day" by Giuseppe TrottaThinkOpen
English version of the presentation about the Agile methodologies:
- the Agile philosophy and its main principles;
- the Agile Scrum Methodology, a project management framework for managing software development team projects;
- the Scrum approach and its main strengths;
- people involved in Agile teams and their roles (Product Owner, Scrum Master and Team Member).
"React Native" by Vanessa Leo e Roberto Brogi ThinkOpen
10/05/2018
React Native: come sviluppare una cross-platform application.
Sono stati analizzati i diversi vantaggi del framework rispetto a React.js, libreria per applicazioni web, e sono stati spiegati concetti chiave quali components, state, props, lifecycle methods e virtual dom.
12/04/2018
Un'introduzione a React.js per tutti quelli che vogliono approcciarsi al “framework” di casa Facebook: le basi di React, cos’è esattamente, quali sono i suoi punti di forza e quali i suoi punti deboli, i suoi fondamenti come il Virtual DOM, JSX e i Component.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
2. Copyright 2011 - 2018, ThinkOpen S.r.l.
What’s Polymer
3.0?
Polymer 3.0 is the latest version of the
Polymer library for building web
components. It is developed by
Google.
For docs and resources visit
https://www.polymer-project.org/
4. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
What is a Web Component?
Web components are a set of web platfor
APIs that allow you to create new custom
reusable, encapsulated HTML tags to use
web pages and web apps. Custom
components and widgets build on the We
Component standards, will work across
modern browsers, and can be used with a
JavaScript library or framework that work
with HTML. [1]
[1] https://www.webcomponents.org/introduction
5. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
What is a Custom Element?
Custom elements provide a component model for
the web. The custom elements specification
provides:
● A mechanism for associating a class with a
custom element name.
● A set of lifecycle callbacks invoked when an
instance of the custom element changes
state (for example, added or removed from
the document).
● A callback invoked whenever one of a
specified set of attributes changes on the
instance.
9. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
What is the Shadow DOM?
The DOM a component author
writes. Shadow DOM is local to the
component and defines its
internal structure, scoped CSS,
and encapsulates your
implementation details. It can also
define how to render markup
that's authored by the consumer
of your component.
10. Copyright 2011 - 2018, ThinkOpen S.r.l.
What is the Shadow DOM?
<div>
#shadow-root
<style>...</style>
<slot name="icon"></slot>
<span id="wrapper">
<slot>Button</slot>
</span>
</div>
A shadow root is a document fragment that gets attached to a “host” element. The act of attaching a shadow root is how the element
gains its shadow DOM.
let div = document.createElement('div');
let shadowRoot = header.attachShadow({mode: 'open'});
11. Copyright 2011 - 2018, ThinkOpen S.r.l.
What is the Shadow DOM?
➢ DOM encapsulation
➢ Scoped CSS
➢ Composition
➢ Simplifies CSS
12. Copyright 2011 - 2018, ThinkOpen S.r.l.
What is the Shadow DOM?
<better-button>
<!-- the image and span are better-button's light
DOM -->
<img src="gear.svg" slot="icon">
<span>Settings</span>
</better-button>
#shadow-root
<style>...</style>
<slot name="icon"></slot>
<span id="wrapper">
<slot>Button</slot>
</span>
<better-button>
#shadow-root
<style>...</style>
<slot name="icon">
<img src="gear.svg" slot="icon">
</slot>
<span id="wrapper">
<slot>
<span>Settings</span>
</slot>
</span>
</better-button>
Example by: https://developers.google.com/web/fundamentals/web-components/shadowdom
14. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
How Polymer 3.0 handles and
fires events?
Elements use events to communicate state
changes up the DOM tree to parent
elements. Polymer elements can use the
standard DOM APIs for creating,
dispatching, and listening for events.
Polymer also provides annotated event
listeners, which allow you to specify event
listeners declaratively as part of the
element's DOM template
15. Copyright 2011 - 2018, ThinkOpen S.r.l.
How Polymer 3.0 handles and fires events?
<multiselection-component(data='{{convertFromTableToMultiselection(config.table)}}' on-checked-
box='onCheckedBox')></multiselection-component>
(this as any).dispatchEvent(new CustomEvent('checked-box', {detail: {name: e.currentTarget.name, checked:
e.currentTarget.checked}}));
(this as any).dispatchEvent( new CustomEvent( 'on-change-page', <CustomEventInit> {bubbles:true,
cancelable:true, composed: true, detail: {}} ) );
(this as any).addEventListener('on-change-page', e => {
e.stopPropagation();
});
16. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
Observers
Observers are methods invoked
when observable changes occur to
the element's data.
18. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basics
Data Binding
A data binding connects data from
a custom element (the host
element) to a property or attribute
of an element in its local DOM (the
child or target element). The host
element data can be a property or
sub-property represented by a
data path, or data generated
based on one or more paths.
20. Copyright 2011 - 2018, ThinkOpen S.r.l.
Polyfill
In web development, a polyfill is code that
implements a feature on web browsers that
do not support the feature. Most often, it
refers to a JavaScript library that
implements an HTML5 web standard, either
an established standard (supported by
some browsers) on older browsers, or a
proposed standard (not supported by any
browsers) on existing browsers. Formally, "a
polyfill is a shim for a browser API".[1]
[1] Wikipedia EN
21. Copyright 2011 - 2018, ThinkOpen S.r.l.
Polymer-cli
Polymer CLI is the official command line tool
for Polymer projects and Web Components.
It includes a build pipeline, a boilerplate
generator for creating elements and apps, a
linter, a development server, and a test
runner.[1]
[1] https://polymer-library.polymer-project.org/3.0/docs/tools/polymer-cli
23. Copyright 2011 - 2018, ThinkOpen S.r.l.
Basic structure code:
https://github.com/Darbiel/polymer3-basic-typerscript-pug-project
Workshop example code:
https://github.com/Darbiel/polymer3-ts-workshop
Sources for the example
Editor's Notes
constructor = Called when the element is upgraded. The constructor is a logical place to set default values, and to manually set up event listeners for the element itself.
connectedCallback = Called when the element is added to a document. Can be called multiple times during the lifetime of an element. For event listener too
attributeChangedCallback = Called when any of the element's attributes are changed, appended, removed, or replaced.
disconnectedCallback = Called when the element is removed from a document. Can be called multiple times during the lifetime of an element.
ready = Called during Polymer-specific element initialization. Called once, the first time the element is attached to the document.
The events fired can reach only the first next layer. If you want to fire an event over the first layer, you can use bubbling