An Evaluation of Mobile Cross-Platform Development Using React Native and Native Android

Total Page:16

File Type:pdf, Size:1020Kb

An Evaluation of Mobile Cross-Platform Development Using React Native and Native Android Uppsala universitets logotyp UPTEC IT 21005 Examensarbete 30 hp April 30, 2021 An evaluation of Mobile Cross-platform Development using React Native and Native Android Anton Carlsson Tysk Emil Kling Civilingenjörsprogrammet i informationsteknologi Civilingenjörsprogrammet i informationsteknologi Uppsala universitets logotyp An evaluation of Mobile Cross-platform Development using React Native and Native Android Anton Carlsson Tysk Emil Kling Abstract Instead of developing the same mobile application multiple times for different platforms, Android and iOS, there are frameworks which allow the developer to deploy an application to several platforms using the same code base. One of these frameworks is React Native, a JavaScript framework for developing mobile applications for both Android and iOS. Native Android applications are developed using Java or Kotlin. This paper evaluates React Native by comparing it to an Android application written in Java. The evaluation is done by developing an application in each of the two technologies and comparing performance. The performance is evaluated by measuring frame rate during an animation and the average time to solve computational tasks. To get accurate measurements a tool called Systrace is used. The results show that for graphical animations, applications developed using React Native have similar performance as natively developed Android applications. At the same time, React Native is not very good at pure computational tasks where natively developed Android applications perform better. Teknisk-naturvetenskapliga fakulteten, Uppsala universitet. Utgivningsort Uppsala/Visby. Handledare: Förnamn Efternamn, Ämnesgranskare: Förnamn Efternamn, Examinator: Förnamn Efternamn Teknisk-naturvetenskapliga fakulteten Uppsala universitet, Utgivningsort Uppsala/Visby Ämnesgranskare: Sven-Olof Nyström Examinator: Lars-Åke Norden Sammanfattning Istället för att utveckla en mobilapplikation till Android och en till iOS kan man utnyttja olika verktyg för att utveckla flera applikationer samtidigt med en och samma kodbas. Ett sådant verktyg är multiplattform-ramverket React Native. Detta examensarbete jämför prestandan på en applikation utvecklad i React Native med en Android-applikation utvecklad i Java. Jäm- förelsen sker genom att mäta bildhastigheten under animationer och genom att mäta den genomsnittliga tiden det tar för applikationerna att utföra olika beräkningsuppgifter. Resultaten visar att applikationerna har liknande prestanda när det kommer till animeringar. Java-applikationen presterar genomgående bättre i testerna som avser beräkningsuppgifter. Slutsatsen är att React Native presterar tillräckligt bra för att vara ett rimligt verktyg för multiplattform-utveckling till mobilapplikationer. Acknowledgement We would like to begin this thesis to give a well deserved thank you to ev- eryone who supported and helped us during this theses. Thank you Sven-Olof for giving us guidance through this journey. Also thank you the people at Consid AB who believed in us and allowed us to do this research. Last but not least we would like to give a big thank you to all of our friends and family for all the support. This one is for you. Anton Carlsson Tysk and Emil Kling Contents 1 Introduction 5 1.1 Cross-platform development . .5 1.2 Cross-platform development for mobile devices . .5 1.2.1 Cross-platform Native Applications . .6 1.2.2 Cross-platform Mobile Web Applications . .6 1.2.3 Cross-platform Hybrid Applications . .7 1.3 Purpose . .7 1.3.1 Problem statement . .7 1.3.2 Future work . .8 2 Background 8 2.1 Android . .8 2.1.1 Java . .8 2.1.2 XML . .9 2.1.3 Android Studio . .9 2.2 React Native . .9 2.2.1 JavaScript . 10 2.2.2 Components . 10 2.2.3 Rendering components . 10 2.2.4 Native modules . 13 2.2.5 Frame rate . 13 3 Method 13 3.1 Building the application . 14 3.2 Testing the UI view . 14 3.3 Testing the calculation view . 16 4 Implementation 20 4.1 UI test view . 20 4.1.1 Native . 20 4.1.2 React Native . 21 4.2 Calculation test view . 21 4.2.1 Fibonacci sequence . 22 4.2.2 Matrix multiplication . 22 4.2.3 Binary search tree insertion . 23 4.2.4 Array reverse . 25 5 Results 26 5.1 UI test . 27 5.2 Calculation test . 31 5.2.1 Fibonacci sequence . 31 5.2.2 Matrix multiplication . 33 5.2.3 Binary search tree insertion . 35 5.2.4 Array reverse . 38 6 Discussion 40 6.1 UI test . 40 6.2 Calculation test . 40 7 Related work 42 7.1 Other cross-platform frameworks . 46 8 Conclusion 46 A Appendix 52 A.1 Animation frame rate . 52 A.2 Fibonacci sequence . 53 A.3 Matrix multiplication . 54 A.4 Binary search tree insertion . 55 A.5 Array reverse . 58 1 INTRODUCTION 1 Introduction In February 2017 Apple iOS and Android OS owned 97 percent of the mobile phone and tablet OS market share, according to NetMarketShare [21]. As the majority of mobile users are spread across two operating systems, it is not a surprise that many companies and developers mainly target the platforms running these operating systems. In order to give the majority of users access to a mobile application, it has to be supported on the Android and Apple operating systems. To develop the application separately for each operating system is an expensive approach as it requires developers with experience of different programming languages and technologies. Native Android ap- plications are written in Java or Kotlin using Android’s frameworks while native applications for iOS are written in Objective-C or Swift using Apple’s frameworks. Instead of writing the same logic in two different programming languages one solution could be to use a cross-platform framework that al- lows the developer to write the logic once and publish the application for several platforms. 1.1 Cross-platform development A piece of software that is implemented to run on more than one platform is called a cross-platform software. It can either be compiled to run on several platforms, or written using an interpreted language, or compiled to bytecode and executed using a common interpreter such as a JVM (Java Virtual Machine) [7]. The Linux Information Project give three definitions of the term platform: hardware based, operating system based and one which is a combination of the other two [27]. This report refers to the second definition when reasoning about platforms, which states that a platform refers to the type of operating system running on a computer or device. 1.2 Cross-platform development for mobile devices Many tools have been developed to ease the mobile cross-platform develop- ment [5, 17]. Cross-platform applications can be divided into three categories, namely Native Applications, Mobile Web Applications and Hybrid Applica- tions. The common purpose of these types of applications is to be able to reuse as much written code as possible for two or more platforms. 5 1 INTRODUCTION 1.2.1 Cross-platform Native Applications An application is considered to be a native application if it is written in a language supported by the native SDK (Software Development Kit). For Android this means coding in Java or Kotlin and for iOS it means coding in Objective-C or Swift. Native applications can also be created by using a so called cross-platform SDK. A cross-platform SDK creates a new API that is build on top of one or multiple native SDKs and can thus target multiple platforms from a new unified API. This cross-platform API makes it possible to build native ap- plications in languages that are not supported by the native SDK [25]. 1.2.2 Cross-platform Mobile Web Applications A mobile web application is an application that is designed to be accessed on a phone or tablet, and is running completely in a web browser. Mobile Web applications are developed using technologies such as HTML, HTML5, CSS and JavaScript. Before the standardisation of HTML5 in 2014 [23], web applications had no access to device-specific hardware like the mobile phone camera or GPS, making it hard to build web applications that resemble native applications in terms of functionality. HTML5 provides an API which makes it possible for the developer to access a large amount of features connected to specific devices and hardware, for example push notifications, audio and location. However, there are still tasks a web application can not perform. Mobile web applications are limited to the supported features of the current web browser in use. For instance, Chrome and Firefox browsers can make the device vibrate while Safari can not. The performance of a web application is dependent on DOM interactions as well as how heavy the application is in terms of UI (User Interface). The DOM (Document Object Model) is an object based representation of the structure and content of a web page where each object becomes a node in a tree structure. All nodes can be accessed through the tree and the content can be modified or deleted or a new child node can be added. Interactions with the DOM, such as adding or deleting content, can affect performance since these changes will require a re-render of the web page. 6 1 INTRODUCTION Mobile web applications are easy to develop and accessible on any device by navigating to an URL through the web browser, but lack the look and feel of a native application, along with limited access to device specific fea- tures [14, 20, 30, 8, 19]. 1.2.3 Cross-platform Hybrid Applications A mobile hybrid application is a combination of a web application and a native application. The web part of the application is typically built using HTML, CSS and JavaScript and is locally rendered using the mobile’s built in browser. The native part of the application is often written in JavaScript and mapped to a Native language using a framework which handles the implementation details.
Recommended publications
  • Scholarly Program Notes for the Graduate Voice Recital of Laura Neal Laura Neal [email protected]
    Southern Illinois University Carbondale OpenSIUC Research Papers Graduate School 2012 Scholarly Program Notes for the Graduate Voice Recital of Laura Neal Laura Neal [email protected] Follow this and additional works at: http://opensiuc.lib.siu.edu/gs_rp I am not submitting this version as a PDF. Please let me know if there are any problems in the automatic conversion. Thank you! Recommended Citation Neal, Laura, "Scholarly Program Notes for the Graduate Voice Recital of Laura Neal" (2012). Research Papers. Paper 280. http://opensiuc.lib.siu.edu/gs_rp/280 This Article is brought to you for free and open access by the Graduate School at OpenSIUC. It has been accepted for inclusion in Research Papers by an authorized administrator of OpenSIUC. For more information, please contact [email protected]. SCHOLARLY PROGRAM NOTES FOR MY GRADUATE VOCAL RECITAL by Laura S. Neal B.S., Murray State University, 2010 B.A., Murray State University, 2010 A Research Paper Submitted in Partial Fulfillment of the Requirements for the Masters in Music Department of Music in the Graduate School Southern Illinois University Carbondale May 2012 RESEARCH PAPER APPROVAL SCHOLARLY PROGRAM NOTES ON MY GRADUATE VOCAL RECITAL By Laura Stone Neal A Research Paper Submitted in Partial Fulfillment of the Requirements for the Degree of Masters in the field of Music Approved by: Dr. Jeanine Wagner, Chair Dr. Diane Coloton Dr. Paul Transue Graduate School Southern Illinois University Carbondale May 4, 2012 ACKNOWLEDGMENTS I wish to thank first and foremost my voice teacher and mentor, Dr. Jeanine Wagner for her constant support during my academic studies at Southern Illinois University Carbondale.
    [Show full text]
  • LRVNA Hospice Board of Directors' Adopted Resolutions, December 9, 2020 APPENDIX U Statements of Support from Community Members Appendix A
    INDEX OF APPENDICES APPENDIX A NANA Articles of Agreement APPENDIX B NANA Bylaws APPENDIX C.l NANA Audited Financial Statements FY 19 APPENDIX C-2 NANA Form 990 FY18 APPENDIX D LRVNA Articles of Agreement APPENDIX E LRVNA Bylaws APPENDIX F-l LRVNA Audited Financial Statements FY 19 APPENDIXF-2 LR\rNA Form 990 FY18 APPENDIX G Operating Services Agreement APPENDIX H Merger Agreement APPENDIX I Plan of Merger APPENDIX J REDACTED APPENDIX K Joint Press Release of Intent to Merge APPENDIX L-l Listening Session Transcript of Questions, Answers and Comments 11.12.20 APPENDIXL-2 NANA Board of Directors' Adopted Resolutions, December I0,2020 APPENDIX L-3 Reserved APPENDIX M Minutes of December 10. 2020 NANA Board of Directors Meeting (approving Merger Agreement) APPENDIX N Reserved APPENDIX O Certification of NANA Directors Regarding RSA 7:19- b(II) Standards APPENDIX P Statement of LRVNA Regarding Furtherance of NANA Mission Post-Merger APPENDIX Q LR'\/NA Home Health Care Board of Directors' meeting minutes, December 9, 2020 APPENDIX R LRVNA Hospice Board of Directors' meeting minutes, December 9,2020 APPENDIX S LRVNA Home Health Care Board of Directors' Adopted Resolutions, December 9, 2020 APPENDIX T LRVNA Hospice Board of Directors' Adopted Resolutions, December 9, 2020 APPENDIX U Statements of Support from Community Members Appendix A Newfound Area Nursing Association Articles of Agreement Stutr uf $(rur ffiurnpxgiru OFtrICE OF SECRETARY OF STATE .l. R{}IiIll'f y. .J,iJ/Jl?{")S/:, Dt'l;tti^rt .i{:,(.}(.,//zi i] t.l: .\!utt' c1i ,llri" ilrrlr:' r.,.f .\i1";1, lltt:t:S:.tit!rt', it.t ltr:t'r'it,t t'trli!t' llirLt t tr: ft,ill,r'1r,f- .
    [Show full text]
  • Tessj R Ii 3 Tr
    DM ht Tfct Evening World DaMy M t fill n c , TP r tft y , jTuy , ffrrB MMfM U "S'Matter, Pop?" it nw HOT fat 55 M 13 By C. M. Payne I - " Irrt" k,.d., el. 1 I ! , II iT". Tl I I 111, I - i i i lj r I ii m .cn . i i i r x i ' i J m r i Kfi k . m mm tessj r ii 3 Tr . "fe """'! s?f j fc r S O-u-- n- - - J K KB -- - S3fS- a "- S?TZ T30rO 1 eg " tS". - - i i V ' ' N 7" ; ; - spas - r - - - mmmtmrntmaXj I nr rinnnr. i. j r.- j .nr j nr irft i alaawwswssewwessasssswsa mmmmmmmmmmmmmmmm0mmmmmmmmmmmmmm0mmmmmmmaimmtmmimmmmi0mm0m0tm Mmmtmttttttiititmfimtmitmmtmmi nwi'wwww"! I 1 Nation-Famo- us tTmjuuuifJfaB Ten - No Wonder! UaSS&l B - My Hunt for Husband L rf- a LL 0 wmmmmm Ahem Ytk $ Bmttffl? Qmatfmr "W Ibf 4 New 7mSSH out tSwi I f KE md York Murders Wipe UMLel BE ovDWN,riaTj) By W. V. Pollock. By Alfred Henry Lewis See. this oeNCM STMt 6eNCH OMJ VV OtBtTlskt, Mil, g Ths Press r - bUak -g Ot. (Tee New Tent to VIII. THE LOVB- AT-FIRST -SlGHr' MAS. and mamma Instated that tha only Why to -- How Stoke$ Killed Fink and Why. Y9 JSOlursg of our I broke ray engagement ta Ogag. was to run away from town. M or PhBCtDIMO IWALMKNTK blue cigar lord Y smoke over all. fresh achemes Mamma and visited da O tn aw ManU Orna, fish, a Varmoater, after Ttriooe prnrlarUI or piracy In atocka and politics were al- I the 'e If OrtHii far furs-- aa then wast the Grand Canyon Aitsuna, where wa warn to use to New Tork.
    [Show full text]
  • Lista Ofrecida Por Mashe De Forobeta. Visita Mi Blog Como Agradecimiento :P Y Pon E Me Gusta En Forobeta!
    Lista ofrecida por mashe de forobeta. Visita mi blog como agradecimiento :P Y pon e Me Gusta en Forobeta! http://mashet.com/ Seguime en Twitter si queres tambien y avisame que sos de Forobeta y voy a evalu ar si te sigo o no.. >>@mashet NO ABUSEN Y SIGAN LOS CONSEJOS DEL THREAD! http://blog.newsarama.com/2009/04/09/supernaturalcrimefightinghasanewname anditssolomonstone/ http://htmlgiant.com/?p=7408 http://mootools.net/blog/2009/04/01/anewnameformootools/ http://freemovement.wordpress.com/2009/02/11/rlctochangename/ http://www.mattheaton.com/?p=14 http://www.webhostingsearch.com/blog/noavailabledomainnames068 http://findportablesolarpower.com/updatesandnews/worldresponsesearthhour2009 / http://www.neuescurriculum.org/nc/?p=12 http://www.ybointeractive.com/blog/2008/09/18/thewrongwaytochooseadomain name/ http://www.marcozehe.de/2008/02/29/easyariatip1usingariarequired/ http://www.universetoday.com/2009/03/16/europesclimatesatellitefailstoleave pad/ http://blogs.sjr.com/editor/index.php/2009/03/27/touchinganerveresponsesto acolumn/ http://blog.privcom.gc.ca/index.php/2008/03/18/yourcreativejuicesrequired/ http://www.taiaiake.com/27 http://www.deadmilkmen.com/2007/08/24/leaveusaloan/ http://www.techgadgets.in/household/2007/06/roboamassagingchairresponsesto yourvoice/ http://blog.swishzone.com/?p=1095 http://www.lorenzogil.com/blog/2009/01/18/mappinginheritancetoardbmswithst ormandlazrdelegates/ http://www.venganza.org/about/openletter/responses/ http://www.middleclassforum.org/?p=405 http://flavio.castelli.name/qjson_qt_json_library http://www.razorit.com/designers_central/howtochooseadomainnameforapree
    [Show full text]
  • Brutalny Napad Brutalny Napad
    18 grudnia 2000 r, Nr 245 (15 387) Plebiscyty Wydanie O NAKŁAD : 44 125 z nagrodami Cena 80 gr • Dł a kogo Laur •• No.';n"~ ;+-'-~ Ukazuje się w Polsce - str. 22. południowo-wschodniej • Jutro lista kandydatów e-mail [email protected] do tytufu" Czlowiek TysIą cl ec ia " • Kto n aj ł e pszym sportowcem? www . nowi ny _ med ia. pł - str. 13. Redaktor prowadzący Finat plebiscy1lów Elżbieta Kolano GAZETA CODZIENNA I PONIEDZIAŁEK - coraz Milczenie kryje Co naprawdę Katarzyna Wójcicka maltretowanie stało się i Paweł Zygmunt , kobiet w grudniu mistrzami w rodzinach. 1970 r. wieloboju. na Wybrzeżu str. 21 str. 6 str. 14 Spotkali się internowani, więźniowie , politycy Nasza chata J u ż jutro wraz z ~ Nowinam iH IJdod~:;~r~~f. bezpłatny Więzienne I ~ N asza Chata", a w nim wiele praktycznych porad • nI.: klejenia tapet i samodzielnego uk ładania paneli rocznice podłogowych , Ponadto dowiesz się o zaletach BARTOSZ B ĄCA l dar n ośc i" za zryw narodowo­ marmuru i granitu ś ciowy . za umożliwieni e wp ro­ naturalnego oraz ZAŁIi:ł:E K . RZESZOWA. wadzeniu kapelanów do w i ę z i eń Sltucznego. L Wczoraj w Zakładzie Karnym - powiedzial ks . bp Edward spotkali się członkowie NSZZ B i a ł ogłow s ki . "Solidarność ". którzy trafili Podczas koncelebrowanej tam po ogłoszeniu stanu wo­ przez niego mszy św , przed­ jennego. Tego samego dnia stawiciele "S" z l ożyli w darze Wyrok na pijanych zakład obchodził 20-lecle ornat do po s ł ugi li turgicznej, funkcjonowania. Potem dzielono s ię opłatk i em , Karanie za j azdę po pijanemu spowoduje tłok w więz i e nia c h .
    [Show full text]
  • So They Understand
    Utah State University DigitalCommons@USU All USU Press Publications USU Press 2002 So They Understand William Schneider Follow this and additional works at: https://digitalcommons.usu.edu/usupress_pubs Part of the Indigenous Studies Commons Recommended Citation Schneider, W. S. (2002). So they understand: Cultural issues in oral history. Logan: Utah State University Press. This Book is brought to you for free and open access by the USU Press at DigitalCommons@USU. It has been accepted for inclusion in All USU Press Publications by an authorized administrator of DigitalCommons@USU. For more information, please contact [email protected]. Understand.book.v1 9/30/02 11:11 AM Page i . so they understand . Cultural Issues in Oral History Understand.book.v1 9/30/02 11:11 AM Page ii Photo by Karen Brewster, July, 1996. “In between the lines is something special going on in their minds, and that has got to be brought to light, so they understand just exactly what is said.” —Chief Peter John, June, 1999 Understand.book.v1 9/30/02 11:11 AM Page iii . so they understand . Cultural Issues in Oral History William Schneider Documentation, Representation, Preservation, and Interpretation Illustrated with Stories from South Africa, Alaska, and the Yukon Utah State University Press Logan, Utah Understand.book.v1 9/30/02 11:11 AM Page iv Copyright © 2002 William Schneider All Rights Reserved Utah State University Press Logan, Utah All royalties, after expenses, from the sale of this book will be donated to support the Alaska Native Studies Program at the University of Alaska Fairbanks. Cover design: Richard Howe.
    [Show full text]
  • Differing Effects of Standard and Harsh Nucleic Acid Extraction Procedures on Diagnostic Helminth Real-Time Pcrs Applied to Human Stool Samples
    pathogens Article Differing Effects of Standard and Harsh Nucleic Acid Extraction Procedures on Diagnostic Helminth Real-Time PCRs Applied to Human Stool Samples Tanja Hoffmann 1, Andreas Hahn 2 , Jaco J. Verweij 3 ,Gérard Leboulle 4, Olfert Landt 4, Christina Strube 5 , Simone Kann 6, Denise Dekker 7 , Jürgen May 7 , Hagen Frickmann 1,2,† and Ulrike Loderstädt 8,*,† 1 Department of Microbiology and Hospital Hygiene, Bundeswehr Hospital Hamburg, 20359 Hamburg, Germany; [email protected] (T.H.); [email protected] or [email protected] (H.F.) 2 Institute for Medical Microbiology, Virology and Hygiene, University Medicine Rostock, 18057 Rostock, Germany; [email protected] 3 Laboratory for Medical Microbiology and Immunology, Elisabeth Tweesteden Hospital, 5042 AD Tilburg, The Netherlands; [email protected] 4 TIB MOLBIOL, 12103 Berlin, Germany; [email protected] (G.L.); [email protected] (O.L.) 5 Institute for Parasitology, Centre for Infection Medicine, University of Veterinary Medicine Hannover, 30559 Hannover, Germany; [email protected] 6 Medical Mission Institute, 97074 Würzburg, Germany; [email protected] 7 Infectious Disease Epidemiology Department, Bernhard Nocht Institute for Tropical Medicine Hamburg, 20359 Hamburg, Germany; [email protected] (D.D.); [email protected] (J.M.) Citation: Hoffmann, T.; Hahn, A.; 8 Department of Hospital Hygiene & Infectious Diseases, University Medicine Göttingen, Verweij, J.J.; Leboulle, G.; Landt, O.; 37075 Göttingen, Germany Strube, C.; Kann, S.; Dekker, D.; * Correspondence: [email protected] May, J.; Frickmann, H.; et al. Differing † Hagen Frickmann and Ulrike Loderstädt contributed equally to this work. Effects of Standard and Harsh Nucleic Acid Extraction Procedures Abstract: This study aimed to assess standard and harsher nucleic acid extraction schemes for on Diagnostic Helminth Real-Time diagnostic helminth real-time PCR approaches from stool samples.
    [Show full text]
  • Optimizing Software in C++ an Optimization Guide for Windows, Linux and Mac Platforms
    1. Optimizing software in C++ An optimization guide for Windows, Linux and Mac platforms By Agner Fog. Copenhagen University College of Engineering. Copyright © 2004 - 2010. Last updated 2010-02-16. Contents 1 Introduction ....................................................................................................................... 3 1.1 The costs of optimizing ............................................................................................... 4 2 Choosing the optimal platform........................................................................................... 4 2.1 Choice of hardware platform....................................................................................... 4 2.2 Choice of microprocessor ........................................................................................... 6 2.3 Choice of operating system......................................................................................... 6 2.4 Choice of programming language ............................................................................... 7 2.5 Choice of compiler ...................................................................................................... 9 2.6 Choice of function libraries........................................................................................ 11 2.7 Choice of user interface framework........................................................................... 13 2.8 Overcoming the drawbacks of the C++ language...................................................... 14 3 Finding
    [Show full text]
  • Wtl Download
    Wtl download click here to download Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. I agree to receive these communications from. Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, Download Release Build WTL Final. WTL - released on [Download ZIP]. WTL - released on. WTL 10, , weekly downloads · WTL , , weekly downloads · WTL , , 47 47 weekly downloads · WTL , , 12 12 weekly downloads · WTL , , 18 18 weekly downloads · WTL , , 12 12 weekly downloads. The Windows Template Library (WTL) is a free software, object- oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add-on to Visual Studio and the Win32 Framework SDK. It was developed primarily as a. Free Download WTL Build - Library that can improve your development. wtl - Mirror of Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. This article shows an alternative, and simpler way of downloading and installing WTL.; Author: Petr Prikryl; Updated: 5 Apr ; Section: WTL; Chapter: Platforms, Frameworks & Libraries; Updated: 5 Apr Download Windows Template Library (WTL) - Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components.
    [Show full text]
  • Experiences with the Openmp Parallelization of DROPS, a Navier-Stokes Solver Written in C++
    Experiences with the OpenMP Parallelization of DROPS, a Navier-Stokes Solver written in C++ Christian Terboven1, Alexander Spiegel1, Dieter an Mey1, Sven Gross2, and Volker Reichelt2 1 Center for Computing and Communication, RWTH Aachen University, Germany {Terboven|Spiegel|anMey}@rz.rwth-aachen.de, WWW home page: http://www.rz.rwth-aachen.de 2 Institut f¨urGeometrie und Praktische Mathematik, RWTH Aachen University, Germany {Gross|Reichelt}@igpm.rwth-aachen.de, WWW home page: http://www.igpm.rwth-aachen.de Abstract. In order to speed-up the Navier-Stokes solver DROPS, which is developed at the IGPM (Institut f¨urGeometrie und Praktische Mathe- matik) at the RWTH Aachen University, the most compute intense parts have been tuned and parallelized using OpenMP. The combination of the employed template programming techniques of the C++ program- ming language and the OpenMP parallelization approach caused prob- lems with many C++ compilers, and the performance of the parallel version did not meet the expectations. 1 Introduction The Navier-Stokes solver DROPS [2] is developed at the IGPM (Institut f¨ur Geometrie und Praktische Mathematik) at the RWTH Aachen University, as part of an interdisciplinary project (SFB 540: Model-based Experimental Anal- ysis of Kinetic Phenomena in Fluid Multi-phase Reactive Systems [1]) where complicated flow phenomena are investigated. The object-oriented programming paradigm offers a high flexibility and el- egance of the program code facilitating development and investigation of nu- merical algorithms. Template programming techniques and the C++ Standard Template Library (STL) are heavily used. In cooperation with the Center for Computing and Communication of the RWTH Aachen University detailed runtime analysis of the code has been car- ried out and the computationally dominant program parts have been tuned and parallelized with OpenMP.
    [Show full text]
  • Parallelization of the C++ Navier-Stokes Solver DROPS with Openmp
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Juelich Shared Electronic Resources John von Neumann Institute for Computing Parallelization of the C++ Navier-Stokes Solver DROPS with OpenMP C. Terboven, A. Spiegel, D. an Mey, S. Gross, V. Reichelt published in Parallel Computing: Current & Future Issues of High-End Computing, Proceedings of the International Conference ParCo 2005, G.R. Joubert, W.E. Nagel, F.J. Peters, O. Plata, P. Tirado, E. Zapata (Editors), John von Neumann Institute for Computing, J¨ulich, NIC Series, Vol. 33, ISBN 3-00-017352-8, pp. 431-438, 2006. c 2006 by John von Neumann Institute for Computing Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise requires prior specific permission by the publisher mentioned above. http://www.fz-juelich.de/nic-series/volume33 4311 Parallelization of the C++ Navier-Stokes Solver DROPS with OpenMP Christian Terbovena, Alexander Spiegela, Dieter an Meya, Sven Grossb, Volker Reicheltb aCenter for Computing and Communication, RWTH Aachen University, 52074 Aachen, Germany bInstitut fur¨ Geometrie und Praktische Mathematik, RWTH Aachen University, 52056 Aachen, Germany 1. Introduction The Navier-Stokes solver DROPS [1] is developed at the IGPM (Institut fur¨ Geometrie und Prak- tische Mathematik) at the RWTH Aachen University, as part of an interdisciplinary project (SFB 540: Model-based Experimental Analysis of Kinetic Phenomena in Fluid Multi-phase Reactive Sys- tems [2]) where complicated flow phenomena are investigated.
    [Show full text]
  • Section 08 43 33 Folding Glass Storefronts
    NANAWALL SL73 GUIDE SPECIFICATION MONUMENTAL, THERMALLY BROKEN ALUMINUM FRAMED HURRICANE RATED FOLDING PANEL SYSTEM ©2020 Nana Wall Systems, Inc. SECTION 08 43 33 FOLDING GLASS STOREFRONTS SECTION 08 35 13 FOLDING GLASS DOORS NOTE: Modify footers to align when using this section name and number. PART 1 GENERAL 1.01 SUMMARY A. Section includes furnishing and installing a floor mounted track supported sliding-folding thermally broken aluminum-framed glass panel system that includes: 1. Aluminum frame 2. Threshold 3. Panels 4. Sliding-folding and locking hardware 5. Weather stripping 6. Glass and glazing 7. Insect screen (optional) 8. Accessories as required for a complete working installation B. Related Documents and Sections: Contractor to examine Contract Documents for requirements that directly affect or are affected by Work of this Section. A list of those Documents and Sections include, but is not limited to, the following: 1. Drawings and general provisions of the Contract, including General and Supplementary Conditions and Division 01 General Requirements, Specification Sections, apply to this Section 2. Section 06 10 00, Rough Carpentry: Wood framing R.O. and blocking 3. Section 06 20 00, Finish Carpentry 4. Section 07 27 00, Air Barriers: Building paper and building wrap 5. Section 07 62 00, Sheet Metal Flashing and Trim: Flashing gutters, and other sheet metal work 6. Section 07 90 00, Joint Protection 7. Section 08 42 23, Glass Entrance Swing Doors 8. Section 08 51 13, Aluminum Windows: NanaWall SL88, hurricane, tilt-turn, casement window 9. Section 09 22 16, Non-Structural Metal Framing: Metal framing R.O.
    [Show full text]