Developing a Mobile Application Using Multiplatform Frameworks with a Native Output

Total Page:16

File Type:pdf, Size:1020Kb

Developing a Mobile Application Using Multiplatform Frameworks with a Native Output Masaryk University Faculty of Informatics Developing a mobile application using multiplatform frameworks with a native output Bachelor’s Thesis Filip Drgoň Brno, Fall 2017 Masaryk University Faculty of Informatics Developing a mobile application using multiplatform frameworks with a native output Bachelor’s Thesis Filip Drgoň Brno, Fall 2017 This is where a copy of the official signed thesis assignment and a copy ofthe Statement of an Author is located in the printed version of the document. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Filip Drgoň Advisor: RNDr. Jaroslav Škrabálek i Acknowledgement I would like to thank the supervisor of my bachelor’s thesis, RNDr. Jaroslav Škrabálek, for his helpful attitude, valuable insights, and his contribution to my thesis. iii Abstract The objective of this bachelor’s thesis is to research current available options in multiplatform application development, evaluate their qual- ities and shortcomings and present React Native as the currently best available solution. iv Keywords Multiplatform application, React Native, Android, iOS, Javascript, Xamarin, NativeScript, Native application, ... v Contents 1 Introduction 1 1.1 Thesis structure ........................2 2 A mobile application 3 2.1 Defining a mobile application .................3 2.2 Basic requirements of a mobile application ..........3 2.2.1 User interface requirements . .3 2.2.2 Cost-related requirements . .4 2.2.3 Further requirements . .6 2.3 Mobile application development types ............7 2.3.1 Native development . .8 2.3.2 Web development . .9 2.3.3 Hybrid development . 10 2.3.4 Comparison of different methods . 11 3 A multiplatform approach 13 3.1 Multiplatform development types .............. 13 3.2 A native multiplatform application .............. 14 3.2.1 Justifying the native multiplatform approach . 14 3.3 Most notable multiplatform frameworks ........... 14 3.3.1 Xamarin . 14 3.3.2 Ionic 2 . 16 3.3.3 NativeScript . 17 3.3.4 React Native . 18 3.4 A comparison ......................... 20 3.4.1 Developer’s perspective . 20 3.4.2 Pricing perspective . 22 3.4.3 User’s perspective . 23 3.4.4 Conclusion . 24 4 React Native – an in-depth look 25 4.1 JavaScript ........................... 25 4.1.1 About JavaScript . 25 4.1.2 A short look on history . 26 4.1.3 Advantages & shortcomings of JavaScript .... 28 4.1.4 Transpilers . 30 vii 4.2 React ............................. 30 4.2.1 JSX . 32 4.3 Under React Native’s hood .................. 34 5 A demonstrative application 37 5.1 Motivation & problem definition ............... 37 5.2 Analysis & structure design ................. 38 5.3 Implementation ........................ 41 5.3.1 Implementation structure . 43 5.3.2 User scenarios . 45 5.4 Results & What’s next .................... 47 6 Conclusion 49 Bibliography 51 viii List of Tables 2.1 Comparison of the application development methods 12 3.1 Comparing the frameworks from a developer’s perspective 21 3.2 Comparing the frameworks from a pricing perspective 22 3.3 Comparing the frameworks from a user’s perspective 23 ix List of Figures 2.1 Average application price on iOS store, June 2017[3] 5 2.2 Free and paid application distribution on iOS and Android, January 2017[4]. 6 2.3 Architectures of native, hybrid and web applications[5]. 8 3.1 Comparing traditional Xamarin and Xamarin.forms [9] 15 3.2 An example of TypeScript’s strong type enforcing 18 3.3 A schema of Hot Module Reloading in React Native 19 4.1 Netscape’s advocacy on JavaScript’s genesis[26]. 27 4.2 A schema depicting the sources behind JavaScript’s features[28]. 27 4.3 A simplified schema of React’s DOM Reconciliation[33] 31 4.4 A schema of the threading system React Native implements. 34 5.1 A schema of the proposed pricing regions for visitor parking in Brno[36]. 38 5.2 A proposed use case diagram of the resulting application. 39 5.3 A proposed deployment diagram of the resulting application. 40 5.4 A schema of the navigation structure in the resulting application 41 5.5 A screenshot depicting the project structure of the application. 44 5.6 Photographs of the sign in and sign up screens. 45 5.7 Photographs of the map screen and the modal for ticket purchase confirmation. 46 5.8 Screenshots of the settings screen, and the billing screen. 47 xi 1 Introduction Nowadays, smart devices are seeing a steady increase in market share worldwide, having surpassed desktop share only recently (in mid- October 2016) [1]. With this in mind, it is crucial to optimize services heavily both for desktop and smart device usage, as not doing so results in heavy repercussions [2]. While developing an application aimed at the public, it is important to consider developing multiple access points for the application, such as a web interface and native applications specifically for the most popular mobile platforms (namely Google Android and Apple iOS). Focusing on services targeted at mobile devices, these are mainly distributed utilizing either responsive web applications, or native mobile applications. To minimize the expenses and effort required for developing a native application, utilizing multiplatform development comes into play as a valid choice. The goal of this thesis is to present the current options in develop- ing an application utilizing multiplatform development, specifically focusing on tools for developing native applications, for both major platforms, seamlessly and concurrently. The thesis takes into evalu- ation the reusability of code blocks and components for ease-of-use and comfortable development process, resulting in faster, cheaper and easier development process. 1 1. Introduction 1.1 Thesis structure In its first part, the thesis focuses on defining a mobile application & its basic requirements, and comparing different approaches to mobile application development, including their advantages and detrimental effects. In the second part, the thesis aims at establishing a definition of multiplatform mobile application development. Furthermore, the the- sis discusses the multiplatform development types & multiplatform framework types. In the end, a profound comparison of several multi- platform frameworks is made, concluding which one would be best suited for modern multiplatform development. In the next part, the focus of the thesis is to provide an in-depth look on React Native and the technologies utilized with React Native. The thesis further discusses in detail their functionality, advantages, shortcomings and the reasoning behind choosing the technologies for the practical application. Finally, the thesis presents a demonstrative application written in React Native, with the motivation & problem definition, an analy- sis with a structure design, and an implementation showcase with photographs and use cases of the application. An evaluation of the development process is made, with a discussion on possible directions the resulting application could evolve into. 2 2 A mobile application This chapter is focused on defining the term mobile application and discussing the basic needs for developing a mobile application. It will also introduce the different approaches in mobile application develop- ment, and the conveniences and imperfections of each development approach. 2.1 Defining a mobile application The term mobile application is understood to be a type of executable software designed to run on a mobile device, e.g. a smartphone, or a tablet. Mobile applications were generally considered to be small, in- dividual software units with limited functionality. Nowadays, mobile applications are functionally-wise comparative to applications for per- sonal computers. Unlike applications for personal computers, mobile applications are typically obtained from a corresponding application store. 2.2 Basic requirements of a mobile application Depending on the use case, an application’s requirements may dif- fer heavily, with the difference mainly being the required system re- sources & the device’s special functions. 2.2.1 User interface requirements A basic requirement for a mobile application is to be easily usable. An average PC is usually controlled using a keyboard and a mouse, in comparison to an average smart device, which is typically controlled using solely a touch screen spanning only several inches. An over- whelming majority of these devices is controlled using a finger, with the – formerly popular – stylus now being a disfavoured option. The limited screen size of a smart device is the main reason behind the user interface requirements – the control elements need to be suf- ficiently sized, allow for easy usage on a small-diameter device, and be reasonably placed. This would mean that the application’s user 3 2. A mobile application interface needs to conform to the platform specific Human Interface Guidelines1, using native components wherever possible – for exam- ple, a native touch keyboard, native icon set or a native menu. The reasoning behind this requirement is that users are generally already used to using these components, so if they are identical across several applications, the usage of the application feels less confusing. 2.2.2 Cost-related requirements A mobile application developer also has to consider the economic side of developing a mobile application. Financially-wise, mobile appli- cation development has a few characteristics divergent from web or personal computer development. Beneficial to the developer, several platforms limit the ways an application can be distributed – iOS or Windows Phone commonly allow installing an application only through the official store of the platform’s manufacturer2. In effect, it is much harder to obtain an illegal copy of an application as compared to a personal computer. On the other hand, it is typical to pay considerably more for a personal computer application than for a mobile application. This requires the developer to either be capable of selling a great amount of copies3, or use a different monetization method.
Recommended publications
  • Npm Packages As Ingredients: a Recipe-Based Approach
    npm Packages as Ingredients: a Recipe-based Approach Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Napoleon-Christos Oikonomou, and Andreas L. Symeonidis Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki, Thessaloniki, Greece fkyrcha, mpapamic, thdiaman, [email protected], [email protected] Keywords: Dependency Networks, Software Reuse, JavaScript, npm, node. Abstract: The sharing and growth of open source software packages in the npm JavaScript (JS) ecosystem has been exponential, not only in numbers but also in terms of interconnectivity, to the extend that often the size of de- pendencies has become more than the size of the written code. This reuse-oriented paradigm, often attributed to the lack of a standard library in node and/or in the micropackaging culture of the ecosystem, yields interest- ing insights on the way developers build their packages. In this work we view the dependency network of the npm ecosystem from a “culinary” perspective. We assume that dependencies are the ingredients in a recipe, which corresponds to the produced software package. We employ network analysis and information retrieval techniques in order to capture the dependencies that tend to co-occur in the development of npm packages and identify the communities that have been evolved as the main drivers for npm’s exponential growth. 1 INTRODUCTION Given that dependencies and reusability have be- come very important in today’s software develop- The popularity of JS is constantly increasing, and ment process, npm registry has become a “must” along is increasing the popularity of frameworks for place for developers to share packages, defining code building server (e.g.
    [Show full text]
  • Nativescript Layout Widgets
    CS132 Lecture 37: Nobbles Lecture 21 Mobile Applications I 3/4/2020 1 Lecture 1: Course Introduction Web Application Architecture Front End HTTP Web Browser Database Back End Server Front End Web Server Mobile Platform 3/4/2020 2 CS132 Lecture 37: Nobbles Structure of a Web Application JavaScript Event Handling Events AJAX URLs HTML/CSS Back End HTML pages Browser 3/4/2020 3 CS132 Lecture 37: Nobbles Structure of a Mobile Application Native Event Handler Events AJAX Display Page Back End Handler Operating System 3/4/2020 4 CS132 Lecture 37: Nobbles Web and Mobile Differences HTML Front End JavaScript Native Event Handler Event Handler Operating Browser System URL Requests Page Handler 3/5/2020 5 CS132 Lecture 37: Nobbles Mobile Front Ends • Widget-Based o Hierarchy of widgets replaces HTML hierarchy o Text is in label widgets o Widgets exist for buttons, inputs, etc. ▪ Corresponding to HTML form elements o Layout is done using layout widgets ▪ These control how their contents are displayed • Widget Properties control formatting and display • Widgets can be created and nested directly • There is a language for defining widget hierarchies o Generally XML-based static description o Differs on the different platforms HTML Front End 3/5/2020 6 CS132 Lecture 37: Nobbles Mobile Event Handling • The actual code is event-based o Wait for event o Act on the event by starting action that yields new events • Events are similar to those of the browser o Based on user actions o Based on external events (timers, input ready, …) o But not quite the same
    [Show full text]
  • Choosing the Right Javascript Framework for Your Next Web
    Choosing the Right JavaScript Framework for Your Next Web Application by Brandon Satrom © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. 2018 WHITEPAPER Table of Contents The Current State of Web Frameworks / 3 Tooling Considerations / 22 Evaluation Criteria / 5 UI & Component Libraries / 22 Ecosystem Considerations / 7 IDE & Tooling Support / 23 History & Longevity / 7 Companion & CLI Tools / 24 Popularity / 9 Enterprise Considerations / 26 Corporate Support / 11 Licensing / 26 Community & Ecosystem / 12 Support & Upgrade Paths / 27 Framework Considerations / 13 Security / 29 Getting Started Experience / 13 Talent Pool & Resources / 30 Skill Requirements / 15 Making a Choice / 33 Completeness of Offering / 17 Size & Performance / 18 Beyond the Browser Options / 21 © 2018 Progress. All Rights Reserved. All Rights © 2018 Progress. Progress / Kendo UI 2 The state of web application development has changed drastically in the past ten years. These changes have been spurred on by greater bandwidth for many, more powerful and feature-rich browsers. The result is a thriving web ecosystem with sites, apps and experiences that would have been hard to imagine a decade ago. And yet, for many developers, this ecosystem often feels like a bazaar, stuffed with libraries and frameworks that do anything and everything one could imagine. For every need there are a dozen options to choose from, and with new stalls (libraries) opening every day, it’s no wonder many of us pine for the days when starting a new project was as simple as dropping jQuery in a script tag. The Current State of Web Frameworks There’s no doubt that the web has grown in complexity, and our development tooling options have grown along with it.
    [Show full text]
  • Crossmos Hybrid Mobile Web-Apps & Sencha Platform
    Crossmos Hybrid Mobile Web-apps & Sencha Platform Ruben Smeets Kris Aerts 17/06/2015 Agenda • Hybrid App Technology o Hybrid vs Native vs Web o Patterns o Web portion architecture o Common pitfalls and best practices • Choosing a hybrid app approach • Latest developments • Sencha platform hands-on experience Low Ranking Hybrid vs Native vs Web High Ranking Native apps Hybrid apps Web apps Through native app Search on referrals Ease of discovery stores (Facebook, twitter, etc.) Fragmented across Reach Works on almost all devices multiple platorms Access to Depth of Full acces to platform native API at Limited by browser experience resources the expense of sandbox UI Customer Apple Appstore Complete ownership of ownership & terms enforce onerous terms customer Engagement and Notifications and home No notifications, difficult to recurring use screen icon get user to save the link No accepted method of Monetisation High through payment (Chrome web- potential Appstores store) Ease of cross- Replication developing Significant fragmentation platform for multiple platforms for advanced apps development VisionMobile Cross-Platform Developer Tools 2012 Hybrid vs Native vs Web Low Ranking Continued High Ranking Native apps Hybrid apps Web apps Web content Upgradebility & Through native app updates require No approval needed updates stores ** no approval Debugging & Full support by native Browser debugging tools testing development tools automated testing tools Vendor lock-in No code sharing Limited to no code sharing (framework) between platforms between frameworks Cloud-based Multi-platform Local build for each build tools No cross-platform building build support platform seperately offered by required frameworks **Enterprise app stores require no update approval.
    [Show full text]
  • Planning an Angular Application, from Tooling Choices During Development All the Way Through to Deployment and Performance Strategies
    Planning an Angular Application By Todd Motto © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. WHITEPAPER Table of Contents Project Management / 3 Accessibility, i18n and Environments / 5 Development Process Methodology / 6 Tooling and Development / 6 Testing Methodologies / 11 Codebase Distribution Strategies. / 12 Mobile and Desktop / 13 Style Guide, Architecture and State Management / 16 Backend API / 18 Performance Strategies / 19 © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. Progress / KendoUI 2 Planning an Angular (version 2 and above) application is something you may have already done, or will be soon attempting. This whitepaper documents a high-level outline of things to consider when planning an Angular application, from tooling choices during development all the way through to deployment and performance strategies. There’s certainly a lot more to it than meets the initial eye. Project Management Before you get started, you need to consider how you’re going to get the ball rolling - and keep it rolling. This usually starts with project management and discussing and agreeing upon particular toolchains to accomplish your next application. © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. Progress / KendoUI 3 Software Management Tools To manage the development of the front-end application, you’ll minimally need to select the Software management tools Examples following software management tools to manage code, assets, and team members’ tasks: Issues and feature tracker GitHub, BitBucket, JIRA Ensure that you and your team adopt the tools Version control system GitHub, BitBucket you choose, and frequently assess and improve Document/asset storage Slack, internal network storage, cloud your workflow.
    [Show full text]
  • Building Native Mobile Apps with Angular 2.0 and Nativescript
    Web and Mobile Code Sharing with Angular and NativeScript @sebawita Sebastian Witalec Developer Advocate @Progress @sebawita NativeScript is… an open source framework for building truly native mobile apps with JavaScript. Use web skills, like TypeScript, Angular, Vue and CSS, and get native UI and performance on iOS and Android. “The goal” 聾 Android iOS Web + = + = Architecture Angular Architecture Helping with code sharing Data Binding {{value}} Template < > Component [property] = “value” Property Metadat Event Native Binding Binding \ a (event) = ”handler” Compone Dom nt [(ng-model)] = { } “property” Renderer Renederer Compone Dom nt createElement Element { } setElementPropert y attachViewAfter Template < > invokeElementMeth od … Renderer NativeScript Renederer Compone Mobile nt createElement Element UI Layer { } setElementPropert y attachViewAfter Template < > invokeElementMeth od … Component export class MyComponent { name = 'Sebastian'; twitter = '@sebawita'; sayHelloTo(name) { alert(’Hi ' + name); } } Template <div> name: {{ name }} twitter: {{ twitter }} <button (click)="sayHelloTo('web')">Hello Web</button> </div> <StackLayout> <label [text]=“'name' + name”></label> <label [text]=“'twitter ' + twitter ”></label> <button (tap)="sayHelloTo('mobile')">Hello Mobile</button> </StackLayout > Dependency Injection Http Http call ≠ Http call HttpClientModule import { HttpClientModule } from '@angular/common/http'; @NgModule({ imports: [ HttpClientModule, … ] NativeScriptHttpClientModule import { NativeScriptHttpClientModule } from
    [Show full text]
  • Using SAP Cloud Platform Mobile Service, Mobile Development Kit Company
    PUBLIC Document Version: 1.0 – 2018-11-14 Using SAP Cloud Platform Mobile Service, mobile development kit company. All rights reserved. All rights company. affiliate THE BEST RUN 2018 SAP SE or an SAP SE or an SAP SAP 2018 © Content 1 Developing Apps Using the Mobile Development Kit..................................4 2 Language Support........................................................... 7 3 Administrator Guide..........................................................8 3.1 Getting Started.............................................................. 8 3.2 Creating MDK Apps on SAP Cloud Platform Mobile Service for Development and Operations........9 3.3 Setting Up App Security....................................................... 10 3.4 Setting Up SAP Web IDE Full-Stack to Work with Mobile Development Kit.....................10 Creating Destination for Mobile Services in Neo Environment...........................11 Creating Destination for Mobile Services in Cloud Foundry Environment...................12 3.5 Managing Your App Life Cycle with App Update .......................................13 3.6 Building your MDK Client SDK................................................... 14 3.7 Branding Your Customized App.................................................. 16 4 Business Process Expert Guide................................................ 24 4.1 Setting Up the Editor in SAP Web IDE Full-Stack.......................................24 4.2 Importing App Metadata into the Editor............................................ 25 4.3
    [Show full text]
  • Ebook Download Iphone Open Application Development
    IPHONE OPEN APPLICATION DEVELOPMENT : WRITE NATIVE APPLICATIONS USING THE OPEN SOURCE TOOL CHAIN PDF, EPUB, EBOOK Jonathan Zdziarski | 268 pages | 06 Nov 2008 | OReilly Media, Inc, USA | 9780596155193 | English | Sebastopol, United States IPhone Open Application Development : Write Native Applications Using the Open Source Tool Chain PDF Book All explained in many small and easy to understand examples. Skip to content. Analytical cookies do not include data that can be traced back to individual persons. You can even search in youtube and will find video tutorials on how to break the chains of your phone. AmyraSheldon Amyra Sheldon I am a passionate tech writer. This article helped me a lot. These include unlimited email support, knowledge base resources, online training and tutorials, exclusive webinars, and a customer on-boarding program. Since you specify that you want your app to end up on the App Store, then, no, there's not really any way to do this. In the next post we will try to install tool-chain on Windows XP box. Business growth : our iOS application development team helps define the best business model for the application, integrate the payment solution, and carry out the purchase. Corona uses lightweight yet powerful Lua scripting language that has been used in Angry Birds, Warcraft, etc. Failed to load latest commit information. Active 8 years, 11 months ago. But do not rush to choose any framework just by its popularity and ratings. In this new edition of iPhone Open Application Development, author Jonathan Zdziarski covers the latest version of the open toolkit -- now updated for Apple's iPhone 2.
    [Show full text]
  • Learn-Nativescript.Pdf
    NativeScript Open-source framework for building truly native mobile apps with Angular, TypeScript or JavaScript. TJ VanToll � @tjvantoll NativeScript is the best tool for cross-platform native app development � Agenda • Slides! • ~20 minutes • Coding! • ~30 minutes • Questions! • Whatever time we have left Me at PhoneGap Day 2014 http://developer.telerik.com/featured/the-state-of-hybrid-mobile-development/ “We are facing a slow touch reaction while scrolling” “I've noticed very slow/jaggy/flickering scrolling on Android. The framerate is low, and the scroll effect is far from smooth.” “if there is solution to get native speed then i will be using app builder again otherwise will move to native” “appbuilder only produces a bastard child of an app. slow, and tacky . Its just not a good idea at all. Having said that it is actually what i am using for my next app. This is because every other alternative is just as bad.” Early “Core” Public Adoption Mass prototypes engineering launch ramp-up adoption 2013 2014 2015 2016 2017 Project Timeline https://npm- stat.com/charts.html?package=nativescript&from= 2016-01-31&to=2017-01-31 NativeScript is… A free and open source framework for building truly native mobile apps with JavaScript. Use web skills, like TypeScript, Angular and CSS, and get native UI and performance on iOS and Android. NativeScript is the best tool for cross-platform native app development � 5 reasons 1 Search for Rich, animated, “Examples NativeScript” “no compromise” in the iOS App Store or Google Play to try this out for yourself.
    [Show full text]
  • How to Share Code Between Web and Nativescript
    NGULAR how to share code between web and NativeScript Marian Edu, Acorn IT About me Working with Progress since 1998 4GL & OO, AppServer Architecture & Integration Java, .NET node.js, javascript, typescript angular, nativescript Angular – code share acorn.ro 4GL Application Angular – code share acorn.ro WEB Enable Angular – code share acorn.ro NGULAR • Use modern web platform capabilities to deliver app- like experiences. • High performance, offline, and zero-step installation. • Quickly create UI views with simple and powerful template syntax. • Angular CLI • TypeScript • angular.io Angular – code share acorn.ro NATIVESCRIPT • Beautiful, accessible, platform-native UI - without WebViews. • Native mobile apps for iOS and Android from a single codebase. • 100% direct access to all iOS and Android APIs. • JavaScript, CSS, and Native UI mark-up. • Angular & TypeScript • nativescript.io Angular – code share acorn.ro Angular Puzzle Angular – code share acorn.ro To Share or Not To Share Services Utilities Components Modules Angular – code share acorn.ro Services • For data or logic that isn't associated with a specific view, and that you want to share across components, you create a service class. • @Injectable() decorator. • Dependency injection (DI) • Providers • providedIn - @Injectable • providers - @NgModule, @Component Angular – code share acorn.ro Services • Singletons – within an injector scope. • Injectors • root – ‘real’ singletons • Module(s) • Components • Hierarchy / Inheritance • Dependencies – circular is bad. > ng generate service
    [Show full text]
  • Angular 5 Vs
    Layout: Titelfolie Einsatz: Für den Titel einer Präsentation Inhalt: Haupttitel, Untertitel, Referent Tipps: / Angular 5 vs. React When to Choose Which? Stephan Rauh Dr. Marius Hofmeister OPITZ CONSULTING Deutschland GmbH © OPITZ CONSULTING 2017 Hinweis MKTG: © OPITZ CONSULTING 2017 Die Jahreszahl muss hier und auf der Toplevel Masterfolie OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 ggf. pro Jahr angepasst werden! Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl. Setting the Stage https://upload.wikimedia.org/wikipedia/commons/5/52/Summer_Solstice_Sunrise_over_Stonehenge_2005.jpg © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 2 OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Seite 2 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich too What People Say About Angular enterprisy great two-way tooling update binding hell considered opinionated bad complicated great Angular is But it's productivity slow TypeScript! dependency injection is broken mediocre Angular is dependency productivity fast hell © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 3 OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich limited What People Say About React.js editor support great tooling fast unidirectional data flow flexible small easy to footprint learn great It's simple productivity requires JavaScript! I can use TDD any library I want mediocre integrates difficult to productivity everywhere set up © OPITZ CONSULTING 2017 Angular vs.
    [Show full text]
  • Towards Left Duff S Mdbg Holt Winters Gai Incl Tax Drupal Fapi Icici
    jimportneoneo_clienterrorentitynotfoundrelatedtonoeneo_j_sdn neo_j_traversalcyperneo_jclientpy_neo_neo_jneo_jphpgraphesrelsjshelltraverserwritebatchtransactioneventhandlerbatchinsertereverymangraphenedbgraphdatabaseserviceneo_j_communityjconfigurationjserverstartnodenotintransactionexceptionrest_graphdbneographytransactionfailureexceptionrelationshipentityneo_j_ogmsdnwrappingneoserverbootstrappergraphrepositoryneo_j_graphdbnodeentityembeddedgraphdatabaseneo_jtemplate neo_j_spatialcypher_neo_jneo_j_cyphercypher_querynoe_jcypherneo_jrestclientpy_neoallshortestpathscypher_querieslinkuriousneoclipseexecutionresultbatch_importerwebadmingraphdatabasetimetreegraphawarerelatedtoviacypherqueryrecorelationshiptypespringrestgraphdatabaseflockdbneomodelneo_j_rbshortpathpersistable withindistancegraphdbneo_jneo_j_webadminmiddle_ground_betweenanormcypher materialised handaling hinted finds_nothingbulbsbulbflowrexprorexster cayleygremlintitandborient_dbaurelius tinkerpoptitan_cassandratitan_graph_dbtitan_graphorientdbtitan rexter enough_ram arangotinkerpop_gremlinpyorientlinkset arangodb_graphfoxxodocumentarangodborientjssails_orientdborientgraphexectedbaasbox spark_javarddrddsunpersist asigned aql fetchplanoriento bsonobjectpyspark_rddrddmatrixfactorizationmodelresultiterablemlibpushdownlineage transforamtionspark_rddpairrddreducebykeymappartitionstakeorderedrowmatrixpair_rddblockmanagerlinearregressionwithsgddstreamsencouter fieldtypes spark_dataframejavarddgroupbykeyorg_apache_spark_rddlabeledpointdatabricksaggregatebykeyjavasparkcontextsaveastextfilejavapairdstreamcombinebykeysparkcontext_textfilejavadstreammappartitionswithindexupdatestatebykeyreducebykeyandwindowrepartitioning
    [Show full text]