SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Rights Reserved © 2015
Mirror for Android
Performance Coding
Rights Reserved © 2015
+Yossi Elkrief
@elkriefy
MaTriXy
Android Group leader
Tikal Knowledge
Proud Father
Android developer since 2008
GDG Beer Sheva co-founder & leader
Android Mentor @ Google Campus
Android Lecturer & speaker
LFC fan
Androids collector
Rights Reserved © 2015
What is Mirror ?
Rights Reserved © 2015
Prior to Mirror
● AS - WYSIWYG layout editor
● Static builds.
● Preview layouts.
● No Real live data.
● Not actual device
Rights Reserved © 2015
Mirror
● Android studio plugin
● Client on Devices.
● Standalone - Mirror Server.
● Better way to build UI.
● Fast (Saves the needs for builds)
Rights Reserved © 2015
Mirror
● Test dynamic, interactive UI elements.
● Display layouts on phone or tablet.
● Updating in real-time as you code.
● Hot Swap Code - Java/Kotlin.
Rights Reserved © 2015
How Mirror works
Rights Reserved © 2015
Mirror - Foundations
Two components:
● Server program that runs on build computer.
● App that runs on each preview device.
Rights Reserved © 2015
Mirror - Server(Studio/StandAlone)
● Server watches project, detects changes.
■ resource files.
■ Sample data files.
■ Java/Kotlin files.
■ dex/apk files
Rights Reserved © 2015
Mirror - Server(Studio/StandAlone)
● Packages up the resources and sends them
to the attached devices.
● Mirror app renders the UI.
Rights Reserved © 2015
What can i do?
Rights Reserved © 2015
Rights Reserved © 2015
Mirror - Live-code
● Save your XML / Java / Kotlin / PNG files.
Check on devices in seconds.
● Rapidly experiment your layouts, custom
views and animations.
Rights Reserved © 2015
Mirror - Prototype
● Create full-fidelity prototypes and collect
early feedback before coding Java.
● Reuse the code in production when the
prototype is approved.
Rights Reserved © 2015
Mirror - Collaborate
● Trash design specs.
● Sit with your designer, make a change and
get instant feedback.
● Encourage them to create the layouts too!
Rights Reserved © 2015
Mirror - Collaborate
● Make Designer Happy
Rights Reserved © 2015
Mirror - Hot-swapping
● Mirror compiles incrementally.
● Only sends deltas to the devices.
● Hot-swapping resources, assets,
and Java / Kotlin code on multiple devices
● View states on the layout are preserved
across refreshes.
Rights Reserved © 2015
Mirror - Accurate, interactive previews
● Mirror’s app inflates layouts and renders
views the same way as your app does.
● Touch feedback, gestures and animations
are as accurate as they should be.
Rights Reserved © 2015
Mirror - REPL for Android UI development
● Experiment individual methods.
● Feed and test custom view with different
datasets.
● Build animations piecewise
● Use code in production when ready
Rights Reserved © 2015
Mirror - Custom views, custom fonts
● Preview layouts with third-party libraries or
your own custom views.
● Live-code custom views and custom
adapters.
● Preview custom fonts, custom attributes.
Rights Reserved © 2015
Mirror - Learn/Teach Android coding
● Learn Android’s layout/resource system by
building things that work on the real device.
● Experiment UI related APIs.
● Learn by doing in a fast feedback loop.
● Explain and Show Android UI fast and easy.
Rights Reserved © 2015
Mirror - Sample data
● Build UI in a realistic context before coding Java.
● Simple XML to set text, image, visibility and more
● Populate list/grid with different item layouts
● Use Android’s “tools” attribute to populate views
Rights Reserved © 2015
Video Samples
Rights Reserved © 2015
Video Samples
Rights Reserved © 2015
Mirror Saves Time
Rights Reserved © 2015
● Live Layout Previews
● Sample Data
● Java/Kotlin Hot Swap
Rights Reserved © 2015
Mirror
● Supports tools attributes - attributes set in
layouts will show up in on-device preview.
● simulate dynamic data in static previews,
Use: sample data.
Rights Reserved © 2015
Mirror - Sample Data
● screen files -
corresponds to a screen.
● Special elements in a
screen file.
● Can be used to populate
views with data.
Rights Reserved © 2015
Mirror - Sample Data
● Drawable files corresponds to a
drawable.
● Special elements in a drawable file.
● Can be used to populate views with
data.
Rights Reserved © 2015
Mirror - hot swap code
● Live-coding custom views, animations and interactions.
● Prototyping UI by populating views with mock data :
myCustomView.setData(someDataModel)
● Experimenting and learning UI related Android APIs by
executing code piecewise.
Rights Reserved © 2015
Mirror Live Demo
Rights Reserved © 2015
Q&A
Rights Reserved © 2015
Working at Tikal

Más contenido relacionado

La actualidad más candente

