Det finns miljarder smartphone-enheter runt om i världen och den stora majoriteten av dem kör antingen Android eller iOS-plattformar. En plattformsoberoende mobilapplikation är en applikation som körs på flera mobila plattformar. En strategi för att utveckla denna typ av mobila applikationer innebär att med hjälp av plattformsrelaterade verktyg utveckla en egen applikation för varje vald plattform. Flera ramar har föreslagits för att förenkla utvecklingen av plattformsoberoende mobila applikationer och därmed minska kostnaderna för utveckling och underhåll. Mellan dem, korskompilatorn mobila utvecklingsramar omvandla ansökans kod skriven i mellanliggande (även icke-native) språk till inhemsk kod för varje önskad plattform. Men så vitt vi vet finns det inte mycket forskning om fördelarna och nackdelarna med att använda cross-compiler-ramverk under utveckling och underhåll av mobila applikationer. Syftet med detta dokument är att bidra med en av de första tegelstenarna i den forskningsriktningen. Vi studerar vad mobila utvecklare som använder cross-compiler ramverk frågar om när de utvecklar och underhåller plattformsoberoende mobila applikationer. I synnerhet fokuserar vi på ett ramverk: Xamarin från Microsoft. För detta skapade vi först två datauppsättningar av frågor och svar (Q&A) relaterade till utvecklingen av mobila applikationer som använder Xamarin genom gruvdrift två Q&A-platser: Xamarin Forum och Stack Overflow. Vi analyserade och jämförde antalet frågor, synpunkter och accepterade svar från varje webbplats. Sedan tillämpade vi Latent Dirichlet Allocation (LDA) på Xamarin-relaterade frågor för att upptäcka de viktigaste frågorna som ställs av utvecklare som använder Xamarin. Slutligen jämförde vi de upptäckta ämnena med dessa ämnen om mobil utveckling. Våra resultat visar att Xamarin Forum har ett större antal frågor än Stack Overflow, men den senare har fler svar per fråga och ett större antal frågor med minst ett accepterat svar. Dessutom, Xamarin Forum och Stack Overflow delar de flesta av de viktigaste ämnena, som främst diskuterar användargränssnitt 2 Matias Martinez, Sylvain Lecomte (UI), formatering, design och navigering. Slutligen hittade vi ämnen relaterade till Xamarin teknik (såsom design mönster "MVM") som inte fanns i de ämnen från infödda mobil utveckling. Nuförtiden finns det miljarder smartphone-enheter runt om i världen. Smartphones är mobila enheter som kör program (appar) såsom spel, sociala nätverk och bankappar. En infödd mobil applikation är en app som är byggd för att köras i en viss mobil plattform. För närvarande finns det två plattformar som dominerar smartphone marknaden: Android (från Google) och iOS (från Apple), med 99,7% av marknadsandelen från och med första kvartalet 2017 (IDC (2017)). En plattformsoberoende mobil applikation är en applikation som riktar sig till mer än en mobil plattform. För att täcka ett stort antal användare och därmed öka påverkan på marknaden och intäkterna syftar företag och utvecklare till att släppa sina mobilappar till både Android- och iOS-plattformar. En traditionell metod för att utveckla denna typ av appar är att bygga, för varje plattform, ett inbyggt program med hjälp av ett visst programmeringsspråk (t.ex., Java för Android, mål-C eller Swift för iOS), SDK (Programvaruutveckling Kit) och IDE (t.ex., Android Studio, XCode för iOS). Tyvärr ökar detta tillvägagångssätt kostnaderna för utveckling och underhåll. Ett företag behöver till exempel utvecklare med olika kompetens för att utveckla en app för två plattformar, vilket resulterar i två inbyggda appar. Dessutom kunde de infödda apparna ha olika kvalitet, till exempel, fann att 68% av de studerade plattformsoberoende apparna har olika startrankning i applikationsbutikerna (App Store, Google Play). Under de senaste åren, undersökningar (t.ex., Perchat et al. (2014)) och industriföretag (t.ex. Microsoft, Facebook Inc.) har båda fokuserat på att föreslå utvecklingsramar med målet att underlätta utveckling och underhåll av plattformsoberoende mobila appar. Earliest ramverk fokuserade på att producera hybridmobila applikationer: appar konstruerade för att koda både icke-inhemska (t.ex. HTML för Phonegap/Cordova 1 ) och infödd kod. Den icke-infödda koden delas över alla plattformarnas implementationer, medan den infödda är skriven för en viss plattform. Inte desto mindre, utöver de goda resultaten av några av dem för att utveckla enkla appar (Joorabchi et al. (2013) ; Heitköpter et al. (2012), företag som Facebook hittade de resulterande applikationer inte har samma användarupplevelse än rent inhemska program (Martinez och Lecomte (2017)). En annan familj av ramverk för att utveckla plattformsoberoende appar är crosscompiler mobila utvecklingsramar. Deras ta emot som indata en ansökan skriven på ett inte-infödda språk och omvandla den till inhemsk kod för en viss plattform. Xamarin 2 och React-Native 3 är två, som betraktar C# respektive JavaScript som icke-infödda språk. Med hjälp av cross-compiler ramverk för att utveckla plattformsoberoende mobila applikationer, kan utvecklare minska både utvecklings- och underhållskostnader
Såvitt vi vet fokuserar endast ett arbete REF på Xamarin, som studerar Q & A platser för att upptäcka de viktigaste ämnena i Xamarin relaterade frågan.
Discovering discussion topics about development of cross-platform mobile applications using a cross-compiler development framework
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}