REACT NATIVE. Anna Maziejuk Kamil Jankowski

Podobne dokumenty
O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Program szkolenia: JavaScript Craftsmanship

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Dostosowywanie wyglądu aplikacji czytelnika w oparciu o oprogramowanie dlibra 5.0

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Android - wprowadzenie. Łukasz Przywarty

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

OpenLaszlo. OpenLaszlo

Podstawy programowania w języku JavaScript

Programowanie Komponentowe WebAPI

Szczegółowy opis zamówienia:

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

WYKŁAD 1 TECHNOLOGIE FRONT-END CZĘŚĆ 1

Wybrane działy Informatyki Stosowanej

Web frameworks do budowy aplikacji zgodnych z J2EE

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. matt@gynsoft.net

Google Android. Opracował Maciej Ciurlik

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Podstawowe elementy GUI cz. 2 i 3 - zadania

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

WebAii Automation Framework

OBC01/TOPMOB Projektowanie w języku Objective-C

Referat Pracy Dyplomowej

Android tworzenie aplikacji mobilnych

Aplikacje Internetowe, Servlety, JSP i JDBC

Wybrane działy Informatyki Stosowanej

Warszawa, Kategorie analizy frameworków GUI

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Marlena Plebańska. Nowoczesny e-podręcznik

JavaScript : programowanie zaawansowane / Tomasz "Comandeer" Jakut. Gliwice, cop Spis treści

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Dokumentacja techniczna

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Aplikacje WWW - laboratorium

Zajęcia 4 - Wprowadzenie do Javascript

Program szkolenia: REST i Microservices w PHP

Unreal Engine w 24 godziny : nauka tworzenia gier / Aram Cookson, Ryan DowlingSoka, Clinton Crumpler. Gliwice, cop Spis treści.

Rys.2.1. Drzewo modelu DOM [1]

Framework Angular4. Alicja Frankowicz Weronika Węglińska

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Wprowadzenie do programowania aplikacji mobilnych

Dokumentacja imapliteapi

ANGULAR 2+ Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

Programowanie aplikacji na urządzenia mobilne

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

PRZEWODNIK PO PRZEDMIOCIE

Tworzenie modułów. Wymagania aplikacji. Tworzenie modułów. Architektura aplikacji. controllers

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

akademia androida Pierwsze kroki w Androidzie część I

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

IBM MobileFirst! Wprowadzenie do strategii IBM w zakresie rozwiązań mobilnych! Włodek Dymaczewski"

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Praca w środowisku Visual Studio 2008, Visual C

Korporacyjna Magistrala Usług na przykładzie Mule ESB

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

REFERAT O PRACY DYPLOMOWEJ

Instrukcja platformy wideo

Wybrane działy Informatyki Stosowanej

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

Sieciowe Technologie Mobilne. Laboratorium 2

RAMOWY HARMONOGRAM SZKOLENIA

Analizując żądania za pomocą narzędzi developerskich można odczytać listę preferowanych języków, jak na poniższym przykładzie.

I. Opis przedmiotu zamówienia

Automatyzacja Testowania w WEB 2.0

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Aplikacje internetowe i mobilne (studia tradycyjne)

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Analiza porównawcza narzędzi do budowania aplikacji Single Page Application AngularJS, ReactJS, Ember.js

Złożone komponenty JSF wg

Szybko, prosto i tanio - ale czy na pewno?

Forum Client - Spring in Swing

Przewodnik użytkownika (instrukcja) AutoMagicTest

Transkrypt:

REACT NATIVE Anna Maziejuk Kamil Jankowski

React Native Framework/biblioteka bazujący na React Pozwala na tworzenie aplikacji tylko za pomocą języka JavaScript Wspiera platformy ios i Android

REACT

React Framework webowy/biblioteka stworzony przez Facebooka JavaScript, ECMAScript 6, JSX, TypeScript Wirtualy DOM HotReload Podział na komponenty State, props i cykl życia komponentu

Wirtualny DOM

Myślenie w React

JSX Rozszerzenie języka JavaScript wzorowane na XML Pozwala na umieszczanie znaczników HTML w kodzie JS Transpiluje się do JavaScript Małe litery tagi HTML/SVG Wielkie litery własne komponenty

