Flutter Kasper Lund, Google
|
|
- Edwin Lawrence
- 6 years ago
- Views:
Transcription
1 Flutter Kasper Lund, Google
2
3
4
5 The best way to build for mobile?
6 We need to talk about American politics...
7
8 The Founding Father Alexander Hamilton's life is now a hip-hop musical...
9 Hamilton!
10 So you have have one really popular show. What more do you need?
11
12 When do you need it? Now.
13 Hurry up and build two great apps! We need a super productive framework and developer environment We need a platform that supports custom UIs really well We need a high-performance solution that supports beautiful apps
14 Flutter
15
16 Mobile SDKs Compiled to native MVC/MVVM Reactive ios SDK Android SDK Interpreted (JavaScript)
17 Mobile SDKs MVC/MVVM Reactive Compiled to native Interpreted (JavaScript) ios SDK Android SDK Titanium, Cordova, PhoneGap, Ionic,...
18 Mobile SDKs MVC/MVVM Reactive Compiled to native Interpreted (JavaScript) ios SDK Android SDK Titanium, Cordova, PhoneGap, Ionic,... React Native
19 Mobile SDKs Compiled to native Interpreted (JavaScript) MVC/MVVM ios SDK Android SDK Titanium, Cordova, PhoneGap, Ionic,... Reactive Flutter React Native
20 ... Flutter s layered architecture
21 Flutter comes with lots of Material Design widgets...
22 Let us see it live... $ flutter devices emulator-5554 android-x64 (7.1.1) $ flutter run -d emulator-5554
23 What I really like about Flutter, is their beautiful set of Material Design widgets.
24 Custom UIs are really quite popular
25 Tr ad iti o na l ly Doing custom is hard Doing custom twice is painful
26 Flutter supports custom UIs extremely well because of the platform layering
27
28 Fl u tte r Doing custom is easy Doing custom twice is not needed
29 Running at 60 fps, user interfaces created with Flutter perform far better than those created with other cross-platform development frameworks.
30 Dart
31 Dart is the tech stack of choice for Google s largest business
32
33 Dart translates to JavaScript and runs in all modern browsers
34 main() { var person = new Person("Kasper"); print("hello $person"); } class Person { String name; Person(this.name); tostring() => name; } A taste of Dart...
35 The Dart language Unsurprising and object-oriented Class-based single inheritance Familiar syntax with lexical scoping Sound type system NEW!
36 Ahead-of-time compilation.apk *.dart compiler.js
37 Dart compiles to native machine code L0:... ldr r1, [sp] ldr d0, [r1, #3] vcmpd d0, d0 vmstat bvs L0 vcvtid s2, d0 vmovrs r0, s2 adds r0, r0, r0 bvs L1 vcvtdi d1, s2 vcmpd d0, d1 vmstat bxeq lr ldr r0, [r1, #3] ldr r1, [r1, #7] eor r0, r0, r1...
38 The UI is butter smooth... I have never seen such a smooth Android app. Pascal Welsch, Speaker at Droidcon Berlin
39 but making sausages is quite involved!
40 Pay as you go: Just-in-time compilation Compile the application as it executes Avoid paying the compilation cost up front Only compile the parts actually executed
41 Stand back while I hack this thing...
42 Coding with Flutter the past week has brought back the joy of mobile development for me.
43 Co nc er ne d? Constructing widget trees in Flutter appear expensive is it?
44 Ex ci No! te d!
45 Free space is contiguous filled free
46 Allocate by bumping a single pointer... filled new free
47 and initializing the allocated space filled free
48 Al lo ca tio n in Da rt Lock free Simple Fast
49 Co nc er ne d? How much do we have to pay for collecting the garbage?
50 Dart conservative Idea: treat everything that looks like a pointer as such - can t distinguish ints from pointers - can t update pointers, because they might be ints Where have all the pointers gone? precise
51 Semi-space collector live objects
52 Semi-space collector live objects from space to space
53 Semi-space collector live objects copy from space to space
54 Semi-space collector live objects copy from space to space
55 Semi-space collector live objects copy from space to space
56 Semi-space collector live objects from space to space
57 Semi-space collector live objects from space to space
58 Semi-space collector live objects contiguous free space to space from space
59 Dart conservative precise Idea: allow moving objects and compacting - enables really fast allocations - enables really fast garbage collections Dart provides precise garbage collection for Flutter
60 root Live and dead objects in the object soup (usually called the heap)
61 root to space Live and dead objects in the object soup (usually called the heap)
62 root forwarding pointer to space Let s start at the root
63 root to space When done with the roots, we scan through to space
64 root to space We continue scanning through to space...
65 root to space as long as we re making progress (copying over objects)
66 root Done We never touched any of the dead objects! to space and we re done!
67 Ga sh rba or ge t- c liv ol ed lec ob tio je n o ct f s Zero cost for dead objects Now I should really tell you Non-recursive about generational garbage Simple collection... Fast
68 Flutter s widget construction pattern is super well supported by Dart!
69 Da r tf or F lu t te Dart allows deploying fast machine code Dart enables hot reload in development Dart deals efficiently with tons of widgets r
70 Now back to Hamilton...
71 After a short three months... One simple codebase, two great apps (Android and ios)
72
73 Flutter makes it easy and fast to build beautiful mobile apps. Flutter is a new mobile app SDK to help developers and designers build modern mobile apps for ios and Android. Flutter is available as an open-source, alpha release. Flutter is used by Google and others in production.
74 Thank you!
Build beautiful native apps in record time with flutter. Eduardo Telaya - CTO / Software Architect / Drupal Developer
Build beautiful native apps in record time with flutter Eduardo Telaya - CTO / Software Architect / Drupal Developer Agenda Context about Apps Native apps Web apps Hybrid apps What s flutter? Who s flutter
More informationTRANSLATING DART TO EFFICIENT JAVASCRIPT. Kasper Lund Google
TRANSLATING DART TO EFFICIENT JAVASCRIPT Kasper Lund Google Translating Dart to efficient JavaScript Kasper Lund, Google Who am I? Kasper Lund, software engineer at Google Projects OOVM: Embedded Smalltalk
More information2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development
2015 NALIT Professional Development Seminar September 30, 2015 Tools for Mobile App Development Kyle Forster, IT Manager North Dakota Legislative Council Mobile App ND Legis Daily Daily legislative agenda
More informationFlutter. 60 FPS UI of the Future
Flutter 60 FPS UI of the Future grandcentrix.net @grandcentrix +Albrecht Noll @UhrArt +Pascal Welsch @passsy Agenda - Android (facts and opinions) Flutter (facts) Dart (code and opinions) Flutter (opinions)
More informationand why you should care but probably don t
and why you should care but probably don t yet Kasper Lund GOTO Nights September, 2014 Who am I? Kasper Lund, software engineer at Google Co-founder of the Dart project Key projects V8: High-performance
More informationLecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.
CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.
More informationLecture 15 Garbage Collection
Lecture 15 Garbage Collection I. Introduction to GC -- Reference Counting -- Basic Trace-Based GC II. Copying Collectors III. Break Up GC in Time (Incremental) IV. Break Up GC in Space (Partial) Readings:
More informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 2 Thomas Wies New York University Review Last week Programming Languages Overview Syntax and Semantics Grammars and Regular Expressions High-level
More informationMulti-platform Mobile App. Development with Apache Cordova
Multi-platform Mobile App. Development with Apache Cordova MTAT.03.262 2017 Fall Jakob Mass jakob.mass@ut.ee 27.10.2017 MTAT.03.262 Introduction Fragmented market Developers have limited resources Platform
More information+ Abstract Data Types
Linked Lists Abstract Data Types An Abstract Data Type (ADT) is: a set of values a set of operations Sounds familiar, right? I gave a similar definition for a data structure. Abstract Data Types Abstract
More informationTen interesting features of Google s Angular Project
Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular
More informationReview of Mobile Web Application Frameworks
Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,
More informationThe Java Programming Language
The Java Programming Language Slide by John Mitchell (http://www.stanford.edu/class/cs242/slides/) Outline Language Overview History and design goals Classes and Inheritance Object features Encapsulation
More informationHiroyuki Kobota Director Principal Engineer. Alex Adjadj Director Global Strategic Development & Mobile Sales
Hiroyuki Kobota Director Principal Engineer Alex Adjadj Director Global Strategic Development & Mobile Sales Part 1 Technical Presentation Part 2 TIZEN & NAMCO BANDAI Games Part 1 Technical Presentation
More informationMobile Technologies. Types of Apps
Mobile Technologies Types of Apps What is mobile? Devices and their capabilities It s about people Fundamentally, mobile refers to the user, and not the device or the application. Barbara Ballard, Designing
More informationOverview COMP Microprocessors and Embedded Systems. Lectures 18 : Pointers & Arrays in C/ Assembly
COMP 3221 Microprocessors and Embedded Systems Lectures 18 : Pointers & Arrays in C/ Assembly http://www.cse.unsw.edu.au/~cs3221 Overview Arrays, Pointers, Functions in C Example Pointers, Arithmetic,
More informationName, Scope, and Binding. Outline [1]
Name, Scope, and Binding In Text: Chapter 3 Outline [1] Variable Binding Storage bindings and lifetime Type bindings Type Checking Scope Lifetime vs. Scope Referencing Environments N. Meng, S. Arthur 2
More informationMobile Development With C#: Building Native IOS, Android, And Windows Phone Applications By Greg Shackles READ ONLINE
Mobile Development With C#: Building Native IOS, Android, And Windows Phone Applications By Greg Shackles READ ONLINE If looking for a book Mobile Development with C#: Building Native ios, Android, and
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC 330 - Spring 2013 1 Memory Attributes! Memory to store data in programming languages has the following lifecycle
More informationAdvance Mobile& Web Application development using Angular and Native Script
Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building
More informationMobile Application Strategy
Mobile Application Strategy Native vs. Adaptive Technology Ryan Peters IT Software Supervisor Does this look familiar? Survey Types of tablets What type of tablet do you currently own? Apple Android Windows
More informationProgramming Languages
Programming Languages Tevfik Koşar Lecture - XVIII March 23 rd, 2006 1 Roadmap Arrays Pointers Lists Files and I/O 2 1 Arrays Two layout strategies for arrays Contiguous elements Row pointers Row pointers
More informationTHE FULCRUM SOFTWARE STACK. A Look Inside
THE FULCRUM SOFTWARE STACK A Look Inside Core Components Classic API Query API Web App Mobile Apps Tile Server DB Server 3 The Web App Ruby on Rails Application CoffeeScript / JavaScript Sass for CSS Preprocessing
More informationRuntime. The optimized program is ready to run What sorts of facilities are available at runtime
Runtime The optimized program is ready to run What sorts of facilities are available at runtime Compiler Passes Analysis of input program (front-end) character stream Lexical Analysis token stream Syntactic
More informationWebStorm, intelligent IDE for JavaScript development
, intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product
More informationGarbage-First Garbage Collection by David Detlefs, Christine Flood, Steve Heller & Tony Printezis. Presented by Edward Raff
Garbage-First Garbage Collection by David Detlefs, Christine Flood, Steve Heller & Tony Printezis Presented by Edward Raff Motivational Setup Java Enterprise World High end multiprocessor servers Large
More informationNative Mobile Apps in JavaScript
Native Mobile Apps in JavaScript Using Exponent and React Native Charlie Cheever CS50 Seminar October 28, 2016 About Me Harvard Amazon Facebook Quora Exponent A Brief History of Mobile Development Mobile
More informationBeginners Guide to. Sencha Touch. Joshua Morony
Beginners Guide to Sencha Touch Joshua Morony Contents Contents 1 Preface.......................... 4 1 Why Sencha Touch? 8 2 Know Your Options 21 3 How Sencha Touch Actually Works 22 4 Setting up Your
More informationCHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
More informationThere are two main workflows for working with Cordova projects, Web focused and Platform focused.
Cordova Page 1 Getting Started Monday, 24 March 2014 7:35 PM Cordova as a.net Dev What is Cordova - Cordova is the Apache Open Source platform that was the result of the PhoneGap creators (Nitobi/Adobe)
More informationFirst Results of the Performance Analysis
First Results of the Performance Analysis User group meeting Diepenbeek: 29/09/2015 Gent: 30/09/2015 Michiel Willocx Overall application performance Response times CPU usage Memory Usage Battery usage
More informationEDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised:
EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages Görel Hedin Revised: 2014-10- 13 This lecture Regular expressions Context- free grammar ATribute grammar Lexical analyzer (scanner)
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4303 April 9, 2010 14.00-15.30 This exam (6 pages) consists of 52 True/False
More informationAutomatic Memory Management
Automatic Memory Management Why Automatic Memory Management? Storage management is still a hard problem in modern programming Why Automatic Memory Management? Storage management is still a hard problem
More informationDesigning for the Mobile Web Lesson 4: Native Apps
Designing for the Mobile Web Lesson 4: Native Apps Michael Slater, CEO Andrew DesChenes, Dir. Services course-support@webvanta.com 888.670.6793 www.webvanta.com Welcome! Four sessions 1: The Mobile Landscape
More informationChapter 8 :: Composite Types
Chapter 8 :: Composite Types Programming Language Pragmatics, Fourth Edition Michael L. Scott Copyright 2016 Elsevier 1 Chapter08_Composite_Types_4e - Tue November 21, 2017 Records (Structures) and Variants
More informationNodes Tech Slides - Progressive Web Apps, 2018
Nodes Tech Slides - Progressive Web Apps, 2018 Our belief Gone are the days where companies spend fortunes on building digital products that users don t want. Or at least they should be. And by now many
More informationChapter 3:: Names, Scopes, and Bindings
Chapter 3:: Names, Scopes, and Bindings Programming Language Pragmatics Michael L. Scott Some more things about NFAs/DFAs We said that a regular expression can be: A character (base case) A concatenation
More informationProgramming in Android. Nick Bopp
Programming in Android Nick Bopp nbopp@usc.edu Types of Classes Activity This is the main Android class that you will be using. These are actively displayed on the screen and allow for user interaction.
More informationCMSC 330: Organization of Programming Languages. Memory Management and Garbage Collection
CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC330 Fall 2018 1 Memory Attributes Memory to store data in programming languages has the following lifecycle
More informationBy Stephen Cavell, Kerry Ellwanger, and Jack Livingston
By Stephen Cavell, Kerry Ellwanger, and Jack Livingston History PhoneGap created in 2009 by startup Nitobi. Open source way to access the native environment through an embedded WebView in a native app.
More informationConcepts Introduced in Chapter 7
Concepts Introduced in Chapter 7 Storage Allocation Strategies Static Stack Heap Activation Records Access to Nonlocal Names Access links followed by Fig. 7.1 EECS 665 Compiler Construction 1 Activation
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC 330 Spring 2017 1 Memory Attributes Memory to store data in programming languages has the following lifecycle
More informationProject Compiler. CS031 TA Help Session November 28, 2011
Project Compiler CS031 TA Help Session November 28, 2011 Motivation Generally, it s easier to program in higher-level languages than in assembly. Our goal is to automate the conversion from a higher-level
More informationBuilding mobile app using Cordova and AngularJS, common practices. Goran Kopevski
Building mobile app using Cordova and AngularJS, common practices Goran Kopevski Agenda What is cordova? How to choose proper JS framework Building mobile app using Cordova and AngularJS Common fails,
More informationHTML5 for mobile development.
HTML5 for mobile development Txus Ordorika @txusinho @ludei HTML5 for development (I) HTML5 to be the silver bullet of development Low entrance - barrier Runs over VM (write once, run everywhere) ECMA-262
More informationExploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation
mlearning: Tips and Techniques for Development and Implementation November 14 & 15, 2013 201 Exploring Cross-platform Tools For Mobile Development: Lessons Learned Perry Bennett Exploring Cross-platform
More informationProgramming Language Concepts Scoping. Janyl Jumadinova January 31, 2017
Programming Language Concepts Scoping Janyl Jumadinova January 31, 2017 Scope Rules A scope is a program section of maximal size in which no bindings change, or at least in which no re-declarations are
More informationQualifying Exam in Programming Languages and Compilers
Qualifying Exam in Programming Languages and Compilers University of Wisconsin Fall 1991 Instructions This exam contains nine questions, divided into two parts. All students taking the exam should answer
More information1 Dynamic Memory continued: Memory Leaks
CS104: Data Structures and Object-Oriented Design (Fall 2013) September 3, 2013: Dynamic Memory, continued; A Refresher on Recursion Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we continue
More informationWant To Be a Better Programmer? Lars Bak and Kasper Lund, Inventors of Dart, Software engineers at Google
Want To Be a Better Programmer? Lars Bak and Kasper Lund, Inventors of Dart, Software engineers at Google Combined Experiences JavaScript We joined Google in 2006 to improve JavaScript performance Innovation,
More informationToday's Topics. CISC 458 Winter J.R. Cordy
Today's Topics Last Time Semantics - the meaning of program structures Stack model of expression evaluation, the Expression Stack (ES) Stack model of automatic storage, the Run Stack (RS) Today Managing
More informationKasper Lund, Software engineer at Google. Crankshaft. Turbocharging the next generation of web applications
Kasper Lund, Software engineer at Google Crankshaft Turbocharging the next generation of web applications Overview Why did we introduce Crankshaft? Deciding when and what to optimize Type feedback and
More informationCourse introduction. Advanced Compiler Construction Michel Schinz
Course introduction Advanced Compiler Construction Michel Schinz 2016 02 25 General information Course goals The goal of this course is to teach you: how to compile high-level functional and objectoriented
More information(Refer Slide Time: 1:12)
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 06 Android Studio Setup Hello, today s lecture is your first lecture to watch android development.
More informationENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER
ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER Abstract This whitepaper talks about the requirements of modern day Enterprise Mobile Applications and how WaveMaker can simplify and speed up the
More informationClassification and Selection of Cross-Platform Tools. Michiel Willocx 17/06/2015
Classification and Selection of Cross-Platform Tools Michiel Willocx 17/06/2015 Table of contents PART 1: Classification Cross-Platform Tools o Different technologies o Examples PART 2: Selection Criteria
More informationIntroduction To C#.NET
Introduction To C#.NET Microsoft.Net was formerly known as Next Generation Windows Services(NGWS).It is a completely new platform for developing the next generation of windows/web applications. However
More informationProject. there are a couple of 3 person teams. a new drop with new type checking is coming. regroup or see me or forever hold your peace
Project there are a couple of 3 person teams regroup or see me or forever hold your peace a new drop with new type checking is coming using it is optional 1 Compiler Architecture source code Now we jump
More informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationProgramming Language Implementation
A Practical Introduction to Programming Language Implementation 2014: Week 10 Garbage Collection College of Information Science and Engineering Ritsumeikan University 1 review of last week s topics dynamic
More informationThe C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM
The C-Suite Guide to Mobile Technologies for mhealth Development Medical Web ExpertsTM January 2017 Executive Summary mhealth technologies are forming a more integral part of many healthcare organizations
More informationSolving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First
Solving Mobile App Development Challenges Andrew Leggett & Abram Darnutzer CM First CM First WebClient Solutions CM WebClient Full desktop experience in browser CM WebClient Mobile Online mobile solution,
More informationImplementation Garbage Collection
CITS 3242 Programming Paradigms Part IV: Advanced Topics Topic 19: Implementation Garbage Collection Most languages in the functional, logic, and object-oriented paradigms include some form of automatic
More informationMOBILE PUBLISHING - TECHNOLOGY OPTIONS AND PRICING
MOBILE PUBLISHING - TECHNOLOGY OPTIONS AND PRICING Presented by: Rajesh Padinjaremadam Publishing Business Conference March 21st, 2012 Contents Technology Options for Implementing a Mobile Publishing Solution
More informationJava Internals. Frank Yellin Tim Lindholm JavaSoft
Java Internals Frank Yellin Tim Lindholm JavaSoft About This Talk The JavaSoft implementation of the Java Virtual Machine (JDK 1.0.2) Some companies have tweaked our implementation Alternative implementations
More informationTypical Runtime Layout. Tiger Runtime Environments. Example: Nested Functions. Activation Trees. code. Memory Layout
Tiger Runtime Environments Compile-time environments are just symbol tables; they are used to assist static semantic analysis, code generation and code optimization. Run-time environments are about how
More informationIntroduction What is Android?
Introduction What is Android? CS 2046 Mobile Application Development Fall 2010 Everything you know is wrong Most desktop/web applications: Large screen size vs. Everything you know is wrong Most desktop/web
More informationProgramming Languages
Programming Languages Tevfik Koşar Lecture - VIII February 9 th, 2006 1 Roadmap Allocation techniques Static Allocation Stack-based Allocation Heap-based Allocation Scope Rules Static Scopes Dynamic Scopes
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4020 July 5, 2007 14.00-15.30 This exam (8 pages) consists of 60 True/False
More informationIntro to Development for ios. Dave Koziol Arbormoon Software, Inc.
Intro to Development for ios Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (21 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Multiple
More informationSoftware Architecture Documentation for the JRC MYGEOSS app for Invasive Species project
Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project 2015.3724 Table of Contents 1 Architecture View... 2 2 Application... 3 2.1 Technologies Used... 3 2.1.1 Apache
More informationDesign Issues. Subroutines and Control Abstraction. Subroutines and Control Abstraction. CSC 4101: Programming Languages 1. Textbook, Chapter 8
Subroutines and Control Abstraction Textbook, Chapter 8 1 Subroutines and Control Abstraction Mechanisms for process abstraction Single entry (except FORTRAN, PL/I) Caller is suspended Control returns
More informationmgwt Cross platform development with Java
mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good
More informationGarbage Collection (1)
Garbage Collection (1) Advanced Operating Systems Lecture 7 This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/
More informationInternational Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn:
IONIC FRAMEWORK Priyanka Chaudhary Student, Department of computer science, ABESIT, Ghaziabad ---------------------------------------------------------------------***---------------------------------------------------------------------
More informationJAVA An overview for C++ programmers
JAVA An overview for C++ programmers Wagner Truppel wagner@cs.ucr.edu edu March 1st, 2004 The early history James Gosling, Sun Microsystems Not the usual start for a prog.. language Consumer electronics,
More informationMobile Development June 2015, TEIATH, Greece
Mobile Development June 2015, TEIATH, Greece Presentation Overview 1. Introduction 2. Mobile Application Development 3. Cordova / Phonegap 4. Development Framework 5. Examples 1. INTRODUCTION Introduction
More informationD Programming Language
Group 14 Muazam Ali Anil Ozdemir D Programming Language Introduction and Why D? It doesn t come with a religion this is written somewhere along the overview of D programming language. If you actually take
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationMEAP Edition Manning Early Access Program WebAssembly in Action Version 1
MEAP Edition Manning Early Access Program WebAssembly in Action Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome Thank you
More informationAbstract Interpretation Continued
Abstract Interpretation Continued Height of Lattice: Length of Max. Chain height=5 size=14 T height=2 size = T -2-1 0 1 2 Chain of Length n A set of elements x 0,x 1,..., x n in D that are linearly ordered,
More informationHead-to-head: Which will win for your business?
Head-to-head: Which will win for your business? When it comes to mobile operating systems (OS), chances are you re already pretty familiar with the big two Apple and Android. There s probably a device
More informationRun-time Environments
Run-time Environments Status We have so far covered the front-end phases Lexical analysis Parsing Semantic analysis Next come the back-end phases Code generation Optimization Register allocation Instruction
More informationShenandoah: An ultra-low pause time garbage collector for OpenJDK. Christine Flood Principal Software Engineer Red Hat
Shenandoah: An ultra-low pause time garbage collector for OpenJDK Christine Flood Principal Software Engineer Red Hat 1 Why do we need another Garbage Collector? OpenJDK currently has: SerialGC ParallelGC
More informationMobile & More: Preparing for the Latest Design Trends
February 26, 2015 Mobile & More: Preparing for the Latest Design Trends LATEST TRENDS Responsive Takes Over Material Is the New Flat Hero Images Getting Bigger Interactions Are Micro Video in the Background
More informationRun-time Environments
Run-time Environments Status We have so far covered the front-end phases Lexical analysis Parsing Semantic analysis Next come the back-end phases Code generation Optimization Register allocation Instruction
More informationMobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material
Mobile Programming 1 Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material Web Services/Sites, like Foursquare where location, device camera, etc and local processing make
More informationGarbage Collection. Steven R. Bagley
Garbage Collection Steven R. Bagley Reference Counting Counts number of pointers to an Object deleted when the count hits zero Eager deleted as soon as it is finished with Problem: Circular references
More informationSymbol Tables. ASU Textbook Chapter 7.6, 6.5 and 6.3. Tsan-sheng Hsu.
Symbol Tables ASU Textbook Chapter 7.6, 6.5 and 6.3 Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Definitions Symbol table: A data structure used by a compiler to keep track
More informationFunctional Programming Language Haskell
Functional Programming Language Haskell Mohammed Aslam CIS 24 Prof. Kopec Presentation: 03 Date: 05/05/2003 Haskell is a general purpose, purely functional programming language named after the logician
More informationA Guide to Liv-ex Software Development Kit (SDK)
A Guide to Liv-ex Software Development Kit (SDK) Document revision: 1.0 Date of Issue: 9 May 2018 Date of revision: Contents 1. Overview... 3 2. What you can do with the Liv-ex SDK... 3 3. The Liv-ex SDK
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More informationHow to Secure SSH with Google Two-Factor Authentication
How to Secure SSH with Google Two-Factor Authentication WELL, SINCE IT IS QUITE COMPLEX TO SET UP, WE VE DECIDED TO DEDICATE A WHOLE BLOG TO THAT PARTICULAR STEP! A few weeks ago we took a look at how
More informationXamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?
Xamarin Mandanna B J MS (IT), 4 th Sem Jain University, Bangalore Dr. Suchitra R HOD, Dept. Of IT, Jain University Bangalore Abstract:- It is a technology that brings.net/c# to Android, IOS as well as
More informationSideline. Grasshopper. The small business phone service that lets you talk and text with the simplicity of an app.
The small business phone service that lets you talk and text with the simplicity of an app. Line2 delivers what small businesses most need in a phone service: 1 Low, predictable monthly charges 101 103
More informationAzul Systems, Inc.
1 Stack Based Allocation in the Azul JVM Dr. Cliff Click cliffc@azulsystems.com 2005 Azul Systems, Inc. Background The Azul JVM is based on Sun HotSpot a State-of-the-Art Java VM Java is a GC'd language
More informationSEEM4570 System Design and Implementation. Lecture 1 Cordova + HTML + CSS
SEEM4570 System Design and Implementation Lecture 1 Cordova + HTML + CSS Apache Cordova Apache Cordova, or simply Cordova, is a platform for building native mobile apps using HTML, CSS and JavaScript E.g.
More informationReview. Partitioning: Divide heap, use different strategies per heap Generational GC: Partition by age Most objects die young
Generational GC 1 Review Partitioning: Divide heap, use different strategies per heap Generational GC: Partition by age Most objects die young 2 Single-partition scanning Stack Heap Partition #1 Partition
More informationRun Time Environments
Run Time Environments ALSU Textbook Chapter 7.1 7.3 Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Preliminaries During the execution of a program, the same name in the source
More information