(12) United States Patent (10) Patent No.: US 9,444,912 B1 Chen Et Al

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 9,444,912 B1 Chen Et Al USOO9444912B1 (12) United States Patent (10) Patent No.: US 9,444,912 B1 Chen et al. (45) Date of Patent: Sep. 13, 2016 (54) VIRTUAL MOBILE INFRASTRUCTURE FOR $295 R 1239. Real et al. MOBILE DEVICES 7,191,211W - - B2 3, 2007 Tuliurnidge (71) Applicant: Trend Micro Incorporated, Tokyo (JP) 22:32 1939, All 7,634,811 B1 12/2009 Kienzle et al. (72) Inventors: Gen Chen, Nanjing (CN); Yaozhou 7,735,138 B2 6/2010 Zhao Xu, Nanjing (CN); Kan Dong, Nanjing 8,023,974 B1 23: 2. et al (CN); Zhengyu Li, Nanjing (CN) 933. R. 384 (tal 2001/0054.062 A1 12/2001 Ismael et al. (73) Assignee: Trend Micro Incorporated, Tokyo (JP) 2002/0129281 A1 9, 2002 Hatfalvi et al. 2003/0041106 A1 2, 2003 Tuli (*) Notice: Subject to any disclaimer, the term of this (Continued) patent is extended or adjusted under 35 U.S.C. 154(b) by 732 days. FOREIGN PATENT DOCUMENTS (21) Appl. No.: 13/899,211 EP 1316 873 4/2003 EP 1377 892 9, 2004 (22) Filed: May 21, 2013 (Continued) (51) Int. Cl. OTHER PUBLICATIONS G06F 5/16 (2006.01) & 8 -- H04L 29/06 (2006.01) Hadeel Tariq Al-Rayes, Studying Main Differences between (52) U.S. Cl. Android & Linux Operating Systems', Oct. 2012, pp. 46-49, vol. CPC ..................................... H04L 67/42 (2013.01) i.imational Journal of Electrical & Computer Sciences (58) Field of Classification Search Sc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ho! Primary Examiner — Arvin Eskandarnia See application. file. for. .complete . .search . history. LLP(74) Attorney, Agent, or Firm — Okamoto & Benedicto (56) References Cited (57) ABSTRACT U.S. PATENT DOCUMENTS A virtual mobile infrastructure for mobile devices includes 6,091,412 A 7/2000 Simonoff et al. mobile client devices and a server computer running remote 6,356,931 B2 3, 2002 Ismael et al. mobile operating systems. The remote mobile operating 6,401,134 B1 6, 2002 Razavi et al. systems share the same kernel, and are each implemented on 6,433,794 B1 8, 2002 Beadle et al. a container. A mobile client device running a mobile oper 6,492.995 B1 12/2002 Atkin et al. ating system, which may be the same as or different from the 6,647,544 B1 11/2003 Ryman et al. 6,757,895 B1 6, 2004 Beadle et al. remote mobile operating systems, may access one of the 6,799,195 B1 9, 2004. Thibault et al. many remote mobile operating systems on the server com 6,842,777 B1 1, 2005 Tuli puter. 6,842,897 B1 1/2005 Beadle et al. 6,941,552 B1 9, 2005 Beadle et al. 14 Claims, 12 Drawing Sheets f(22 \ f(22 PROCESSOR USERINPUT DATA DISPLAY DEVICES STORAGE MONITOR COMMUNICATIONS INTERFACE SOFTWARE MODULES US 9,444.912 B1 Page 2 (56) References Cited 2013,01794.03 A1* 7, 2013 Kim .................... G06F 11,1458 707,654 U.S. PATENT DOCUMENTS 2014/0201328 A1* 7, 2014 Zhao ..................... HO4W 4f003 TO9,219 2004/014.8608 A1 7/2004 Gendreau et al. 2014/0201366 A1* 7/2014 Kamp ................... HO4W 12/06 2004/0158830 A1 8/2004 Chung et al. 709,225 2004/0230643 A1 11/2004 Thibault et al. 2005, 0188361 A1 8, 2005 Cai et al. 2005/0198485 A1 9/2005 Nguyen et al. FOREIGN PATENT DOCUMENTS 2005/0246176 A1 11/2005 Creamer et al. 2006/01 12342 A1 5/2006 Bantz et al. WO O2/084459 10, 2002 2007/0079244 A1 4/2007 Brugiolo WO O3,O17068 2, 2003 2007/0199058 A1 8/2007 Baumgart et al. WO 2005066786 7/2005 2011 O167474 A1 7, 2011 Sinha 2012/008.4481 A1* 4/2012 Reeves ................... G06F 13/14 T10/304 * cited by examiner U.S. Patent Sep. 13, 2016 Sheet 1 of 12 US 9,444.912 B1 7/77 f(22 f(26 7(22. USER INPUT DATA DISPLAY PROCESSOR DEVICES STORAGE MONITOR COMMUNICATIONS INTERFACE SOFTWARE MODULES A/G / U.S. Patent Sep. 13, 2016 Sheet 2 of 12 US 9,444.912 B1 2739// |NEHTOETIEJOW SE|O||ABC1 U.S. Patent Sep. 13, 2016 Sheet 3 of 12 US 9,444.912 B1 –\EXEld|LIQWHEARIQQIQ&QNV__—|l–– — U.S. Patent Sep. 13, 2016 Sheet 4 of 12 US 9,444.912 B1 JeSMOJE MODUM J06eue.W JeAJG1eleuueO C:D U.S. Patent Sep. 13, 2016 Sheet 6 of 12 US 9,444.912 B1 REMOTE ANDROID 222 222 225 APP APP APP DALVIK VM ANDROID SYSTEM (X86) 222 DEVICE EMULATOR INPUT SCREEN SENSOR : 277t--- 273 L --- y22 26.7 267 267 262 F- l 2A3 DALVIK VMADNDROID SYSTEM (ARM) SENSOR SERVICE 26% LINUXKERNE AVG 6 U.S. Patent Sep. 13, 2016 Sheet 7 of 12 US 9.444.912 B1 202/career 277 DEVICE severcours 262 25/2 24 REMOTE CLIENT LOGIN SERVER ANDROD AUTHENTICATION 27/ LOGN START 25 START 252 + TOKEN KEY TOKEN. AUTHENTICATION 24 ACCESS + TOKEN ALLOW AVG 7 U.S. Patent Sep. 13, 2016 Sheet 9 of 12 US 9,444.912 B1 S 1 s S s U.S. Patent Sep. 13, 2016 Sheet 10 of 12 US 9,444.912 B1 LOCAL REMOTE weryoop DRD 2-cvban ELES U.S. Patent Sep. 13, 2016 Sheet 11 of 12 US 9,444.912 B1 LOCAL REMOTE 562 a2-cvenmi O, .a AVG /OC 36/ LOCAL REMOTE awlertyulop 362 Gwenytop agg asdfghDRD ge 2XCV9m3 sevenmi O, a AVG /O/O U.S. Patent Sep. 13, 2016 Sheet 12 of 12 US 9,444.912 B1 LOCAL REMOTE 524 9 input text G. 9Input text Google search results:... Google search results: ... wery.utop assign 363 -122BevBama 123 - - AVG /OA REMOTE 9 input text (a 9 input text a Google search results: ... Google search results: ... US 9,444,912 B1 1. 2 VIRTUAL MOBILE INFRASTRUCTURE FOR FIG. 7 shows a flow diagram of a method of logging into MOBILE DEVICES one of a plurality of ANDROID operating systems in accordance with an embodiment of the present invention. BACKGROUND OF THE INVENTION FIG. 8 shows a schematic diagram illustrating client-side rendering in accordance with an embodiment of the present 1. 1. Field of the Invention invention. The present invention relates generally to mobile devices, FIG. 9 shows a schematic diagram of a virtual input and more particularly but not exclusively to computing method editor (IME) operating with a local IME in accor infrastructures for Supporting operation of mobile devices. dance with an embodiment of the present invention. 2. 2. Description of the Background Art 10 FIG. 10, which consists of FIGS. 10A-10F, shows screen shots illustrating an example operation of a virtual IME and Mobile devices, such as smartphones and tablets, have a local IME in accordance with an embodiment of the become commonplace and are now employed as replace present invention. ments for portable (e.g., laptops and netbooks) and desktop The use of the same reference label in different drawings (e.g., personal computers) computing devices. For example, 15 Smartphones are now employed not just to make Voice calls indicates the same or like components. over traditional mobile telephone networks, but also to DETAILED DESCRIPTION browse the Internet, watch streamed video, and play online games. Some employers even allow employees to bring their In the present disclosure, numerous specific details are own devices, the so-called BYOD policy. provided. Such as examples of apparatus, components, and One problem with mobile devices is that they run mobile methods, to provide a thorough understanding of embodi operating systems, such as the ANDROID and the iOS ments of the invention. Persons of ordinary skill in the art operating systems. Unlike traditional desktop operating sys will recognize, however, that the invention can be practiced tems, such as the WINDOWS operating system, mobile without one or more of the specific details. In other operating systems are not as powerful and extensible, allow 25 instances, well-known details are not shown or described to ing them to run securely on a mobile device that has limited avoid obscuring aspects of the invention. computing resources. Accordingly, mobile devices running Referring now to FIG. 1, there is shown a schematic mobile operating systems cannot readily take advantage of diagram of a computer 100 that may be employed with Some computing infrastructures available to computers that embodiments of the present invention. The computer 100 run desktop operating systems. 30 may be employed as a mobile client device, a server computer for a virtual mobile infrastructure, and other SUMMARY devices described below. The computer 100 may have fewer or more components to meet the needs of a particular In one embodiment, a virtual mobile infrastructure for application. The computer 100 may include a processor 101. 35 The processor 101 may comprise an ARM processor when mobile devices includes mobile client devices and a server the computer 100 is a mobile client device or an x86 computer running remote mobile operating systems. The processor when the computer 100 is a server computer, for remote mobile operating systems share the same kernel, and example. The computer 100 may have one or more buses are each implemented on a container. A mobile client device 103 coupling its various components. The computer 100 running a mobile operating system, which may be the same 40 may include one or more user input devices 102 (e.g., as or different from the remote mobile operating systems, keyboard, touchscreen), one or more data storage devices may access one of the many remote mobile operating 106 (e.g., flash memory, universal serial bus (USB) drive), systems on the server computer. a display monitor 104 (e.g., touchscreen, liquid crystal These and other features of the present invention will be display), one or more communications interfaces 105 (e.g., readily apparent to persons of ordinary skill in the art upon 45 network adapter, cellular interface), and a main memory 108 reading the entirety of this disclosure, which includes the (e.g., random access memory).
Recommended publications
  • Secure Remote Service Execution for Web Media Streaming
    Secure Remote Service Execution for Web Media Streaming vorgelegt von Dipl.-Ing. Alexandra Mikityuk geb. in Leningrad, UdSSR von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften - Dr.-Ing. - genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Thomas Magedanz, Technische Universität Berlin Gutachter: Prof. Dr. Jean-Pierre Seifert, Technische Universität Berlin Gutachter: Prof. Dr. Jean-Claude Dufourd, ParisTech Gutachter: Prof. Dr.-Ing. Ina Schieferdecker, Technische Universität Berlin Tag der wissenschaftlichen Aussprache: 29. August 2017 Berlin 2017 D 83 Abstract Through continuous advancements in streaming and Web technologies over the past decade, the Web has become a platform for media delivery. Web standards like HTML5 have been designed accordingly, allowing for the delivery of applications, high-quality streaming video, and hooks for interoperable content protection. Efficient video encoding algorithms such as AVC/HEVC and streaming protocols such as MPEG-DASH have served as additional triggers for this evolution. Users now employ Web browsers as a tool for receiving streaming media and rendering Web applications, and browsers have been embedded into almost every kind of connected device. The drawback of these technical developments and quick rate of user adoption is that modern Web browsers have introduced significant constraints on devices’ capabilities. First, the computational requirements have risen continuously, resulting in a cycle where modern devices can be nearly outdated after a year or two. Second, as the integration of browser technologies is a complicated matter, not every platform provides the same performance. Different Operating Systems (OSs), chipsets and software engines are the main reasons for this difference in performance.
    [Show full text]
  • Xamk Opinnäytteen Kirjoitusalusta Versio 14022017
    F Jakhongir Fayzullaev Native-like Cross-Platform Mobile Development Multi-OS Engine & Kotlin Native vs Flutter Bachelor’s thesis Information Technology 2018 Author (authors) Degree Time Jakhongir Fayzullaev Bachelor of Engineering May 2018 Thesis title 62 pages Native-like Cross-Platform Mobile Development 0 pages of appendices Multi-OS Engine & Kotlin Native vs Flutter Commissioned by Xamk Supervisor Timo Mynttinen Abstract The goal of this thesis was to study and demonstrate a relatively new way and tools of cross-platform mobile development and to research such technologies as Multi-OS Engine, Kotlin/Native and Flutter. The thesis contains both theory and practice about how Multi-OS Engine, Kotlin/Native and Flutter work. The thesis discussed the theory of native development vs cross-platform development as well as other cross-platform development options. As these technologies are relatively new there are not many previous studies about the topic. The thesis aimed to provide illustrative examples to demonstrate how tools could be used, their features and a work example. The thesis concludes with a case study where three sample applications were made using different tools. The main goal of the case was to showcase how these technologies could be used in real world. The case study serves as a demonstration of the possibilities of these three tools. At the end the advantages and disadvantages of both tools were found and the real use case of them. Keywords Android, iOS, Flutter ,Kotlin, Java, Dart, cross-platform, programming, CONTENTS 1 INTRODUCTION .......................................................................................................... 5 2 NATIVE VS CROSS-PLATFORM DEVELOPMENT ..................................................... 7 2.1 Why cross-platform? ..............................................................................................
    [Show full text]
  • Skia & Freetype
    Skia & FreeType Android 2D Graphics Essentials Kyungmin Lee Software Platform Lab., LG Electronics [email protected] The 10th Kandroid Conference Goal S/W 플랫폼에 있어 GUI(Graphical User Interface) 시스템은 해당 플랫폼의 성능을 결정짓는 매우 중요한 요소이다. Android 역시 새로운 버전을 발표할 때마다 GUI 시스템의 성능을 꾸준히 개선하여 최근에 릴리즈된 Jelly Bean에 와서는 iOS에 필적할만한 성능을 보여주고 있다. 이번 세션에서는 이벤트 처리 기술과 더불어 GUI 시스템의 한 축을 이루고 있는 2D Graphics 기술을 Android에서 어떻게 활용하고 발전시켜 왔는지에 대해 살펴본다. 1. Skia: 2D Graphics Library Skia in Android Skia API Overview Skia Rendering Pipeline Skia Backends: Raster, OpenGL, PDF, ... 2. FreeType: Font Engine FreeType in Android FreeType API Overview Font Rasterization: Scan-conversion, Hinting, … 3. Android 2D Graphics Essentials Evolution of Drawing Models: GPUI (UI on the GPU), Display List, Display List Properties, View Layers, … Android 2D Graphics Architecture (From Conference Program Overview) The 9th Kandroid Conference Skia is Greek for “shadow” http://code.google.com/p/skia/ Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. • 3x3 matrices w/ perspective • antialiasing, transparency, filters • shaders, xfermodes, maskfilters, patheffects Mike Reed • subpixel text Device backends for Skia currently include: • Raster • OpenGL • PDF • XPS • Picture (for recording and then playing back into another Canvas) (From Project‟s Home) The Skia Graphics Engine is a compact open source graphics library written in C++. It was originally developed by Skia Inc., which was subsequently acquired by Google in 2005, who then released the software as open source licensed under the New BSD License free software license. Now known as skia, it is currently used in Mozilla Firefox, Google Chrome, Chrome OS, Chromium OS, and Android; and the Skia library is present on the BlackBerry PlayBook though the extent of its usage is unclear.
    [Show full text]
  • The Battle Between Apple, Microsoft and Google: Strategic Lessons from a Converging Internet Industry 2000-2010
    The Battle Between Apple, Microsoft and Google: Strategic Lessons from a Converging Internet Industry 2000-2010 Case study Reference no 310-245-1 This case was written by Markus Schimmer, Professor Dr. Günter Müller-Stewens and Peder Sponland, University of St Gallen. It is intended to be used as the basis for class discussion rather than to illustrate either effective or ineffective handling of a management situation. The case was compiled from published sources. © 2010, University of St. Gallen No part of this publication may be copied, stored, transmitted, reproduced or distributed in any form or medium whatsoever without the permission of the copyright owner. Distributed by ecch, UK and USA North America Rest of the world www.ecch.com t +1 781 239 5884 t +44 (0)1234 750903 ecch the case for learning All rights reserved f +1 781 239 5885 f +44 (0)1234 751125 Printed in UK and USA e [email protected] e [email protected] 310-245-1 Introduction Fromthefirstdiscussionsofa“galacticnetwork”in1962,theInternethasdevelopedintoan= enormous=informationinfrastructure.=Whileithasinitiallybeena=governmental=researchtool,=itsfull publicaccessin1994propelledthenetworkintoaglobalculturalphenomenon.Fouryearsafterits publicinitiation,alreadymorethan50millionprivate=userswere=online,followedbyanunlikelarger= numberintheyearsthereafter.Withabout2=billionusersin2009,theInternethasalsogrownintoan= own global economy of unprecedented= size. This new economy is driven by a relentless force of technologicalandconceptualinnovationsstemmingfromaninnumerablenumberofpartiesscattered=
    [Show full text]
  • Seth-China Symposium
    Enabling The Software Ecosystem for the Future of Mobile Computing Seth Bernsen Strategic Software Alliances P.R. China November, 2009 1 Engagement Model for Differentiation Differentiated Products OEM/ODM requirements OEM Partners capture Connecting OEM/ODM to software solutions providers Software Partners Enable software and services vendors Ensure robust support of Semiconductor Partners key applications and capabilities Organization and rally the Open Source Community Open Source community Direct Open Source Common Foundation Contributions 2 Innovating with Open Source Software ARM contributions into open source upstream projects result in performance optimizations across the eco-system Example: ARM has optimized JIT code generation for JavaScript ARM Optimal JIT Code Key Contributions to One project positively work Generation 2.75X speedup* effects 6 key web technologies ActionScript JavaScript Virtual Machine Virtual Machine Web Web Browser Adobe Flash Applications Runtime Runtime Adobe AIR Firefox Browser Yahoo Widgets Fennec Mobile Browser Internet Application Reference code available on http://www.linux.onarm.com *Based on Sunspider benchmark Runtime 3 Linux Across the ARM Roadmap ARM Cortex “Low-Power Leadership” Contributing CPU support to Linux kernel Osprey for Cortex-A profiles x1-4 1.6GHz TSMC 40G… Cortex-A9 uClinux for Cortex-R & Cortex-A8 Cortex-M Profiles Validated with ARM x1-4 RealView reference Cortex-R4F Cortex-A5 boards Cortex-R4 Includes support for both ARM & Thumb-2 builds Performance, Functionality Performance, http://www.arm.com/linux SC300 Cortex-M3 http://www.linux-arm.org/git Cortex-M1 Cortex-M0 miniSwift Gate-level netlist 2006 2007 2008 2009 2010 4 Supporting Two Development Models Growing demand for native as well as cross target development Embedded Platforms Open Platforms MIDs, PDA, etc.
    [Show full text]
  • Improve Your Mobile Development with Google's Latest Open-Source SDK — Frank Zammetti
    Practical Flutter Improve your Mobile Development with Google’s Latest Open-Source SDK — Frank Zammetti www.allitebooks.com Practical Flutter Improve your Mobile Development with Google’s Latest Open-Source SDK Frank Zammetti www.allitebooks.com Practical Flutter: Improve your Mobile Development with Google’s Latest Open-Source SDK Frank Zammetti Pottstown, PA, USA ISBN-13 (pbk): 978-1-4842-4971-0 ISBN-13 (electronic): 978-1-4842-4972-7 https://doi.org/10.1007/978-1-4842-4972-7 Copyright © 2019 by Frank Zammetti This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Crayon: Saving Power Through Shape and Color Approximation on Next-Generation Displays
    Crayon: saving power through shape and color approximation on next-generation displays The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Stanley-Marbell, Phillip, Virginia Estellers, and Martin Rinard. "Crayon: Saving Power through Shape and Color Approximation on next-Generation Displays." Proceedings of the Eleventh European Conference on Computer Systems - EuroSys '16, 18-21 April, 2016, London, United Kingdom, ACM Press, 2016, pp. 1–17. As Published http://dx.doi.org/10.1145/2901318.2901347 Publisher Association for Computing Machinery Version Author's final manuscript Citable link http://hdl.handle.net/1721.1/113653 Terms of Use Creative Commons Attribution-Noncommercial-Share Alike Detailed Terms http://creativecommons.org/licenses/by-nc-sa/4.0/ Crayon: Saving Power through Shape and Color Approximation on Next-Generation Displays Phillip Stanley-Marbell Virginia Estellers Martin Rinard MIT UCLA MIT [email protected] [email protected] [email protected] Abstract ������ ��� ���� ��/�� ��������� �� We present Crayon, a library and runtime system that re- �� �� �� ��� ��� ��� �� duces display power dissipation by acceptably approximat- ������ ����� � ��� ing displayed images via shape and color transforms. Crayon �������� ���� � can be inserted between an application and the display to op- ������� ������ � ���� timize dynamically generated images before they appear on ���� ����� � �� the screen. It can also be applied offline to optimize stored �� �� �� ��� ��� images before they are retrieved and displayed. Crayon �������� �� ������ ����� ����������� (%) exploits three fundamental properties: the acceptability of (a) Displays dissipate a large fraction of total (b) Example: Shape system power when active. and color transforms. small changes in shape and color, the fact that the power dissipation of OLED displays and DLP pico-projectors is Figure 1.
    [Show full text]
  • Migrating an Existing Android Application to a Cross-Platform
    TALLINN UNIVERSITY OF TECHNOLOGY School of Information Technologies Roman Ismagilov 172665IVSM Migrating an existing Android application to a cross-platform Master's thesis Supervisors: Juhan-Peep Ernits (PhD) Oleg Petšjonkin (MCs) Tallinn 2021 TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Roman Ismagilov 172665IVSM Olemasoleva Androidi rakenduse üleviimine platvormisõltumatuks Magistritöö Juhendaja: Juhan-Peep Ernits (PhD) Oleg Petšjonkin (MCs) Tallinn 2021 Author’s declaration of originality I hereby certify that I am the sole author of this thesis. All the used materials, references to the literature and the work of others have been referred to. This thesis has not been presented for examination anywhere else. Author: Roman Ismagilov 10.05.2021 3 Abstract First aim of this thesis is to give an overview and compare existing technologies that provide possibility to create cross-platform mobile applications. Second aim is to create a novel architectural approach by using which it would be possible to migrate an existing Android application to cross-platform with iOS. The developed approach is based on Model-View-Presenter design pattern and Hexagonal architecture using Kotlin/Native and Kotlin Multiplatform technologies. The results are validated in a case review, which is a real-world application named Lokimo, which was successfully rewritten using the developed architecture. Since the application revenue model is based on paid digital content, and application stores user progress, the migration includes seamless transition for
    [Show full text]
  • State Management Approaches in Flutter 0 Pages of Appendices
    Dmitrii Slepnev STATE MANAGEMENT APPROACHES IN FLUTTER Bachelor’s thesis Information Technology Bachelor of Engineering 2020 Author (authors) Degree title Time Dmitrii Slepnev Bachelor of December 2020 Engineering Thesis title 98 pages State management approaches in Flutter 0 pages of appendices Commissioned by Supervisor Timo Hynninen Abstract Flutter has tens of different ways to solve the issue of state management, which creates an ambiguity in the selection of the approach. Flutter is a promising technology which can possibly reduce the costs of cross-platform application development. The main objective of the thesis was to categorize the state management approaches and find a way to select the most suitable one for the most common use case scenarios. Instead of focusing on the particular use cases, a set of decision-making criteria was determined, and the approaches were analyzed and compared based on these criteria. Quantitative research methods were used in the theoretical part in order to introduce the mobile development market, compare Flutter to the competing technologies, prove that the problem of state management approach selection ambiguity indeed exists, and determine which approaches would be worth studying by measuring their popularity among Flutter developers. These methods included, for instance, analyzing and comparing the statistical data concerning the mobile development market, number of GitHub stars, various pub.dev scoring metrics and so on. Qualitative methods (e.g. critical analysis of existing literature) were used to categorize the approaches, determine the comparison criteria, analyze and compare the selected approaches and make a conclusion. The study resulted in several new contributions to the existing literature.
    [Show full text]
  • Developing for Android Developing for Android On
    Developing for Android on ARM AhlAshley Stevens- SltiSolution Arc hitthitect 1 Google Android 10’s of phone models 18-20 by year end 1000’s of apps Over 12,000 at Nov 5th Millions of users How to get your app to them …? 2 Android Architecture 3 Developing Using Android/Dalvik The UI is compiled from an XML file You can use the GUI in the Android tools or hand craft the XML Simple to attach code to UI elements Emulator enables easy testing of code Based on QEMU with a model of an ARM926 Real devices are tyyypically ARM11, Cortex-A8 or Cortex-A9 cores TtiTesting anythi thithtling that relies on touc h, accelerometer, GPS or network capabilities is easier on real hardware 4 Dalvik VM Optimizations Dalvik JIT announced publically at Google-IO May ’09 Google has asked ARM to engage on Dalvik open source project ARM has initially worked on interpreter improvements >10% Uplift When Google open source JIT ARM will contribute to code gen er ati on Thumb2 and Thumb-2 EE (as appropriate) Goal is for 3x-8x performance improvement for Java intensive apps 5 Dalvik Virtual Machine Optimized for low-end, low-memory systems Designed to run on systems with min 64MB memory .java Register-based VM (Java VM stack based) Register-based VM better interpreted performance Minimum instruction size 2 bytes 30% fewer instructions than Java VM Avoid overhead of instruction dispppatch in interpreter .class Higher semantic density, fewer instructions 35% more bytes in instruction stream than Java VM Each VM runs in a separate OS process
    [Show full text]
  • Android Internals::A Confectioner's Cookbook (Volume I)
    RL Android Internals A Confectioner's Cookbook Volume I: The Power User's View With updates for Android M, Preview Release 1 (6/2015) By Jonathan Levin Cambridge, MA In memoriam: Frank R. Dye. I missed you by a day, and will miss you for a lifetime. Android Internals - A Confectioner's Cookbook - Volume I - The Power User's View © 2015 by Jonathan Levin. All rights reserved. No part of this work may be reproduced, transmitted in any form or any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the author. Printed in Cambridge, MA, USA First Printing5-Mp1-as ISBN-10: 9910555-2-4 ISBN-13: 978-0-9910555-2-4 Publisher: Technologeeks.com Production Editor: Jonathan Levin Interior Design: Jonathan Levin Technical Reviewers: Moshe Kravchik, Arie Haenel Cover Illustration: Dino Tsiopanos For information on distribution, translations, or bulk sales, please contact Jonathan Levin, at: Jonathan Levin Phone: (617)-3000-667 Email: [email protected] Web: www.NewAndroidBook.com Company and product names mentioned in this work may be trademarked by their respective owners. Any and every such name is used solely in an editorial fashion, to the benefit of the trademark owner, with no intention whatsoever of infringement. The Android robot is reproduced and/or modified from work created and shared by Google, according to the terms of the Creative Commons 3.0 Attribution License. Limit of Liability/Disclaimer of Warranty: The author neither makes or implies any representations or warranties with respect to the accuracy or completeness of the contents of this work.
    [Show full text]
  • Lizenzinformationen Licence Information Informacje O Licencji
    • Copyright (c) 2008-2011, Adenilson Cavalcanti <[email protected]>. All rights reserved. • Copyright (c) 2008-2011, Holger Kral <[email protected]>. All rights reserved. FastCGI License Lizenzinformationen • Copyright (c) 2008-2011, Stefano Avallone <[email protected]>. All rights reserved. This FastCGI application library source and object code (the "Software") and its documentation (the • Copyright (c) 2008-2011, Andre Loureiro <[email protected]>. All rights reserved. "Documentation") are copyrighted by Open Market, Inc ("Open Market"). The following terms apply to all files associated with the Software and Documentation unless explicitly disclaimed in individual files. libpcap Open Market permits you to use, copy, modify, distribute, and license this Software and the Licence Information The product includes software licensed under BSD 3-clause license. It is developed and copyrighted by Documentation for any purpose, provided that existing copyright notices are retained in all copies and • Copyright (c) 1980, 1982, 1983, 1987, 1989, 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996, that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee 1997, 1998, 2000 The Regents of the University of California. All rights reserved. is required for any of the authorized uses. Modifications to this Software and Documentation may be This code is derived from the Stanford/CMU enet packet filter, (net/enet.c) distributed as part of copyrighted by their authors and need not follow the licensing terms described here. If modifications to Informacje o licencji 4.3BSD, and code contributed to Berkeley by Steven McCanne and Van Jacobson both of Lawrence this Software and Documentation have new licensing terms, the new terms must be clearly indicated Berkeley Laboratory.
    [Show full text]