React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your appConcetto Labs
 
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6Fabio Biondi
 
Kendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euKendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euAlexander Gyoshev
 
OCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSOCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSJonathan Meiss
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android WearTroy Miles
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802Angus Fox
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsDhananjay Kumar
 
Angular From The Trenches - 10 Lessons
Angular From The Trenches - 10 LessonsAngular From The Trenches - 10 Lessons
Angular From The Trenches - 10 LessonsDuncan Hunter
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 
Introduction to Indigo.Design App Builder
Introduction to Indigo.Design App BuilderIntroduction to Indigo.Design App Builder
Introduction to Indigo.Design App BuilderJason Beres
 
Android Technology – Packaging and Life cycles
Android Technology – Packaging and Life cyclesAndroid Technology – Packaging and Life cycles
Android Technology – Packaging and Life cyclesPrateek Aggarwal
 
Comparison of-angular-8 vs react-js
Comparison of-angular-8 vs react-jsComparison of-angular-8 vs react-js
Comparison of-angular-8 vs react-jseasyjobworld
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPaddy Lock
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsYatno Sudar
 

La actualidad más candente (20)

React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your app
 
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
 
Kendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euKendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.eu
 
OCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSOCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJS
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android Wear
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802
 
Flutter
FlutterFlutter
Flutter
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
Flutter
FlutterFlutter
Flutter
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.js
 
Angular From The Trenches - 10 Lessons
Angular From The Trenches - 10 LessonsAngular From The Trenches - 10 Lessons
Angular From The Trenches - 10 Lessons
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Introduction to Indigo.Design App Builder
Introduction to Indigo.Design App BuilderIntroduction to Indigo.Design App Builder
Introduction to Indigo.Design App Builder
 
Android Technology – Packaging and Life cycles
Android Technology – Packaging and Life cyclesAndroid Technology – Packaging and Life cycles
Android Technology – Packaging and Life cycles
 
Comparison of-angular-8 vs react-js
Comparison of-angular-8 vs react-jsComparison of-angular-8 vs react-js
Comparison of-angular-8 vs react-js
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
 
React js vs angularjs
React js vs angularjsReact js vs angularjs
React js vs angularjs
 

Similar a DroidCon TLV 2015 - Hey android, mirror mirror all day long

Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Coveros, Inc.
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfSakshiThorat29
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerEclipse Day India
 
Using APIs
Using APIsUsing APIs
Using APIsAkana
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfahmadfaisal744721
 
SAP TechEd Web IDE
SAP TechEd Web IDESAP TechEd Web IDE
SAP TechEd Web IDEDavid Fish
 
Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?Synerzip
 
Angularjs y Simple Page Applications
Angularjs y Simple Page Applications Angularjs y Simple Page Applications
Angularjs y Simple Page Applications johnpisg
 
"Crafting a Third-Party Banking Library with Web Components and React", Germa...
"Crafting a Third-Party Banking Library with Web Components and React", Germa..."Crafting a Third-Party Banking Library with Web Components and React", Germa...
"Crafting a Third-Party Banking Library with Web Components and React", Germa...Fwdays
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 
Android Development: Approach for Agile Teams
Android Development: Approach for Agile TeamsAndroid Development: Approach for Agile Teams
Android Development: Approach for Agile TeamsAnay Kamat
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden GekkoVodafone developer
 

Similar a DroidCon TLV 2015 - Hey android, mirror mirror all day long (20)

Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity manager
 
Using APIs
Using APIsUsing APIs
Using APIs
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
 
SAP TechEd Web IDE
SAP TechEd Web IDESAP TechEd Web IDE
SAP TechEd Web IDE
 
Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
Angularjs y Simple Page Applications
Angularjs y Simple Page Applications Angularjs y Simple Page Applications
Angularjs y Simple Page Applications
 
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
 
AEM Evernote Sync
AEM Evernote SyncAEM Evernote Sync
AEM Evernote Sync
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Ionic & Angular
Ionic & AngularIonic & Angular
Ionic & Angular
 
"Crafting a Third-Party Banking Library with Web Components and React", Germa...
"Crafting a Third-Party Banking Library with Web Components and React", Germa..."Crafting a Third-Party Banking Library with Web Components and React", Germa...
"Crafting a Third-Party Banking Library with Web Components and React", Germa...
 
Angular
AngularAngular
Angular
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
Android Development: Approach for Agile Teams
Android Development: Approach for Agile TeamsAndroid Development: Approach for Agile Teams
Android Development: Approach for Agile Teams
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden Gekko
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