Props Jest przekazywany jako obiekt do komponentu i używany do obliczenia zwracanej wartości Zmiany w props spowodują ponowne obliczenie zwracanej wartości Może być dowolną wartością (string, numer, obiekt, funkcja )

State Wewnętrzny stan komponentu Umożliwia wewnętrzne zarządzanie konfiguracją komponentu `this.state` jest właściwością klasy dla instancji komponentu Jest nie mutowalny, ale może być uaktualniony przez wywołanie `this.setstate()` Jakiekolwiek zmiany w state powodują ponowny render

REACT NATIVE VS REACT.JS

Podobieństwa JavaScript i JSX State i props Cykl życia komponentów Możliwość wykorzystania TypeScript lub Flow Wiele bibliotek Możliwość użycia Redux

Różnice Web React.js Transpilacja do commonjs Tagi HTML CSS Nawigacja poprzez linki i dodatkowe biblioteki Podstawowe komponenty (tagi HTML), reszta z zewnętrznych bibliotek React Native Aplikacje mobilne (Android, ios) Transpilacja na natywny kod (Java,Swift) Komponenty bazowe Style (jako obiekty JSON) Natywna nawigacja Bardzo wiele komponentów z biblioteki React Bardzo duża liczba zewnętrznych bibliotek Możliwość tworzenia komponentów w natywnych językach i dalsze używanie ich w JS

REACT NATIVE

Jak działa RN Kod JavaScript jest transpilowany do natywnego kodu Oddzielne wątki dla UI i dla JavaScript Asynchroniczna komunikacja przez most Wątek JavaScript może nie odpowiadać, jednak UI nadal będzie działał

Komponenty RN Należy je zaimportować z 'react-native' div View span Text Wszystkie kawałki tekstu muszą być opatrzone tagiem button Button ScrollView https://facebook.github.io/react-native/docs/components-and-apis.html

Cykl życia komponentów Mount Update Unmount

Mount constructor(props) Inicjalizuje State componentwillmount() w praktyce nieużywana render() Główna funkcja, która renderuje komponent Zwraca korzeń (node) componentdidmount() Robi wszystko, co nie jest potrzebne UI (np. liczniki) Można użyć w celu pobrania danych z zewnętrznego API lub subskrybcji

Update componentwillreceiveprops(nextprops) Uaktualnia wszystkie pola zawarte w state, które zależą od props shouldcomponentupdate(nextprops, nextstate) Porównuje zmienione wartości i zwraca true jeśli komponent powinien zostać przerenderowany Jeśli zwróci false, to cykl uaktualniania zostaje przerwany componentwillupdate(nextprops, nextstate) Rzadko wykorzystywany render() componentdidupdate(prevprops, prevstate) Robi wszystko, co nie jest potrzebne UI (np. żądania sieci)

Unmount componentwillunmount() Sprząta Usuwa event listeners Unieważnia żądania sieci Czyści timeouts/intervals Dobre miejsce na usunięcie subskrybcji

Expo i snack Najszybszy sposób na zbudowanie aplikacji Zestaw narzędzi przyspieszający i ułatwiający tworzenie aplikacji przy użyciu technologii React Native Snack - pozwala uruchomić React Native w przeglądarce

REDUX

Przepływ danych

Flux Redux to implementacja architektury Flux Dispatcher odpowiedzialny jest za odbieranie akcji i rozsyłanie ich do odpowiednich Store ów Store odpowiadają za przechowywanie informacji View widok, źródło akcji informacje przepływają tylko w jednym, zawsze tym samym kierunku

3 główne zasady Reduxa Single source of truth Stan aplikacji jest przechowywany w drzewie w jednym storze State is read-only Nie można modyfikować stanu bezpośrednio, wysyłane są za to akcje, które są kolejno analizowane Changes are made with pure functions Akcja wpływa na stan poprzez reducer Reducer to czysta funkcja, która przyjmuje poprzedni stan i akcję, a następnie zwraca zupełnie nowy stan

Cykl działania Redux

Redux w praktyce Reducer Store Actions Container (metoda connect ) + (Selector) Komponent

Reducer

Store

Actions

Container

Komponent

PODSUMOWANIE

DZIĘKUJEMY ZA UWAGĘ