1 |
Express.js and Ktor web serverperformance : A comparative studyGlantz, Isac, Hurtig, Hampus January 2022 (has links)
As more and more companies use the internet to grow their businesses and sales, it is crucial to have a fast and responsive site that keeps customers on the site. Hence, comparing two web frameworks with respect to response time is vital, as it is a significant part of delivering the page. The comparison will help developers to choose between Express.js and Ktor. Our research shows how the two frameworks, Ktor and Express.js, compare in response times for static and dynamic pages for a set of concurrent users. The comparison will explain how the frameworks’ response times change when having a different number of concurrent users and delivering static vs. dynamic content. An experiment with Locust was conducted to obtain the data needed to show the differences in response time for the two frameworks. Additionally, a literature study was conducted to find the best way to structure the servers, design the tests, and find information on how the frameworks should perform. We found that Express.js has an overall better response time than Ktor. At the same time, it was found that the Object Relational Mapper used with Ktor affected result more than the Object Relational Mapper used with Express.js. Hence, we conclude that Express.js is the better choice, but since both frameworks had low response times, we would say that even Ktor is a valid choice.
|
2 |
UI Performance Comparison of Jetpack Compose and XML in Native Android Applications / UI-Prestanda jämförelse mellan Jetpack Compose och XML inom Nativa Android ApplikationerNoori, Zaed, Eriksson, Caesar January 2023 (has links)
This thesis explores the differences in UI performance between Jetpack Compose, a modern declarative UI toolkit, and traditional XML in the context of UI design for native Android applications. The aim is to provide developers with insights into the potential tradeoffs associated with each approach, particularly in terms of the end user experience. In order to achieve this, a series of benchmark tests were conducted on two prototype applications: one developed with XML and the other with Jetpack Compose, in order to evaluate the UI performance in various scenarios of real-world use cases. The data collected was subsequently analyzed and discussed, in order to evaluate which UI design approach delivers better performance for the end user. The test results indicate that Jetpack Compose and XML excel at different use cases. Jetpack Compose is demonstrated to have faster app startup time and rendering time for navigation and animation, whereas XML delivers smoother and faster rendering time when scrolling through a layout. Notably, Jetpack Compose has also shown an improvement in UI performance since previous works were conducted. / Den här studien utforskar skillnaden i användargränssnitt-prestanda mellan Jetpack Compose, ett modernt deklarativt användargränssnitt verktyg, och traditionell XML i kontexten av användargränssnitt design för nativa Android applikationer. Syftet är att förse utvecklare med insikter om de potentiella avvägningar som är förknippade med varje tillvägagångssätt, särskilt när det gäller slutanvändarupplevelsen. För att uppnå detta genomfördes en serie prestandatester på två prototyp applikationer: en utvecklad med XML och den andra med Jetpack Compose, för att utvärdera användargränssnitt-prestandan inom olika scenarier av verkliga användningsfall. Den insamlade datan analyserades och diskuterades sedan för att utvärdera vilken användargränssnitt-design metod som levererar bättre prestanda för slutanvändaren. Testresultaten indikerar att Jetpack Compose samt XML presterar bättre vid olika användningsfall. Jetpack Compose har visat sig ha snabbare applikations starttid och renderingstid för navigering och animering, medan XML ger smidigare och snabbare renderingstid vid skrollning genom en layout. Framför allt har Jetpack Compose dessutom visat en förbättring i användargränssnitt-prestanda sedan tidigare arbeten utfördes.
|
3 |
KtSpoon: Modelling Kotlin by extending Spoon’s Java Metamodel / KtSpoon: Modellering av Kotlin genom att utöka Spoons metamodell av JavaLundholm, Jesper January 2021 (has links)
Kotlin is a relatively new language that has received much attention since its first stable release in February 2016. Despite the fast growth of the language, there is a lack of libraries to provide an intuitive, typed abstract syntax tree (AST). Recognizing the utility of user-friendly ASTs with support for various analysis and transformation tasks, we make a first contribution towards bringing one for Kotlin with KtSpoon. Kotlin’s interoperability capabilities with Java enables exploitation of Java’s mature echo system and we propose the use of the Spoon library with its Java metamodel as a base for a model of Kotlin. We show the feasibility of this approach with KtSpoon, which is implemented through small additions to the Spoon metamodel. It consists of a tree builder that outputs a Spoon AST from Kotlin source code and a pretty-printer that prints it back to source code. Through an empirical study, we find out that KtSpoon accurately can represent the full Kotlin language. We conclude that while it is possible to model the Kotlin language with small modifications to the Spoon metamodel, it will likely require a partial reimplementation for it to be an intuitive model for developers. / Kotlin är ett relativt nytt språk som har fått mycket uppmärksamhet sedan dess första stabila version släpptes i Februari 2016. Trots att språket vuxit snabbt så saknar det fortfarande ett bibliotek som tillhandahåller ett intuitivt och typat abstrakt syntaxträd (AST). Nyttan av användarvänliga abstrakta syntaxträd motiverar oss att ta ett första steg mot att skapa ett sådant för Kotlin med KtSpoon. Kotlins interoperabilitet med Java möjliggör nyttjandet av Javas omfattande ekosystem och vi föreslår därför användandet av biblioteket Spoon och dess metamodell av Java som grund för en modell av Kotlin. Genom skapandet av KtSpoon visar vi att det är möjligt att modellera kod skriven i Kotlin med små tillägg i Spoons metamodell. KtSpoon består av en trädbyggare som skapar ett AST från källkod skriven i Kotlin samt en skrivare som skriver tillbaka det till källkod. Genom en empirisk studie finner vi att det är möjligt att modellera hela språket Kotlin med små förändringar av Spoons metamodell, men att det sannolikt krävs en ny implementation av modellen för att den ska vara intuitiv för utvecklare att använda sig av.
|
4 |
Trådlös strömning av media : implementerat i en androidmiljö / Wireless media transmission : implemented in an Android environmentManninen, Jimmy, Larsson, Sebastian January 2020 (has links)
Detta arbete förklarar funktionaliteten bakom Google Cast-teknologi och ger en inblick i de komponenter som krävs för att utveckla en media-applikation i Androidmiljö med stöd för Google Cast. Google Cast-teknologin tillåter media-användare att fjärrspela angiven media mot en så kallad Chromecast-mottagare. Median kan strömmas från en annan enhet som kan vara en telefon, dator eller surfplatta. Projektet tillhandahölls av företaget BookBeat vars kunder under en längre tid önskat stöd för Google Cast i företagets Androidapplikation. Målet med projektet var att utveckla en radioapplikation i en Androidmiljö, med stöd för Google Cast. Syftet med målet var att förstå hur konceptet fungerar och att utforma en exempelapplikation som BookBeat skulle kunna använda som referens i deras framtida implementation av Google Cast. Målet blev uppfyllt och förhoppningen är att exemplet kan komma att användas av BookBeat. / The purpose of this essay is to explain the functionality behind the Google Cast technology and give insight into the different components that a media application in an Android environment with Google Cast support requires. Google Cast technology allows media consumers to remotely play arbitrary media against a so-called Chromecast receiver, from a different device, which can be a phone, computer, or surf pad. The company BookBeat assigned the project, whose customers have been asking for Google Cast support in the companies Android application for a while. The goal of the project was to develop a radio application in an Android environment with Google Cast support. The purpose of the goal was to gain insight into how the concept worked and to develop an example application that BookBeat would be able to use as a reference in their future implementation of Google Cast. The goal was achieved, and the hope is that this example will be of use for BookBeat.
|
5 |
Användning av högnivåspråket Swift i webbläsaren och i Android : En studie på möjligheterna att återanvända högnivåspråket Swift utanför iOS i andra plattformar som webbläsare och Android / Using the high-level language Swift in the browser and on Android : A study on the possibilities of reusing the high-level language Swift outside of iOS in other platforms such as browsers and AndroidAlbaloua, Mark, Kizilkaya, Kenan January 2023 (has links)
Syftet med detta arbete var att undersöka möjligheterna att använda högnivåspråket Swift utanför iOS i webbläsaren och i Android. Detta för att minska mängden kod som skrivs och därmed minska utvecklingstiden för att skapa applikationer för iOS, webbläsaren samt Android. För att hitta lämpliga verktyg som löser frågeställningen har en undersökning av tidigare arbeten och metoder gjorts. Resultatet från undersökningen ledde till användningen av ramverket Tokamak tillsammans med WebAssembly för att återanvända Swift i webbläsaren och verktyget SwiftKotlin för att återanvända Swift i Android. En applikation med designmönstret Model-View-ViewModel (MVVM) skapades i avsikt att testa återanvändbarheten. Resultatet visade att Tokamak tillsammans med WebAssembly möjliggör återanvändning av ursprungliga koden för iOS-applikationen komplett förutom plattformsspecifika funktioner som lokalt sparande och nätverksanrop. SwiftKotlin möjliggör återanvändning av modellklassen i applikationen med små justeringar, medan vymodell och vyklasserna behöver skrivas manuellt. / The purpose of this work was to study the possibilities of using the high-level language Swift outside of iOS in the browser and on Android. This is to reduce the amount of code written thus reducing development time to create applications for iOS, browser, and Android. To find suitable tools to solve the problem, a study on previous works and methods has been made. The results of the study led to the use of the framework Tokamak together with WebAssembly to reuse Swift in the browser and the tool SwiftKotlin to reuse Swift on Android. An application using the Model-View-ViewModel (MVVM) design pattern was created with the intention of testing reusability. The results showed that Tokamak with WebAssembly made it possible to use all the code from the original iOS application except platform-specific functions such as local saving and network calls. SwiftKotlin made it possible to reuse the model class with some small adjustments while the viewmodel and view classes must be manually written.
|
6 |
Разработка приложения для подбора пары домашним животным «MeetPet» : магистерская диссертация / Development of an application for matching pets “MeetPet”Шарафутдинов, Г. О., Sharafutdinov, G. O. January 2023 (has links)
Целью работы является разработка приложения для подбора пары домашним животным. Объектом исследования являются мобильные приложения на базе операционной системы Android. Методы исследования включают: анализ, сравнение и обобщение данных о существующих веб-сервисах по уходу и разведению домашних животных; апробация современных технологий мобильной разработки. Результатом работы является разработанное приложение, включающее в себя серверную часть с автоматической обработкой PDF-файлов и клиентской в виде Android-приложения. / The goal of the work is to develop an application for matching pets. The object of the study is mobile applications based on the Android operating system. Research methods include: analysis, comparison and synthesis of data on existing web services for the care and breeding of pets; testing of modern mobile development technologies. The result of the work is a developed application, which includes a server part with automatic processing of PDF files and a client part in the form of an Android application.
|
7 |
Perception and effects of implementing Kotlin in existing projects : A case study about language adoptionSundin, Emil January 2018 (has links)
The Kotlin programming language has seen an increase of adoption since its launch in 2011. In late 2017 Google announced first-class support for Kotlin on the Android platform which further popularized the language. With this increase in popularity we felt it was interesting to investigate how Kotlin affects the developer experience. We performed a case study to see how Java developers perceive the Kotlin language, and how it meets the requirements of these developers. To gather the developer requirements and their perception of Kotlin we performed two sets of interviews and rewrote parts of their codebase. The first set of interviews identified developer requirements and the second set of interviews showcased the Kotlin language and its potential use in their codebase. The results show that Kotlin can meet most of the developer requirements and that the perception of Kotlin is positive. Kotlin’s ability to be incrementally adopted was a prominent feature which reduced the inherent risks of technology adoption while providing them the ability to further evaluate the language. The expressiveness of a programming language has previously been found to be a prominent factor of language adoption. In this study, we identified the expressive nature of Kotlin as a major factor of its adoption potential.
|
8 |
Java and Kotlin, a performance comparisonGakis, Stylianos, Everlönn, Niclas January 2020 (has links)
When it comes to developing software, it is important to keep in mind a variety of factors. It is paramount that software is fast, responsive, optimized, and able to be stored and used by the end consumer. This is especially true within fields such as medical care or critical systems where the speed is critical to the end-user and where the memory and storage capacity may all be a limiting factor to the software. This paper evaluates the differences in performance between the Java programming language and the Kotlin programming language. This paper evaluates this by comparing performance by experiment, comparing metrics between the two and relevant literature review about the subject. The results show an overall better performance of Java in most occasions, with Kotlin managing to perform better in much fewer benchmarks. These differences are mostly not very significant, however there are exceptions where Kotlin is performing considerably worse. That happens particularly when a lot of the Kotlin idiomatic features are implemented, which add a big overhead and if performance is a big concern, they should be used sparingly.
|
9 |
RaceMeThere : A gamified running application including real-time updates on different routes with a common target location.Göransson, Anton, Bergenudd, Anton January 2020 (has links)
This project was initiated to answer the question: Is it possible to develop a gamifiedrunning application including real-time updates for users racing on different routes toa common target location? Most running applications on the market today are basedupon the progress of the user and not the entertainment for the user. The applicationdescribed in this thesis is based upon the game Race You, which is a simple game ofthe first one to get to the target location wins. The application allows users to starta race from different locations and race against each other towards a common targetlocation. The construction of a race is accomplished by generating an arbitrary targetlocation based on the challenger’s location and a given distance the users wish to race.This thesis describes the process of developing a gamified Android application usingthe programming language Kotlin, as well as discusses problems and obstacles alongthe way. The application is built to be deployed on a smartphone which communicateswith a back-end to notify users about information regarding races and challenges. Theapplication is developed for the Android operating system, which means that to ourknowledge there is room for another application targeting another operating system.There are a number of features which can be implemented to the application which isdiscussed throughout the report.
|
10 |
Webb eller native applikation? : En jämförelse i prestanda inom vädervisualisering / Web or native application : A comparison of weather visualization performanceÖzdes, Okan January 2020 (has links)
Problemet med de olika applikations arkitekturer som finns är vilken av de man ska välja för att implementera en ny applikation, då arkitekturerna har både för och nackdelar som kommer med dem. Arbetet fokuserar på arkitekturerna webb och native inom väderprognos domänen. Söktiden är den viktigaste faktorn för en sådan applikation och mätningen som ska utföras för båda applikationerna är hur snabbt det går att göra en sökning för en stad till att all information har visuellt presenterats.
|
Page generated in 0.0335 seconds