INTRO
Why RN
Welcome to the Mobile world
The app bundle
UI COMPONENTS/NAVIGATION
Android Jetpack
iOS UIKit
React Navigation
THE JAVASCRIPT ENGINE
JavaScriptCore
Chrome V8
Hermes
THE LOCAL DEVELOPMENT
Metro
Flipper
Gradle
CocoaPods
Fastlane
At Lia Infraservice we create Dynamic Websites. Become a front-end React JS developer and be a part of our tech-savvy Web App Development Company in Chennai.
This document contains an agenda and slides for a React workshop presented by Bojan Golubovic. The workshop covers the history and basics of React, including components, JSX, the virtual DOM, and React data flow. It also discusses related tools like Redux and React Router. The goal is to provide basic knowledge of React and how to build real-world applications with it.
The document provides an introduction to React, a JavaScript library for building user interfaces. It discusses key React concepts like components, properties, state, one-way data flow, and JSX syntax. It also covers setting up a development environment with Create React App and shows how to create a basic React component with state. The target audience appears to be people new to React who want to learn the fundamentals.
This document provides an overview of ReactJS and React Native. It defines ReactJS as a JavaScript library for building user interfaces and explains concepts like components, virtual DOM, JSX, props, states, and one-way data flow. It also covers React Native and how it allows building native mobile apps using JavaScript and React. Key differences between Ionic and React Native are outlined. Examples of companies that use ReactJS and React Native are given. Setup and installation instructions for React Native are provided.
New monetization models such as open core have presented questions for IT professionals. Do we stick with the freedom and agility of community releases, or do we pay for the enterprise counterparts? Explore patterns in Enterprise Edition add-ons, look at some concrete examples such as Confluent vs. Kafka, and be better prepared to decide where you spend your open source license dollars.
This document discusses React, including its web evolution, concepts, syntax, and an example. It begins with an introduction to React and links to code. It then covers React's role in the evolution of the web and data presentation, comparing it to traditional MVC frameworks. Key React concepts are outlined, such as viewing it as a view engine rather than framework, its use of components and single direction data flow, and virtual DOM. React syntax is also summarized, including state, JSX, props, events, mixins, and refs. The document concludes with building a Facebook wall example in React.
Tutorial Videos: https://www.youtube.com/playlist?list=PLD8nQCAhR3tQ7KXnvIk_v_SLK-Fb2y_k_
Day 1 : Introduction to React, Babel and Webpack
Prerequisites of starting the workshop ( Basic understanding of Node & Express )
What is Virtual DOM?
What is React and why should we use it?
Install and set up React:
a-Using create-react-app
b-From scratch using Babel and Webpack. We will use Webpack Dev Server.
Day 2 : React Basic Concepts
Types of Components: Class-based and Functional based Components
Use of JSX
Parent, Child, and Nested Components
Difference between State and Props
Create and Handle Routes
Component Lifecycle Methods
Create a form and handling form inputs
Use of arrow functions and Spread Operator
Day 3: Advanced Concepts in React
Use of Refs
What are Higher Order Components( HOC )?
How to use HOC
Understanding Context in React
At Lia Infraservice we create Dynamic Websites. Become a front-end React JS developer and be a part of our tech-savvy Web App Development Company in Chennai.
This document contains an agenda and slides for a React workshop presented by Bojan Golubovic. The workshop covers the history and basics of React, including components, JSX, the virtual DOM, and React data flow. It also discusses related tools like Redux and React Router. The goal is to provide basic knowledge of React and how to build real-world applications with it.
The document provides an introduction to React, a JavaScript library for building user interfaces. It discusses key React concepts like components, properties, state, one-way data flow, and JSX syntax. It also covers setting up a development environment with Create React App and shows how to create a basic React component with state. The target audience appears to be people new to React who want to learn the fundamentals.
This document provides an overview of ReactJS and React Native. It defines ReactJS as a JavaScript library for building user interfaces and explains concepts like components, virtual DOM, JSX, props, states, and one-way data flow. It also covers React Native and how it allows building native mobile apps using JavaScript and React. Key differences between Ionic and React Native are outlined. Examples of companies that use ReactJS and React Native are given. Setup and installation instructions for React Native are provided.
New monetization models such as open core have presented questions for IT professionals. Do we stick with the freedom and agility of community releases, or do we pay for the enterprise counterparts? Explore patterns in Enterprise Edition add-ons, look at some concrete examples such as Confluent vs. Kafka, and be better prepared to decide where you spend your open source license dollars.
This document discusses React, including its web evolution, concepts, syntax, and an example. It begins with an introduction to React and links to code. It then covers React's role in the evolution of the web and data presentation, comparing it to traditional MVC frameworks. Key React concepts are outlined, such as viewing it as a view engine rather than framework, its use of components and single direction data flow, and virtual DOM. React syntax is also summarized, including state, JSX, props, events, mixins, and refs. The document concludes with building a Facebook wall example in React.
Tutorial Videos: https://www.youtube.com/playlist?list=PLD8nQCAhR3tQ7KXnvIk_v_SLK-Fb2y_k_
Day 1 : Introduction to React, Babel and Webpack
Prerequisites of starting the workshop ( Basic understanding of Node & Express )
What is Virtual DOM?
What is React and why should we use it?
Install and set up React:
a-Using create-react-app
b-From scratch using Babel and Webpack. We will use Webpack Dev Server.
Day 2 : React Basic Concepts
Types of Components: Class-based and Functional based Components
Use of JSX
Parent, Child, and Nested Components
Difference between State and Props
Create and Handle Routes
Component Lifecycle Methods
Create a form and handling form inputs
Use of arrow functions and Spread Operator
Day 3: Advanced Concepts in React
Use of Refs
What are Higher Order Components( HOC )?
How to use HOC
Understanding Context in React
The document discusses React's virtual DOM and how it allows for more efficient DOM updates compared to directly manipulating the real DOM. It explains that the virtual DOM is an in-memory representation of the real DOM that allows React to calculate efficient DOM changes before applying them to the real DOM. This avoids unnecessary re-renders and improves performance. It also describes how React uses a diff algorithm and DOM traversal with breadth-first search to determine the minimal number of operations needed to transform the virtual DOM before updating the real DOM in a batched way.
React Js Basic Details and Descriptions
Frontend Javascript Library, to make decent SPA
The fastest way to build a segregated component based front end for software development.
The document discusses Google Web Toolkit (GWT), an open source framework that allows developers to build AJAX applications in Java and deploy them as optimized JavaScript and HTML. It provides an overview of GWT, describing its architecture, key benefits like better development tools and reusable UI components, and how to set up a basic GWT project. It also briefly showcases GWT's remote procedure call (RPC) feature.
This document provides an introduction to React Native, including prerequisites, key concepts, architecture, libraries, and demos. React Native allows building mobile apps using React that work on both iOS and Android. It provides a native experience while allowing code reuse between platforms. Popular libraries that complement React Native development include React Navigation, React Redux, and NativeBase. The document demonstrates building a simple "Hello World" app and a production app with features like custom fonts and REST API integration. It discusses challenges like frequent React Native updates and debugging tools like Chrome and Reactotron.
Introduction to React JS for beginners | Namespace ITnamespaceit
React is a JavaScript library for building user interfaces using reusable components. It is used to create single page applications that dynamically update the current page with new data from the server. React uses a component-based approach and one-way data binding to build interfaces simply and allow for easy testing. Key concepts in React include components, props, state, lifecycles, hooks, JSX, and the virtual DOM. Major companies using React include Facebook, Netflix, Instagram, and WhatsApp.
In this presentation, Prashant Sharma of Valuebound has talked about ReactJS - a JavaScript library for building user interfaces. Check out the agendas to know what is there for you.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
React (or React Js) is a declarative, component-based JS library to build SPA(single page applications) which was created by Jordan Walke, a software engineer at Facebook. It is flexible and can be used in a variety of projects.
by Nader Dabit, Developer Advocate, AWS
We want to complement our awesome web site with an equally awesome mobile application for both iOS and Android that can be deployed from the mobile app stores. In this session, Nader Dabit will take you from Hello World to building a beautiful responsive mobile application using React Native.
This document introduces React JS, a JavaScript library for building user interfaces. It discusses that React uses a virtual DOM for efficient updates, implements one-way reactive data flow, and uses composable components. Key aspects of React covered include JSX syntax, the component lifecycle, managing component state, and thinking in React by breaking down requirements into UI components.
This document provides an introduction to ReactJS, including what it is, why people use it, and some basic concepts. It discusses how React is a declarative, efficient JavaScript library for building user interfaces. It also highlights some common use cases for React like building presentations, virtual reality experiences, shopping carts, online editors, and mobile apps. The document then covers prerequisites for learning React and introduces some of the main components that make up the React ecosystem like JSX, Babel, and module bundlers. It concludes with a quick "Hello World" example and outlines further topics to explore like components, state management, and other advanced React patterns.
Spring Boot on Amazon Web Services with Spring Cloud AWSVMware Tanzu
SpringOne 2021
Session Title: Spring Boot on Amazon Web Services with Spring Cloud AWS
Speakers: Maciej Walkowiak, Software Consultant at Independent; Matej Nedic, Software engineer at Ingemark
ReactJS is a JavaScript library for building user interfaces using reusable and interactive UI components. It uses a virtual DOM for rendering UI components and follows a unidirectional data flow architecture. Major companies using ReactJS include Facebook, Instagram, AirBnB, and Khan Academy. ReactJS advantages include its use of components, JSX syntax, and debugging tools. Components are the basic building blocks and use props, state, and lifecycles. Flux is a common architecture used with ReactJS that involves a central store for managing data in a unidirectional flow.
Using Magnolia in a Microservices ArchitectureMagnolia
Want to learn how to manage and deploy Magnolia in a microservices architecture? Here we will present the main patterns identified in such an architecture and describe how to implement them with Magnolia. We demonstrate an experimental approach based on Docker to create and orchestrate several microservices connected to Magnolia.
I/O Extended (GDG Bogor) - Andrew KurniadiDicoding
The document outlines new features and improvements in Android N, including a new JIT compiler for improved performance, support for Vulkan graphics APIs, "Doze on the Go" for better battery life, multi-window support, direct reply notifications, security features like Direct Boot, and support for Instant Apps, Android Wear 2.0, and Java Lambda expressions.
This document provides an introduction to React, a JavaScript library for building user interfaces. It discusses React's fundamentals like components and unidirectional data flow. It also covers topics like JSX, props, state, lifecycles, and demos creating a component. The document aims to explain what React is, its core concepts, and how to get started using it to build user interfaces.
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
The document discusses different types of mobile applications including native, web, and hybrid applications. It provides details on the characteristics and development approaches for each type. It also covers topics like tools needed to develop hybrid apps using Apache Cordova and Visual Studio, and how to integrate plugins and services into hybrid applications.
React Native is an open source framework for building mobile apps using React and JavaScript. It uses native components and allows building real mobile apps for Android and iOS. It works by using a virtual DOM layer that maps React components to native mobile components using Objective-C and Java APIs. Developers can get started using Expo or React Native CLI. Expo is easier for beginners while CLI allows more customization and third party libraries. Core concepts include components, JSX, state, props, and unidirectional data flow. React Native also includes tools like live reloading and hot reloading for faster development.
The document discusses React's virtual DOM and how it allows for more efficient DOM updates compared to directly manipulating the real DOM. It explains that the virtual DOM is an in-memory representation of the real DOM that allows React to calculate efficient DOM changes before applying them to the real DOM. This avoids unnecessary re-renders and improves performance. It also describes how React uses a diff algorithm and DOM traversal with breadth-first search to determine the minimal number of operations needed to transform the virtual DOM before updating the real DOM in a batched way.
React Js Basic Details and Descriptions
Frontend Javascript Library, to make decent SPA
The fastest way to build a segregated component based front end for software development.
The document discusses Google Web Toolkit (GWT), an open source framework that allows developers to build AJAX applications in Java and deploy them as optimized JavaScript and HTML. It provides an overview of GWT, describing its architecture, key benefits like better development tools and reusable UI components, and how to set up a basic GWT project. It also briefly showcases GWT's remote procedure call (RPC) feature.
This document provides an introduction to React Native, including prerequisites, key concepts, architecture, libraries, and demos. React Native allows building mobile apps using React that work on both iOS and Android. It provides a native experience while allowing code reuse between platforms. Popular libraries that complement React Native development include React Navigation, React Redux, and NativeBase. The document demonstrates building a simple "Hello World" app and a production app with features like custom fonts and REST API integration. It discusses challenges like frequent React Native updates and debugging tools like Chrome and Reactotron.
Introduction to React JS for beginners | Namespace ITnamespaceit
React is a JavaScript library for building user interfaces using reusable components. It is used to create single page applications that dynamically update the current page with new data from the server. React uses a component-based approach and one-way data binding to build interfaces simply and allow for easy testing. Key concepts in React include components, props, state, lifecycles, hooks, JSX, and the virtual DOM. Major companies using React include Facebook, Netflix, Instagram, and WhatsApp.
In this presentation, Prashant Sharma of Valuebound has talked about ReactJS - a JavaScript library for building user interfaces. Check out the agendas to know what is there for you.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
React (or React Js) is a declarative, component-based JS library to build SPA(single page applications) which was created by Jordan Walke, a software engineer at Facebook. It is flexible and can be used in a variety of projects.
by Nader Dabit, Developer Advocate, AWS
We want to complement our awesome web site with an equally awesome mobile application for both iOS and Android that can be deployed from the mobile app stores. In this session, Nader Dabit will take you from Hello World to building a beautiful responsive mobile application using React Native.
This document introduces React JS, a JavaScript library for building user interfaces. It discusses that React uses a virtual DOM for efficient updates, implements one-way reactive data flow, and uses composable components. Key aspects of React covered include JSX syntax, the component lifecycle, managing component state, and thinking in React by breaking down requirements into UI components.
This document provides an introduction to ReactJS, including what it is, why people use it, and some basic concepts. It discusses how React is a declarative, efficient JavaScript library for building user interfaces. It also highlights some common use cases for React like building presentations, virtual reality experiences, shopping carts, online editors, and mobile apps. The document then covers prerequisites for learning React and introduces some of the main components that make up the React ecosystem like JSX, Babel, and module bundlers. It concludes with a quick "Hello World" example and outlines further topics to explore like components, state management, and other advanced React patterns.
Spring Boot on Amazon Web Services with Spring Cloud AWSVMware Tanzu
SpringOne 2021
Session Title: Spring Boot on Amazon Web Services with Spring Cloud AWS
Speakers: Maciej Walkowiak, Software Consultant at Independent; Matej Nedic, Software engineer at Ingemark
ReactJS is a JavaScript library for building user interfaces using reusable and interactive UI components. It uses a virtual DOM for rendering UI components and follows a unidirectional data flow architecture. Major companies using ReactJS include Facebook, Instagram, AirBnB, and Khan Academy. ReactJS advantages include its use of components, JSX syntax, and debugging tools. Components are the basic building blocks and use props, state, and lifecycles. Flux is a common architecture used with ReactJS that involves a central store for managing data in a unidirectional flow.
Using Magnolia in a Microservices ArchitectureMagnolia
Want to learn how to manage and deploy Magnolia in a microservices architecture? Here we will present the main patterns identified in such an architecture and describe how to implement them with Magnolia. We demonstrate an experimental approach based on Docker to create and orchestrate several microservices connected to Magnolia.
I/O Extended (GDG Bogor) - Andrew KurniadiDicoding
The document outlines new features and improvements in Android N, including a new JIT compiler for improved performance, support for Vulkan graphics APIs, "Doze on the Go" for better battery life, multi-window support, direct reply notifications, security features like Direct Boot, and support for Instant Apps, Android Wear 2.0, and Java Lambda expressions.
This document provides an introduction to React, a JavaScript library for building user interfaces. It discusses React's fundamentals like components and unidirectional data flow. It also covers topics like JSX, props, state, lifecycles, and demos creating a component. The document aims to explain what React is, its core concepts, and how to get started using it to build user interfaces.
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
The document discusses different types of mobile applications including native, web, and hybrid applications. It provides details on the characteristics and development approaches for each type. It also covers topics like tools needed to develop hybrid apps using Apache Cordova and Visual Studio, and how to integrate plugins and services into hybrid applications.
React Native is an open source framework for building mobile apps using React and JavaScript. It uses native components and allows building real mobile apps for Android and iOS. It works by using a virtual DOM layer that maps React components to native mobile components using Objective-C and Java APIs. Developers can get started using Expo or React Native CLI. Expo is easier for beginners while CLI allows more customization and third party libraries. Core concepts include components, JSX, state, props, and unidirectional data flow. React Native also includes tools like live reloading and hot reloading for faster development.
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
- Ionic is an open source framework for developing hybrid mobile apps with HTML5, AngularJS, Sass and Cordova. It allows developing a single code base that can be deployed across iOS and Android platforms.
- Ionic uses a web view to wrap web-based UI and links it to native device capabilities via Cordova plugins. This allows building native-like mobile apps with web technologies while reusing code across platforms.
- Ionic provides UI components like lists, tabs, slides and pull to refresh that are modeled after native mobile SDKs. It also includes over 700 icons and supports hardware accelerated animations for high performance.
Philip Shurpik "Architecting React Native app"Fwdays
React Native становится все более зрелым фреймворком для создания кросс платформенных мобильных приложений. Доклад основан на нашем опыте создания production приложения - от архитектуры до тестирования и CI.
Рассмотрим вопрос переиспользования кода при разработке для разных платформ- что и сколько процентов можно переиспользовать и как этого достичь.
Поговорим о том, как можно очень просто сделать offline-first приложение для чтения и создания данных. И чем нам в этом могут помочь Redux и Redux persist.
Разберем, как максимально просто сделать навигацию в приложении.
И, конечно же, какое production приложение без тестирования и continuous integration? Рассмотрим компонентное тестирование с Enzyme и интеграционное с Appium. А также, как максимально приблизить процесс deploy к тому, чему мы привыкли в web, с помощью CodePush.
Are you struggling to choose the right platform to build your first mobile app? Would you like to know more about React Native before taking decision? Here is the document summarizes everything about React Native and various mobile application development frameworks. Surely make your life easier.
Build native iOS, Android and Windows apps with JavaScript.
Introduction to web development🌐: HTML, CSS, and JavaScript
Problems with traditional approaches to web development 🤔
Introduction to ReactJS ⚛️: What is React, and why use it for modern web development?
Building a simple web application with React🧑🏻💻👩🏻💻
PhoneGap (aka Cordova) is a cross-platform framework for developing mobile apps using standard web development tools like HTML, CSS, and JavaScript. Join Troy Miles to learn how to create mobile apps with PhoneGap by building a simple but full-featured app during this hands-on class. Troy explores PhoneGap’s important capabilities, including GPS, camera, and audio recordings. Because JavaScript has a reputation as a somewhat difficult language, Troy teaches techniques for keeping your code robust and clean. To give your app the appropriate look and feel for the device on which it is running, the class will use the open source Chocolate Chip UI framework for testing. Troy shares ways to debug the code by running it as a web app, using browser development tools, or as a phone app, using the Chrome browser’s remote debugging features. Leave with the basics you need to start building your own cross-platform mobile apps.
Rapid and Reliable Developing with HTML5 & GWT.
Manuel Carrasco Moñino proposes using modern web technologies like HTML5 and JavaScript to build rich internet applications that can run on desktops, mobile devices, and tablets from a single codebase. He suggests frameworks like Google Web Toolkit (GWT), Apache Cordova, PlayN, and NoSQL databases to develop cross-platform applications in a high-level language like Java. Carrasco provides examples of projects using these techniques and encourages contributing to open source.
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
Do you want to build native mobile apps for iOS and Android? Are you a web developer? Then NativeScript is the perfect framework for you. NativeScript is an open source framework for creating native mobile apps using the skills of the web developer: JavaScript, CSS and simple tag-based markup. Create rich, high-performance iOS and Android apps with 100% native UI using many of the skills you already have.
Topics covered include:
NativeScript framework core concepts and getting started
Accessing native device capabilities with JavaScript
Building native mobile apps with Angular 2
Common app patterns (login, settings, data bound list and more)
Styling NativeScript with CSS
Targeting specific devices and screens
Debugging and deploying to devices
There has never been a better (and easier) way for web developers to create native mobile apps.
SFD 2014: Multiplatform App Development with MigeranGergely Kis
This is the slide deck for the Migeran presentation at the SFD 2014 conference in Szeged, Hungary.
Migeran is an open-source framework to create iOS apps in Java. Using Migeran, you can quickly create cross platform mobile apps, targeting iOS and Android.
Node Webkit allows you to create desktop applications using HTML, CSS, JavaScript and Node.js modules. It combines the Chromium browser and Node.js framework. This allows building cross-platform desktop apps that can include Node functionality and access system resources. Examples are given of apps built with Node Webkit. Key aspects covered include how it integrates Chromium and Node.js, building a basic app, window rendering options, menus, tray apps, and the developer tools. Benefits for a medical conference app replacement are discussed.
This document provides an overview of the Ionic Framework for developing hybrid mobile applications. It discusses the advantages of hybrid apps over native apps, including using a single codebase across platforms. It introduces Ionic as an HTML5 framework built on Angular and Cordova, containing CSS and JavaScript components for building mobile-optimized apps. It covers getting started with Ionic, the CLI, components, platform access tools, and includes examples. The goal of Ionic is to provide native-like performance for building beautiful, easy-to-maintain hybrid mobile apps.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
20180518 QNAP Seminar - Introduction to React NativeEric Deng
What is React Native?
How does React Native work?
Writing React Native
Expo
Components, props, and states
Component lifecycle
Declarative and imperative
Event handling
User input
Style
Layout
Data access
Publishing your Project
Introduction to hybrid application developmentKunjan Thakkar
The presentation I prepared for in-house skill building. Introduction to Hybrid development. Understanding different frameworks and choosing the right one.
Cross-platform Desktop application with AngularJS and build with Node-webkitWittawas Wisarnkanchana
This document discusses building a cross-platform desktop application using AngularJS and Node-webkit. Node-webkit allows turning an HTML5/AngularJS web app into a desktop application that runs on Windows, Mac, and Linux. It provides features like file access, webcam support, and good performance. AngularJS handles data binding and logic, while data can be stored locally using technologies like Web Storage or indexedDB. The application backend can be built with any server-side framework like Node.js, PHP, Django, etc. Example starter projects are provided.
This document discusses hybrid mobile apps that can be built using Angular and the Ionic framework. Hybrid apps allow developers to build apps that can run on multiple platforms using web technologies like HTML, CSS, and JavaScript. The Ionic framework builds on Apache Cordova to provide access to native device capabilities and solve issues with supporting multiple screen resolutions. Developers can use Angular for features like data binding and services, and Ionic adds capabilities specific to building mobile apps like routing and UI components optimized for touch. The document provides instructions for setting up Ionic and Cordova and creating a basic sidemenu template project to get started developing hybrid mobile apps.
Similar to From React to React Native - Things I wish I knew when I started (20)
KCD Italy 2023 - Secure Software Supply chain for OCI Artifact on Kubernetessparkfabrik
In this talk we will talk about how to ensure the security and quality of the software we deploy on Kubernetes using open-source tools like Sigstore, Kyverno and Syft/Grype.
We will explain what a secure supply chain is, why it is important and how to implement it with these tools. We will also show you how to generate and verify SBOMs (Software Bill of Materials) of your OCI (Open Container Initiative) artifacts. And finally, we will show you some practical examples of how to use these technologies in action.
We hope you enjoy it and find it useful!
This document discusses application-driven infrastructure using Crossplane. It introduces Crossplane as a Kubernetes-native framework that allows platform teams to assemble infrastructure from multiple vendors and expose higher-level APIs. This enables development teams to consume infrastructure services without having to write custom code. Crossplane uses the concepts of providers, managed resources, and composite resources to map external services to Kubernetes and provide opinionated APIs through self-service resources. It aims to simplify infrastructure provisioning and management for both platform and application teams.
IAD 2023 - 22 Years of Agile and all I got is this lousy t-shirtsparkfabrik
Agilità oltre il software? Ma se è una fatica di Sisifo applicarla già solo AL software?
A 22 anni dalla pubblicazione del Manifesto ancora lamentiamo scarsi risultati e aspettative sbagliate. Il mondo non ci capisce, ma noi ci facciamo l'occhiolino e custodiamo la chiave segreta per il successo. O no?
È tempo di smettere di lamentarci e iniziare a chiederci perché è così difficile convincere il mondo che abbiamo ragione noi.
E se vestissimo i panni di chi paga? Come clienti, qual è la nostra propensione al rischio? Nella nostra vita privata, procediamo sempre in modo empirico?
E come sviluppatori, cosa vogliamo ottenere davvero? Siamo certi che il resto del mondo rifiuti il nostro mindset, o magari non vediamo che l'agilità si esprime già su scale e in industrie differenti?
Facciamo un po' di retrospettiva su questi 22 anni, sul mercato dell'Agile, sulle nostre convinzioni e su "gli individui e le interazioni" al primo punto del nostro amato manfesto. Magari ne usciamo con qualche esperimento.
2023 - Drupalcon - How Drupal builds your pagessparkfabrik
Have you ever wondered what happens when a HTTP request reaches your Drupal web site? How does Drupal find the correct code to execute? Which parts of the page come from the cache and which ones are built from scratch? Which queries are executed against the database? And, why not, how much time and memory the request requires to be converted into a response?
Whether you are a contrib developer or a simple curious person the answers to those questions will let you better understand how Drupal 10 works.
The WebProfiler module can help you in discovering how all the different subsystems of Drupal 10 interact to take a request and return a response. WebProfiler collects data during the build of each page of the site and lets you easily explore the internals of Drupal 10.
Follow the journey of a request entering the stack middleware, passing the routing component and the controller through the ViewSubscriber and Twig. Discover how services provide functionalities and how events give the opportunity (or the chance) to write decoupled code.
Knowing your system will allow you to find bottlenecks, reduce resources and lower the costs.
2023 - TAC23 - Agile HR - Racconti dal frontesparkfabrik
Nel 2020 ho avuto il piacere di essere ospite della Agile Community Torino, per raccontare come in SparkFabrik avessimo organizzato i processi di reclutamento secondo quanto appreso dalla nostra esperienza di sviluppo agile.
Non ho parlato di tecnologia, ma di approcci. Non di strumenti ma di valori.
Sono passati già tre anni da quell'intervento e il nostro reparto Human Relations non ha mai smesso di innovare e sperimentare, non solo nelle fasi di recruiting ma in tutta la filiera di supporto al personale.
Vi racconterò cosa è stato fatto per snellire, efficientare e rendere trasparente il nostro ramo. Discuteremo delle sfide ancora aperte e di alcuni elefanti nella stanza che sempre più spesso - a mio avviso - vengono ignorati nelle discussioni di questo settore.
E come mio solito, non ci andrò per il sottile.
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...sparkfabrik
In this talk I’ll explain what is the Software Supply Chain, common threats and mitigations and how they apply to IAC ecosystem too. I’ll show off security threats using Terraform and its ecosystem and finally i’ll talk about OCI images talking about digital signatures and SBOM using Sigstore and Syft. I’ll do a live coding session showing off how to deploy secure OCI images on K8S cluster with security policies built with Kyverno, the session includes also security scanning using the generated SBOM.
What is the Secure Supply Chain and the Current State of the PHP Ecosystemsparkfabrik
In this talk I’ll present the current state of the software supply chain, the big global recent events (SolarWinds, log4shell, codecov, packagist) and the state of the PHP and Drupal ecosystem, the threats and the mitigations that can be applied using tools like Sigstore, Syft, and Grype for digital signatures, SBOM generation, and automatic vulnerability scanning and how to use them for real-world projects to gain unprecedented levels of knowledge of your digital artifacts.
There will be also a demo of the mentioned tools in action to implement a secure supply chain pipeline for your Drupal projects.
Quanto è sostenibile la UX per il nostro Pianeta? Che si tratti di utilizzare Internet per lavoro, per accrescimento personale o semplicemente per staccarsi dalla realtà, tutto questo ha un costo e un forte impatto ambientale. Infatti, la prima frase citata nel Sustainable Web Manifest è la seguente: ''Se Internet fosse un Paese, sarebbe il settimo più grande inquinatore'. Progettare siti web sostenibili per l'ambiente significa tenere conto di parametri come velocità, performance e usabilità: ironicamente, si tratta di caratteristiche che gli utenti in primis premiano. Quindi perchè il web contribuisce ancora così tanto alle emissioni di CO2?
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
This document discusses the secure software supply chain and current state of the PHP ecosystem. It begins with introductions and defines a software supply chain as a network involved in creating and delivering a product to consumers. It then discusses threats in modern software supply chains like dependencies and demonstrates building a software bill of materials (SBOM) to analyze dependencies. It also covers recent supply chain attacks on PHP infrastructure and tools like Composer and PEAR. Finally, it recommends mitigations like using signed container images to verify integrity and provenance and generating SBOMs to detect vulnerabilities.
Deep dive nella supply chain della nostra infrastruttura cloudsparkfabrik
The document discusses software supply chain security and infrastructure as code. It describes how malicious modules and containers could potentially compromise infrastructure. It emphasizes the importance of using tools to detect issues like unauthorized access from modules. The document also discusses using digital signatures, software bills of materials, and initiatives like Sigstore and the OpenSSF to help secure the software supply chain and increase integrity and transparency of artifacts. It provides examples of how infrastructure as code could be exploited and recommends best practices like static analysis and generating signatures and software bills of materials to help prevent issues.
KCD Italy 2022 - Application driven infrastructure with Crossplanesparkfabrik
Crossplane allows users to extend their Kubernetes clusters using CRDs. The CRDs map any infrastructure or managed service, ensuring that the creation process for the users is as simple as the Kubernetes resources creation. Using a collection of YAML manifests, the development teams can assemble the needed cloud services for their applications removing this duty from the operation teams: this is "shift left" at its best. All this powerfulness comes with a cost in terms of security, governance, cognitive load and maintenance. In this talk we'll discuss strategies and techniques to better map the complexity of this infrastructure.
Hai mai pensato a cosa succede quando una richiesta HTTP arriva al tuo sito Drupal? Come Drupal trova il codice corretto da eseguire? Quali parti di una pagina provengono dalla cache e quali sono costruite da zero? Quante e quali query vengono eseguite sul database? E, perché no, quanto tempo e quanto memoria richiede convertire la richiesta in una risposta?
Che tu sia una persona che sviluppa moduli o solo curiosa, le risposte a queste domande ti aiuteranno a comprendere meglio come funziona internamente il tuo CMS preferito (perché se non lo è già, lo diventerà).
Per fare questo useremo il modulo Webprofiler, che ci aiuterà a capire come le varie componenti di Drupal interagiscono per convertire una richiesta in una risposta. Webprofiler raccoglie dati durante la costruzione di ogni pagina del sito e ci permette di esplorare facilmente cosa succede all’interno di Drupal.
Seguiremo il percorso di una richiesta iniziando dai middleware, passeremo dal routing al controller per finire a Twig. Scopriremo come i servizi forniscono funzionalità e come gli eventi danno la possibilità (o l’opportunità) di scrivere codice disaccoppiato. Il tutto senza perdere di vista le performance e tenendo un occhio sulle risorse, il tempo, le cache e le query.
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
I detrattori parlano di un declino di Drupal: sempre meno developer lo scelgono per realizzare siti. Eppure se osserviamo la qualità dei progetti basati su Drupal, è evidente che si tratti di progetti di impatto sempre maggiore, per lo più a livello enterprise, in grado di garantire vere e proprie esperienze digitali innovative.
Drupal rimane non solo il più potente e sicuro CMS open source enterprise-grade, ma è diventato un CMF solido che ha saputo rinnovarsi seguendo i principi del framework MACH che promuove piattaforme basate su microservizi, che siano API-first, cloud native ed headless. Quindi no, nessun declino, Drupal è al passo con le migliori tecnologie esistenti sul mercato.
Ecco di cosa parliamo oggi: la nuova major release di Drupal è alle porte e vogliamo raccontarvi tutte le novità per utenti e developer.
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)sparkfabrik
This document discusses observability tools for distributed systems like Drupal websites. It recommends using Monolog for structured logging, the Prometheus monitoring system for metrics collection, and OpenTelemetry with Tempo for distributed tracing. The Observability suite module can integrate all three for Drupal. Monolog logs are scraped by Promtail and sent to Loki. Metrics are exposed via Prometheus and scraped. OpenTelemetry instruments code and sends traces to Tempo. This provides insights across logs, metrics and traces for observability of distributed applications.
Do you know what your Drupal is doing_ Observe it!sparkfabrik
Our Drupal 8 websites are true applications, often very complex ones.
More and more workload is delegated to external systems, usually microservices, that are used for many different tasks.
Architectures are always more distributed and fragmented.
To trace the lifecycle of a single request that origins in a client, passes throught all Drupal subsytems, reaches external (micro)services and comes back will become mandatory to track down problems and to optimize for performances. This is often time consuming and without the right tools may became very difficult.
A simple unstructured log stream isn't enough anymore, we need to find a way to observe the details of what is going on.
Observability is all about this and is based on structured logs, metrics and traces. In this talk we will see how to implement these tecniques in Drupal, which tools and which modules to use to trace and log all requests that reach our website and how to expose and display useful metrics.
We will integrate Drupal with OpenTracing, Prometheus, Monolog, Grafana and many more.
Progettare e sviluppare soluzioni serverless con AWSsparkfabrik
1. DEFINIZIONI
- Perché Serverless / Cos’è Serverless
- Le promesse di serverless
- Use case
2. I PRODOTTI DISPONIBILI
- Confrontare prodotti serverless
- Il mercato FaaS
- La famiglia AWS serverless
4. STRUMENTI E BEST PRACTICE
- Strumenti AWS
- Framework e ambienti di sviluppo
- Testing
- Debug, log, monitoraggio
3. DESIGN E ARCHITETTURA
- Performance e Capacity
- Deploy e Release
- Gestione costi
Headless Drupal: A modern approach to (micro)services and APIssparkfabrik
Drupal offre agli sviluppatori un ambiente di lavoro moderno, che permette di modellare dati ed esporli via API nativamente; questo lo rende un ottimo candidato sia per sviluppare un CMS headless usando un frontend framework moderno, sia per lo sviluppo di microservizi.
In questo talk vi presenteremo alcuni casi d’uso per sfruttare al meglio le potenzialità di Drupal fuori dal classico contesto CMS.
L’evoluzione delle pratiche di sviluppo, delle architetture e delle infrastrutture è un processo che anche Drupal ha abbracciato, trasformandosi da un CMS per community a un framework PHP moderno.
Drupal oggi permette di creare un'esperienza developer-friendly e può essere la base su cui costruire la vostra applicazione cloud-native.
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Retro gaming machine made with Javascript and Kubernetes sparkfabrik
This document discusses the history of early digital games and computers. It then describes a case study of a company called Additron Games that has developed a new games engine. Additron Games is proposing to use Kubernetes and container orchestration to automate the provisioning of their platform on public and private clouds, as well as low-end devices. This would help meet their business needs of scaling globally while controlling costs and launching a new offline console product.
Day 5 - Making your Automation Journey Continuous and Beneficial.pdfUiPathCommunity
Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program: https://bit.ly/Africa_Automation_Student_Developers
In our final session, we shall show you how to make your RPA journey continuous, productive, and beneficial; you will also get to know the career-scape for automation professionals. Lastly, you will learn how your college/polytechnic/university can join the UiPath Academic Alliance program.
📕 Detailed agenda:
The Future of AI-Powered Automation
Career Roles and Opportunities in automation
About UiPath Academy and Learning Resources
Introducing the UiPath Student Champions program
Introducing the UiPath Academic Alliance program
Purpose and Objectives of UiPath Academic Alliance
How the UiPath Academic Alliance benefits you and your University
💻 Extra training through UiPath Academy and relevant program resources:
Introduction to AI-powered automation
UiPath Community Student Champions program
UiPath Academic Alliance program
💥 Complete your full training via 👨🎓👩🎓 UiPath Academy - 'Automation Developer Associate Training' curriculum, and pave your way towards becoming 'UiPath Certified Professional - Automation Developer Associate':
https://academy.uipath.com/learning-plans/automation-developer-associate-training
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My IdentityCynthia Thomas
Identities are a crucial part of running workloads on Kubernetes. How do you ensure Pods can securely access Cloud resources? In this lightning talk, you will learn how large Cloud providers work together to share Identity Provider responsibilities in order to federate identities in multi-cloud environments.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Dev Dives: Mining your data with AI-powered Continuous DiscoveryUiPathCommunity
Want to learn how AI and Continuous Discovery can uncover impactful automation opportunities? Watch this webinar to find out more about UiPath Discovery products!
Watch this session and:
👉 See the power of UiPath Discovery products, including Process Mining, Task Mining, Communications Mining, and Automation Hub
👉 Watch the demo of how to leverage system data, desktop data, or unstructured communications data to gain deeper understanding of existing processes
👉 Learn how you can benefit from each of the discovery products as an Automation Developer
🗣 Speakers:
Jyoti Raghav, Principal Technical Enablement Engineer @UiPath
Anja le Clercq, Principal Technical Enablement Engineer @UiPath
⏩ Register for our upcoming Dev Dives July session: Boosting Tester Productivity with Coded Automation and Autopilot™
👉 Link: https://bit.ly/Dev_Dives_July
This session was streamed live on June 27, 2024.
Check out all our upcoming Dev Dives 2024 sessions at:
🚩 https://bit.ly/Dev_Dives_2024
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation and Risk of Test Automation
The presentation will delve into the ASIMOV project, a novel initiative that leverages Retrieval-Augmented Generation (RAG) to provide precise, domain-specific assistance to telecommunications engineers and technicians. The session will focus on the unique capabilities of Milvus, the chosen vector database for the project, and its advantages over other vector databases.
Attending this session will give you a deeper understanding of the potential of RAG and Milvus DB in telecommunications engineering. You will learn how to address common challenges in the field and enhance the efficiency of their operations. The session will equip you with the knowledge to make informed decisions about the choice of vector databases, and how best to use them for your use-cases
Test Management as Chapter 5 of ISTQB Foundation. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk Management, Defect Management
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
Metadata Lakes for Next-Gen AI/ML - DatastratoZilliz
As data catalogs evolve to meet the growing and new demands of high-velocity, unstructured data, we see them taking a new shape as an emergent and flexible way to activate metadata for multiple uses. This talk discusses modern uses of metadata at the infrastructure level for AI-enablement in RAG pipelines in response to the new demands of the ecosystem. We will also discuss Apache (incubating) Gravitino and its open source-first approach to data cataloging across multi-cloud and geo-distributed architectures.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
The document discusses fundamentals of software testing including definitions of testing, why testing is necessary, seven testing principles, and the test process. It describes the test process as consisting of test planning, monitoring and control, analysis, design, implementation, execution, and completion. It also outlines the typical work products created during each phase of the test process.
5. TOC (as suggested by kelset)
INTRO
Why RN
Welcome to the Mobile
world
The app bundle
UI COMPONENTS/NAVIGATION
Android Jetpack
iOS UIKit
React Navigation
THE LOCAL DEVELOPMENT
Metro
Flipper
Gradle
CocoaPods
Fastlane
THE JAVASCRIPT ENGINE
JavaScriptCore
Chrome V8
Hermes
10. Why React Native was born
● The company once called Facebook decided to go mobile first
● Tried with WebViews and HTML5 but failed
● Lack of keyboard API, gestures events and image management
● Coding is imperative
“Native environment is much more powerful than the web”
● Ability to parallelize work
● Sophisticated gesture handling
● Access to native capabilities
I’m just a useless section title
12. Oh that’s a quote, tech talks must have one
“Native environment is more hostile”
React.js Conf 2015 Keynote
13. Welcome to the
Mobile World
Another list, how creative
● Different instructions for dealing with
different platforms (SDKs)
● Memory management
● Thread concurrency
● Laying out subviews
● Provisioning profiles
● Deploying applications
16. .apk (Android Package)
A comparison, ok
.ipa (iOS App Store Package)
/META-INF
res
AndroidManifest.xml
classes.dex
resources.arsc
/Payload
/Payload/Application.app
/iTunesArtwork
/iTunesArtwork@2x
/iTunesMetadata.plist
/WatchKitSupport/WK
/META-INF
17. .aab (Android App Bundle)
Centered
● Contents of an Android app project
● Additional metadata that is not required at runtime
● Publishing format, not installable
● Defers APK generation and signing to a later stage
● Google Play generates optimized APKs that contain
only the resources and code required by a device
19. Stolen content
“They probably create an AST from the JS code and transform it to make it
run on multiple devices.”
https://hackernoon.com/understanding-react-native-bridge-concept-e9526066ddb8
23. JavaScriptCore
(JSC)
Definitions!
● JavaScript engine for WebKit
● Currently powers Safari
● “Recommended” choice by Apple (RN was
first developed on iOS)
● Based on KJS, JavaScript engine of
KHTML, both part of the KDE project
● Written in C++
● Currently implements ECMAScript 2021
24. Chrome V8
(in debug mode)
Definitions! (again)
● JavaScript engine for Chrome
● Communicates with RN via WebSockets
● Written in C++
● Currently implements ECMAScript 2021
● Very similar to JavaScriptCore but there
are some differences
● There’s a project to support V8 as runtime
environment in RN:
https://github.com/Kudo/react-native-v8
25. Hermes
Definitions! (last one)
● JavaScript engine optimized for RN
(from 0.60.4)
● Written in C++
● Improved start-up time
● Decreased memory usage
● Smaller app size
● Implements the Chrome inspector protocol
● Currently implements ECMAScript 2020
26. Android
I wanna use Hermes!
iOS
android/app/build.gradle ios/Podfile
Hermes is opt-in
27. Great news!
“Looking forward … we can make Hermes the default JavaScript engine for
React Native across all platforms.”
https://reactnative.dev/blog/2021/10/26/toward-hermes-being-the-default
29. It’s the official docs
“At runtime, React Native creates the corresponding Android and iOS views
for React components”
https://reactnative.dev/docs/intro-react-native-components
30. It’s the official docs!
“React Native has several of the most critical platform components already
wrapped, like ScrollView and TextInput”
https://reactnative.dev/docs/native-components-android
31. Android Jetpack
So this is Android
● A suite of libraries (Foundation,
Architecture, Behaviour and UI)
● Uses the AndroidX namespace
● Default since RN 0.60
● The jetifier tool is run before every
Android build to ensure compatibility
32. Material Design
Components
So this is Android
● MDC replaced the Design Support Library
● com.google.android.material namespace
● Material Theming: customize styles to
better reflect a brand
● A library of components
● Support gesture navigation
33. iOS UIKit
Hey that’s the Swift logo
● The Apple user interface framework for
iOS and tvOS apps
● Window and view architecture
● Event handling infrastructure for Multi-
Touch and other types of input
● The structure of UIKit apps is based on
the Model-View-Controller (MVC) design
pattern
35. Android
● The core language in Android SDK is Java
● There’s an NDK for compiling C and C++ libraries and link them in
Java
● Kotlin developed by JetBrains and now Apache 2 OSS
● 100% interoperable with the Java programming language and JVM
● Statically typed and more concise vs Java
● Compiling a bit slower than Java
● Kotlin/Native currently in the works, support for other platforms
such as embedded systems, macOS and iOS is coming
More coffee please
37. iOS
● On iOS Objective-C was the reference language
● Developed as an object-oriented extension to the C language
● Popularized through NeXT and OpenStep, which became base API
for graphic libraries on macOS (later Cocoa)
● Swift presented at WWDC 2014 as the new language for iOS
● Simpler and modern syntax, more attractive for devs
● Better performances than Obj-C
I love obj-c
40. Principles of
navigation
(Android)
I’m starting to fear there are too many slides
● Fixed start destination
● Navigation state is represented as a stack
of destinations
● Up and Back are identical within your
app's task
● The Up button never exits your app
● Deep linking simulates manual navigation
https://developer.android.com/guide/navigation/navigation-principles
41. Principles of
navigation
(iOS)
D too many slides
● Always provide a clear path
● Use touch gestures to create fluidity
● Use standard navigation components
● Use a navigation bar to traverse a
hierarchy of data
● Use a tab bar to present peer categories
of content or functionality
● Use a page control when you have
multiple pages of the same type of
content
https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/navigation
42. React Navigation
The one I use
● Handles presentation of, and transition
between, multiple screens
● Similar to a web browser: app pushes and
pops items from the navigation stack, and
this results in seeing different screens
● Provides the gestures and animations
that you would expect on Android and iOS
when navigating between routes in the
stack
https://reactnavigation.org
45. React Freeze
Brrr
● Allows for freezing renders of the parts of
the React component tree using
Suspense mechanism introduced in React
17
● Avoid unnecessary re-renders for parts
of the app that are not visible to the user
● State changes are executed as usual, just
won't trigger a render until the component
comes back from the frozen state
https://github.com/software-mansion-labs/react-freeze
47. Metro
The local development
● Metro is a JavaScript bundler
● It takes an entry file and various deps,
and gives you back a single JavaScript file
● Converts assets (e.g. PNG files) into
objects that can be displayed by an Image
component
● Metro server is also used by Expo
https://facebook.github.io/metro
48. Flipper
High score
● Open-source, developed by Facebook
● A platform for debugging iOS, Android
and React Native apps
● Visualize, inspect, and control your apps
from a desktop interface
● Extendable: core plugins, community
plugins and you can create yours
● Connects to physical iOS devices via idb
https://fbflipper.com/docs/features/react-native
50. Gradle
Approaching the end
● Open-source build automation tool
● Runs on the JVM and you must have a
Java Development Kit (JDK) installed
● IDEs supporting Gradle builds: Android
Studio, IntelliJ IDEA, Eclipse, NetBeans
● Dependency management currently only
supports Maven- and Ivy-compatible
repositories
● The core model is based on tasks
https://docs.gradle.org
51. Still Gradle
● Gradle can resolve dependencies from
one or many repositories
● Maven Central is a popular repository
hosting open source libraries
● The Google repository hosts Android-
specific artifacts including the Android
SDK
https://docs.gradle.org/current/userguide/declaring_repositories.html
52. CocoaPods
The iOS world
● Dependency manager for Obj-C and
Swift, built with Ruby
● Cocoa is Apple's native object-oriented
application programming interface (API)
● Dependencies described in Podfile
● XCode required for building
https://cocoapods.org
54. Fastlane
Last one?
● Open-source tool for automating iOS or
Android mobile app builds and releases
● Ruby configuration file called Fastfile, you
can add lanes to serve different purposes
● Integrates into existing CI services
● Spark GitHub Actions!
https://github.com/marketplace/actions/build-ios-action
https://github.com/marketplace/actions/build-android-app
https://fastlane.tools
55. Last one, I promise
https://github.com/sparkfabrik/android-build-action/blob/master/fastlane/Fastfile