DroidCon TLV 2015 - Hey android, mirror mirror all day long

  • 1. Rights Reserved © 2015 Mirror for Android Performance Coding
  • 2. Rights Reserved © 2015 +Yossi Elkrief @elkriefy MaTriXy Android Group leader Tikal Knowledge Proud Father Android developer since 2008 GDG Beer Sheva co-founder & leader Android Mentor @ Google Campus Android Lecturer & speaker LFC fan Androids collector
  • 3. Rights Reserved © 2015 What is Mirror ?
  • 4. Rights Reserved © 2015 Prior to Mirror ● AS - WYSIWYG layout editor ● Static builds. ● Preview layouts. ● No Real live data. ● Not actual device
  • 5. Rights Reserved © 2015 Mirror ● Android studio plugin ● Client on Devices. ● Standalone - Mirror Server. ● Better way to build UI. ● Fast (Saves the needs for builds)
  • 6. Rights Reserved © 2015 Mirror ● Test dynamic, interactive UI elements. ● Display layouts on phone or tablet. ● Updating in real-time as you code. ● Hot Swap Code - Java/Kotlin.
  • 7. Rights Reserved © 2015 How Mirror works
  • 8. Rights Reserved © 2015 Mirror - Foundations Two components: ● Server program that runs on build computer. ● App that runs on each preview device.
  • 9. Rights Reserved © 2015 Mirror - Server(Studio/StandAlone) ● Server watches project, detects changes. ■ resource files. ■ Sample data files. ■ Java/Kotlin files. ■ dex/apk files
  • 10. Rights Reserved © 2015 Mirror - Server(Studio/StandAlone) ● Packages up the resources and sends them to the attached devices. ● Mirror app renders the UI.
  • 11. Rights Reserved © 2015 What can i do?
  • 13. Rights Reserved © 2015 Mirror - Live-code ● Save your XML / Java / Kotlin / PNG files. Check on devices in seconds. ● Rapidly experiment your layouts, custom views and animations.
  • 14. Rights Reserved © 2015 Mirror - Prototype ● Create full-fidelity prototypes and collect early feedback before coding Java. ● Reuse the code in production when the prototype is approved.
  • 15. Rights Reserved © 2015 Mirror - Collaborate ● Trash design specs. ● Sit with your designer, make a change and get instant feedback. ● Encourage them to create the layouts too!
  • 16. Rights Reserved © 2015 Mirror - Collaborate ● Make Designer Happy
  • 17. Rights Reserved © 2015 Mirror - Hot-swapping ● Mirror compiles incrementally. ● Only sends deltas to the devices. ● Hot-swapping resources, assets, and Java / Kotlin code on multiple devices ● View states on the layout are preserved across refreshes.
  • 18. Rights Reserved © 2015 Mirror - Accurate, interactive previews ● Mirror’s app inflates layouts and renders views the same way as your app does. ● Touch feedback, gestures and animations are as accurate as they should be.
  • 19. Rights Reserved © 2015 Mirror - REPL for Android UI development ● Experiment individual methods. ● Feed and test custom view with different datasets. ● Build animations piecewise ● Use code in production when ready
  • 20. Rights Reserved © 2015 Mirror - Custom views, custom fonts ● Preview layouts with third-party libraries or your own custom views. ● Live-code custom views and custom adapters. ● Preview custom fonts, custom attributes.
  • 21. Rights Reserved © 2015 Mirror - Learn/Teach Android coding ● Learn Android’s layout/resource system by building things that work on the real device. ● Experiment UI related APIs. ● Learn by doing in a fast feedback loop. ● Explain and Show Android UI fast and easy.
  • 22. Rights Reserved © 2015 Mirror - Sample data ● Build UI in a realistic context before coding Java. ● Simple XML to set text, image, visibility and more ● Populate list/grid with different item layouts ● Use Android’s “tools” attribute to populate views
  • 23. Rights Reserved © 2015 Video Samples
  • 24. Rights Reserved © 2015 Video Samples
  • 25. Rights Reserved © 2015 Mirror Saves Time
  • 26. Rights Reserved © 2015 ● Live Layout Previews ● Sample Data ● Java/Kotlin Hot Swap
  • 27. Rights Reserved © 2015 Mirror ● Supports tools attributes - attributes set in layouts will show up in on-device preview. ● simulate dynamic data in static previews, Use: sample data.
  • 28. Rights Reserved © 2015 Mirror - Sample Data ● screen files - corresponds to a screen. ● Special elements in a screen file. ● Can be used to populate views with data.
  • 29. Rights Reserved © 2015 Mirror - Sample Data ● Drawable files corresponds to a drawable. ● Special elements in a drawable file. ● Can be used to populate views with data.
  • 30. Rights Reserved © 2015 Mirror - hot swap code ● Live-coding custom views, animations and interactions. ● Prototyping UI by populating views with mock data : myCustomView.setData(someDataModel) ● Experimenting and learning UI related Android APIs by executing code piecewise.
  • 31. Rights Reserved © 2015 Mirror Live Demo
  • 32. Rights Reserved © 2015 Q&A
  • 33. Rights Reserved © 2015 Working at Tikal