71 |
Using React Native and AWS Lambda for cross-platform development in a startupAndersson, Jonas January 2017 (has links)
When developing mobile applications, the tradition has been to write code specific (native) for each platform they are running on. Usually it’s about writing two separate applications for the biggest platforms, Android and iOS. There exist alternatives to this approach that uses the same code for different platforms. React Native is a relatively new cross-platform development framework that makes it possible to use the same code for application to Android and iOS. It also uses native UI-elements as a possible solution for performance issues that is often associated with cross-plattform development. This thesis evaluates React Native and compares it against native Android. The implementation is done by replicating the main functionality from a social media application written as a native Android application. However, the application is not made as an exact replica since that could limit the solutions in React Native. The evaluation is done in a Startup company and therefore focuses on aspects important in a Startup. Another issue when developing a mobile application is what type of backend that shall be used. Performance, scalability and complexity are all important aspects when choosing a framework or language as a base for the backend architecture.There do exist theoretical frameworks that could be used when building the backend. However, these frameworks require resources that are often missing in a Startup. AWS Lambda is a platform that claims to be a cost-effective way of building a scalable application. In this thesis AWS Lambda is evaluated to see if it can be used to create an automatically scaled backend for this type of social media application. The conclusion of the React Native evaluation is that it can be a suitable alternative to native Android development. If the team has previous experience in web development but lack experience in mobile application development it can be a wise choice since it removes the need to learn two frameworks in native Android and native iOS development. React Native is also good to fast create functional prototypes which can be shown to potential investors. The biggest drawback is performance in animations. However, there are often ways to work around that. In our case this drawback did not affect the user experience of the end application. The evaluation of AWS Lambda concludes that it is not for every project. In this thesis, the application was a bit too database heavy and therefore the autoscaling ability did not work properly. However, for a service that needs a lot of computing power, AWS Lambda could be a good fit. It could also be a suitable alternative if someone in the team has previous experience in the AWS environment.
|
72 |
Implementation and evaluation of sensoring a user's position with React NativeFalk, Daniel January 2017 (has links)
Today, there are many different ways to handle physical access control. RFID cards and tags are still a major solution but during the last years the market have been focusing on taking advantage of the devices that most people always carry with them, such as smartphones, tablets or smartwatches. This thesis has been carried out together with the company BRP Systems. They develop and deliver business systems to mainly the fitness business. In their product suite there is an application for booking workout sessions at these facilities. In this thesis their booking application has been rebuilt as a prototype and the functionality of unlocking the door and checking into workout sessions has been added. The application has been developed in React Native for Android and has been implemented in three versions using different techniques to sensor the users position at the door. The techniques are iBeacon, GPS and QR code. The iBeacon- and GPS versions work by allowing the user to unlock the door when standing outside it. A local notification will be pushed if the application is in the background. The QR code version allows the user to scan a QR code at the door to unlock it. When the door has been unlocked the users can also check into their booked workout sessions. The system and the different versions have been tested at one of BRP Systems customers to evaluate the usability. The conclusion is that an application with high usability can be built with all tested techniques in React Native. For the system to be used several other factors such as security and maintenance has to be considered. The choice to use React Native might be of high risk since it is a relatively new framework relying on community developed libraries.
|
73 |
Utveckling av plattformsoberoende fristående applikationer med webbteknologiWikman, Per January 2016 (has links)
Målet med det här projektet är att undersöka möjligheten att utveckla plattformsoberoende fristående applikationer med webbutvecklingsverktyg i ramverket Electron samt hitta skillnader i andra utvecklingsmetoder som Java och Swing eller C++ och Qt genom att vidareutveckla en existerande applikation kallad Electra. Electra är ett verktyg utvecklat för företaget Bitsmith AB som underlättar hanteringen, läsningen och uppladdningen av färdskrivardata till deras webbtjänst. Bitsmith ville undersöka möjligheten att utveckla plattformsoberoende applikationer med Electron. En lösning på det problemet leder till att företaget kan ge ut en applikation som når kunder som inte nödvändigtvis använder Windows i deras IT-miljö som endast har en kodbas. Electron drivs av Node.js för programlogik och Chromium för rendering av webbsidor som gränssnitt. Applikationen utvecklas därför med språken JavaScript, HTML och CSS. Andra moderna hjälpbibliotek skrivna i JavaScript som React för komponentbaserade gränssnitt och Redux för tillståndshantering används för att snabba upp utvecklingen och göra applikationen mer robust. Testdriven utveckling används för att visa att applikationen fungerar likvärdigt på moderna versioner av Windows, Mac och Linux. Enhetstesterna testar applikationens förmåga att hantera tillstånd, kontrollera att komponenter ritas ut och fungerar korrekt och att kontrollera så att övriga system fungerar enligt förväntan så långt det är möjligt. Resultatet av enhetstesterna visar att det är möjligt att utveckla en applikation som fungerar likvärdigt på moderna versioner av Windows, Mac och Linux. Jämfört med andra utvecklingsmetoder är det enkelt att komma igång med att utveckla i Electron då det använder sig av språk och metoder som är enklare än exempelvis utveckling i C++ då utvecklingen sker på en högre nivå med JavaScript, HTML och CSS. Dessa språk används redan av många och det är möjligt att föra över kunskapen man redan har till applikationsutveckling. De som redan har erfarenhet av webbutveckling kan enkelt skapa plattformsoberoende fristående applikationer. Metoden och verktygen som har använts i det här projektet kan även appliceras i andra applikationsprojekt.
|
74 |
Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization SoftwareEskilson, Klas January 2017 (has links)
In this report, the development and implementation of a desktop user interface framework is presented. It is built using web technologies and the Javascript framework React together with a web socket server to render the graphical user interface in an OpenGL environment. This is done by using the open-source framework Chromium Embedded Framework (CEF). The resulting framework and implementation has proven successful, with promising results both from a performance perspective and from a development rapidness perspective.
|
75 |
Diagnostic tool for React Native : Reporting application stateNordström, Mikael January 2017 (has links)
The first step of debugging a deployed application is to reproduce the reported bug. But bugs that cause unpredictable behaviors without crashing the applica- tion can be difficult to reproduce, because the developer has to rely on bug-re- ports issued by users. The goal of this thesis has been to develop a diagnostic tool which makes user-reported bugs easier to reproduce. More specifically, the goal has been to develop such a tool for React Native applications implement- ing Redux, taking into consideration both state-data stored in Redux stores and React Native components. Requirements for the diagnostic tool were laid out and partitioned into proto- types that were implemented separately in iterations and then merged into the resulting tool. Requirements were also drawn for three sample applications to test and evaluate the tool, as well as a back-end to prove the tool's capability in uploading and downloading state-data from a server. The thesis resulted in a diagnostic tool that's imported into an already existing code-base as a third-party library, and which collects the complete state of the reported application instance and delivers it to the developer as a single JSON document. The tool can then inject the state-data into a fresh instance of the ap- plication to make it identical to the malfunctioning instance reported by the user; a process referred to as "reviving". Redux stores demonstrated state-over- write protection which complicates state-injection. A study was performed to compare the impact this difference has on performance. As expected, the study revealed that the diagnostic tool takes marginally longer to revive state-data in Redux stores for this reason.
|
76 |
A comparison of Ionic 2 versus React Native and Android in terms of performance, by comparing the performance of applicationsAsp, Filip January 2018 (has links)
Nowadays almost everyone has a smart phone. In addition, as more people use smart phones more applications are being developed for smart phones. Each operating system on the smart phone market has its own applications. Up until a few years ago, developers had to develop an exclusive application for each operating system in order to cover the whole market. A number of cross-platform frameworks have emerged. These frameworks enable developers to use one code base for every operating system. To be able to use most of the code for all platforms makes it easier to maintain and evolve the application. Two of the frameworks that allow cross-platform development are React Native and Ionic. The purpose and goal of the thesis is to evaluate if Ionic 2 is eligible to use as a cross-platform framework in terms of performance. The method used to achieve the goal is based on replication. An application made in React Native is replicated by using Ionic 2. The applications are then evaluated with focus on performance. The applications are evaluated using AndroidViewClient and Trepn profiler. AndriodViewClient is run outside of the OS of the Android device and can control the GUI of a device. AndroidViewClient is used to automate the tests. The metrics used for evaluating the performance are CPU load, memory usage, battery power usage, the size of the application and the size of the Android package kit. Trepn profiler is an application that is installed on the device. Trepn profiler has access to the hardware of the device and is therefore used to measure the first three mentioned metrics.
|
77 |
Využití frameworků Redux a React při vývoji webových aplikací / Využití frameworků Redux a React při vývoji webových aplikacíKolínek, David January 2017 (has links)
MVC architecture is one of the most known and used architecture for application development, for both web and desktop based application. New architecture evolved though thanks to the fast-growing industry and it brings new practices that are much more convenient to use. The main goal of this theses is to describe how Redux library, which is based on this new architecture, is used for application development. Redux is only a state management library, another library is needed for creating the user interface. It is possible to create the user interface from the scratch but it takes a lot of time and it is difficult to scale. React library is possibly the most favorite library for creating UI and it works well together with Redux. For these reasons, React was selected as the UI library that will be used in this thesis. While theoretical part of this thesis is focused on describing principles Redux and React libraries are based upon and the best practices for using these libraries, practical part is focused on using the theoretical knowledge in the real world, demonstrated on the web application for invoicing. Development of the invoicing system is described in a way that demonstrates to the reader how to approach web application development, what does it contain and where to start.
|
78 |
Reminiscence Computer Therapy for People with Dementia / Vývoj asistenční aplikace pro lidi s demencíČerný, Martin January 2016 (has links)
The aim of this diploma thesis is to implement a presentation layer for the Reminiscence Computer Therapy application. Reminiscence Therapy involves the discussion of the past memories and it is believed to help people with dementia to improve their well-being and sustain their memories. Computer Reminiscence Therapy involves technology in this therapy. The research introduces into Dementia and Reminiscence Therapy with and without using technologies. The application developed as part of this diploma thesis uses picture upload and speech recognition techniques for the memory input. This is used to support remembering of past memories and to increase discussion. The application can be used with or without the carer as well as with friends and family members. The six most important requirements on the developed application are the speech recognition, picture upload, asking questions about the previous recordings, asking questions about tagged friends, using old stories for discussion and presenting the statistics. The application was developed as a part of the competition made by AngelHack organization. Presentation, business and persistence layers of the application are discussed in this diploma thesis as well as user manual and persistence layer implementation of the requirements. The presentation layer was developed using React framework for JavaScript. Other libraries have to be used as well with the most important being Redux library for storing application state. This library affected the structure of the persistence layer.
|
79 |
Swiss Tournaments : Webbapplikation för att skapa och hantera turneringar med Swiss-formatetJonsson, Rickard January 2020 (has links)
The goal with this project has been to develop an application where a user can create and manage tournaments that uses the Swiss format. The application would consist of one display page that can be used to show the current state of the tournament for all the competitors, and one admin page where a user can update match results and generate a new round of matches. The application has been developed with Node.js on the server side and the JavaScript library React on the client side. All the React code is written in the modern way with functional components and the usage of React Hooks. The document based database MongoDB has been used for the application. Real time-updates has been implemented with the library Socket.IO The project has led to a well-functioning application where a user can create och manage a tournament and where all the updates are done in real time in a neat and smooth way. The creator of the tournament can share both the admin page and the display page to other people who want to see the tournament result by sharing the link to the specific tournament. / Målet med denna projektuppgift har varit att utveckla en applikation där användare kan skapa och hantera turneringar som använder sig av Swiss-formatet. Applikationen skulle bestå av dels en uppvisningssida som kan användas till att visa upp turneringens aktuella resultat för medtävlande och dels en administrationssida där en användare kan uppdatera matchresultat och generera en ny omgång matcher. Applikationen har utvecklats med Node.js till serversidan och JavaScript-biblioteket React på klientsidan. All React-kod är skriven med funktionskomponenter och React Hooks, vilket är det moderna sättet att utveckla i React på. Som databas till applikationen har en dokumentbaserad databas använts: MongoDB. Realtidsuppdateringarna har möjliggjorts med hjälp av biblioteket Socket.IO. Projektet har lett till en väl fungerande applikation där en användare kan skapa och hantera en turnering, och där alla uppdateringar sker i realtid på ett snyggt och smidigt sätt. Skaparen av turneringen kan dela med sig både administrationssidan och uppvisningssidan till andra personer som vill se turneringsresultaten genom att dela länken till den specifika turneringen.
|
80 |
Evaluation of the Blazor framework : A comparison between Blazor and ReactKöping, Oliver, Persson, Emil January 2021 (has links)
Blazor WebAssembly is a new framework that was released in May 2020 that makes it possible to build client-side web applications using C# instead of using JavaScript for its frontend. The most popular web frameworks today are JavaScript based frameworks. This study aims to find out if Blazor is a viable option to use for developing web applications and if it is a well-established framework compared to JavaScript frameworks. To evaluate Blazor, a comparison is performed between Blazor and React on six criteria. The criteria are lines of code, cyclomatic complexity, state management, debugging tools, community, and libraries. To answer the criteria two applications was developed, one in the React framework and one in the Blazor framework. Besides the two applications, literature was gathered to answer the criteria. The results from the comparison showed Blazor was a Viable option to use for the development of web applications and that it has become established as a framework when taken its age in to consideration.
|
Page generated in 0.028 seconds