国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

代寫CS3S663 Mobile Systems 程序設(shè)計(jì)

時(shí)間:2024-02-08  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)


Module name: Mobile Systems and Applications

Assessment title:

Languages and Environments in Mobile Development

Date: 22/01/2023

Introduction

Nowadays, mobile devices are in almost everyone's life, shaping the ecosystem of our daily digital experiences, from the bustling streets of London to the pristine rainforests of Africa. Operating systems are key to the functioning of mobile devices, most notably iOS and Android, both of which were released in 2007 and beat out one-time competitors Nokia, Microsoft, and Blackberry [1]. Today, the choice of operating system for mobile device manufacturers is close to unity, with Google's Android and Apple's iOS almost exclusively in use, while others such as Other operating systems, such as Harmony OS, now have a negligible market share. The main purpose of this paper is to discuss and evaluate the differences between operating systems and native development environments used to create applications on the platform, including community support and developer resources, application distribution and security testing, security issues, development environments and language support, as well as some case studies. Xamarin is chosen as the Cross-platform language for further comparison.

iOS is Apple's proprietary mobile operating system for its mobile devices. Until the advent of the Swift programming language, iOS used Objective-C as the programming language to develop its software [2].  Android is an open-source mobile operating system based on the Linux kernel along with other open-source software, and its applications are written utilizing SDKs, usually using Java as the programming language [3]. Xamarin is a cross-platform development software, by using a shared codebase written in C#, developers can write iOS, Android, and Windows apps using a native user interface and share the code across plains through Xamarin [5], which was acquired by Microsoft in 2016 is now bundled as an open-source IDE for .NET [6].

Developer Resources

In the ever-evolving field of mobile app development, the strength and accessibility of community support and developer resources play a key role in shaping the efficiency and creativity of app creation. There are many ways to get some help nowadays, the most official and frequently updated ones are Swift UI Tutorial from Apple and Android Studio Guidelines from Google, apart from third-party platforms like Stack Overflow, GeeksforGeeks etc. In general, these resources are very easy to obtain, but also very effective and usually can quickly solve the problem, the official tutorial gives developers some foundation, but with their familiarity with the language and the use of the depth of the increase, often encountered not envisaged bugs, and these bugs are often not even mentioned in the official tutorials. Developers can often solve the problem by using third-party tutorials, as confirmed by Tiarks and Maalej's research. By looking at different tutorials and guidelines, they found that the iOS community publishes the highest number of images in their tutorials, with an average of 14 images per tutorial [4].

App Distribution

After the developer has completed the initial production of the program, the next step for the software is to distribute it. Distribution usually refers to the process of making the developed software or application available to end users, which usually involves packaging, testing, Internal distribution and the final distribution.

Beta testing is the most important step before the software is confirmed on the shelves, effective testing scenarios can improve the quality of the application and can also improve user satisfaction and trust in the software. Android has Google Play Console for testing and Apple uses TestFlight for testing. After completing the test distribution, if everything goes well, the developer can formally put the application of software on the App Store, now there are two mainstream distribution platforms, Android's Google Play Store and Apple's App Store, in some countries there are some other Android software store exists, such as the United States of America's Amazon App store and China's Yingyongbao.

Android distribution platforms and Apple distribution platforms have very different policies and procedures that can directly affect the time to market, quality and user reach of the software. Compared to Android, which uses an automated review process and occasional manual review, Apple uses a strict manual review process throughout, which can ensure the quality and security of the app to a certain extent, but often results in longer approval times than Android. Apple restricts alternative distribution channels and generally does not allow users to download software directly. Generally, untrusted software downloaded directly will expire within a few weeks, whereas Android is very flexible in this regard, allowing alternative app shops and direct APK downloads. These alternative app shops are adapted to the policies of different countries to fit the market.

Google shut down all its websites in China in 2010, after that a series of alternative app stores such as Yingyongbao sprung up, and while these shops provide convenience for users, they also provide opportunities for malicious apps that steal user information. Wang and his team confirmed this by analysing the trustworthiness level of the Android App Store and suggesting that this phenomenon is changing because of the development of the mobile market and the improvement of the Android system [7]. Apple's approach to region limitation is very simple: it uses account numbers to distinguish the regions of the app store. Different accounts can log in to different regions to download apps that are only provided on the specific app store. It has strict limitation, which require the user to provide a bank card number, address etc. to ensure the user is a citizen in the region.

Security Concerns

Mobile device security is increasingly becoming the focus of the public and technical community, especially in iOS and Android, the two mobile operating systems that dominate the market, their different security policies directly affect the security and privacy protection of user data. Ahmad and his team in their research made some definitions of security requirements for mobile operating systems, they believe that the security of an operating system should consider the major requirements of Sandboxing, Application Isolation, Encryption, Data Storage Format, and Built-in Antivirus [8].

Application Sandbox is the process of restricting the functionality of code that can be executed due to certain rights or declarative all-county, these rights are not dynamic but are assigned when the application is created and each application has a unique ID (UID). Novac et al. considers Sandbox as an important layer of protection for the operating system, which prevents applications from accessing the system [10]. Apple defines an application sandbox as a set of fine-grained controls, which is used to restrict applications from accessing information such as files, hardware, networks, etc. Apple has also created a special model for sandboxing applications, which is more reliable and secure than sandboxing and reduces public access [11]. And in Android, because Android is based on Linux, so similarly, its sandbox is also a Linux-based kernel platform. android sandbox is very powerful [9]. It has a similar strategy as iOS on sandboxing, but Android has permissions decided directly by the application instead of allowing the user to access the system files in the root directory as iOS does [11] so Android is more vulnerable to threats and loss of personal information in comparison.

Application Isolation ensures that no changes can be made to other software while one software is running [12]. In iOS, the application works in a sandbox and cannot abuse other applications, third-party applications are completely controlled by iOS and have little impact on the system, but Apple still allows access to devise ID, Wi-Fi, etc., but for software that wants to access information such as emails, text messages, etc., it can only be done with the authorisation of the user. android uses the same isolation technique, where each program is isolated from the system kernel thus ensuring that there are no vulnerabilities [13]. However, if some special permissions are given, some malware can start some software in the background or even tamper with the data.

Encryption is one of the most effective methods to secure data and provides extra protection in case of mobile phone theft, it converts data into encrypted code, unencrypted data is known as plaintext and encrypted data is known as ciphertext [15]. Versions of Android after 4.0 use an encryption API which is based on disk encryption, where the user must use a PIN or password to read encrypted files in Android [14]. Apple introduced hardware encryption within the iPhone 3GS and allowed for the remote wiping of data by deleting the encryption key from the device. Compared to Android, iOS has a more robust device protection API and Android developers did not utilise encryption in their design.

Data can be stored on both internal and external memory. Android allows data to be stored on memory like an SD card, but this method is not secure by default and all programs can read files to that storage which spreads malware directly to the storage [17]. Compared to iOS, it is less secure as iOS doesn't allow for external storage, the only thing that is allowed is internal storage, all operations and access need to be authorised and the APIs mentioned above can also provide additional protection. Whether Android or iOS, when storing sensitive data, should try to store it in the internal memory to ensure data security [16].

The most common malware affecting system security today are spyware, viruses, backdoors and Trojans [18]. Virus is a type of software that contains malicious code. Spyware bypasses the user and collects information about the user without their knowledge. Backdoor is a type of malware that can evade system authentication, it can access databases and files, but its installation generally requires administrator privileges, so it often occurs on Rooted Android and jailbroken Apple devices. Trojans are also known as Trojan horses, and as its name suggests, they describe some normal functions, but these functions are malicious. Therefore, an inbuilt antivirus is very important. However, due to the previously mentioned less stringent review process and flexible software installation methods of Android, Android software has a greater chance of being attacked by malware, before Android installs software, it asks the user for permission to download the program from an untrusted network, and if it doesn't give permission, it can't proceed with the installation of the software other than Google Play, and once the user allows the sub-operation, it will give a great opportunity for external malware to take advantage of. Therefore, Android may need to install additional anti-virus software to ensure the security of the system. iOS is much better in this aspect because iOS almost does not allow users to install non-App Store software, even if the user wants to download from the web page, it will usually go directly to the App Store. and due to Apple's strict manual review mechanism, the user will almost not have any may encounter malware unless the device is jailbroken. This almost perverted control is exchanged for a safer and more unified system, while Android provides a freer environment where users can do what they want. [12] Some information about programming software for Android and iOS platforms is also mentioned below.

Native/Support Languages

The growth of mobile applications has accelerated the development of platforms and tools that provide considerable convenience to developers. But at the same time, the variety of operating systems requires developers to learn various programming languages such as Swift, Java, C#, etc. and understand the interfaces to develop the same software on various platforms [20]. Pinto et al. in their paper mentioned that to solve these problems, they categorised mobile applications into the Native approach and the Cross-Platform approach [21].

Native approach is also commonly known as Native Programming Language, which is used to refer to programming languages designed for a particular system or platform. In mobile operating systems, these languages can be directly optimised and mutated for a specific operating system to improve the efficiency of operation on that platform. For iOS, the native programming languages are Swift and Objective-C, and the only development environment that corresponds to these two programming languages is XCode. Introduced by Apple in 2014, Swift incorporates features that help avoid common programming errors such as null pointer dereferencing, improved security, a very clean syntax that makes the code easy to write and read, and an interactive environment called Playgrounds that allows developers to test swift code in an interactive environment without having to compile the entire application. Objective-C appeared in the 1980s and benefits from having been around for decades, so it has a huge library and framework, a very mature ecosystem, and Objective-C acts as a superset of C, allowing C code to be used directly in Objective-C. The main programming languages of Android are Java and Kotlin, and the native development environment that corresponds to Android is Android Studio. Kotlin was introduced by JetBrains in 2011 and has been officially supported by Google for Android development since 2017. its main features are that it reduces boilerplate code, makes programs easy to read and write, and is fully interoperable with Java, which was introduced in the mid-19**s in the twentieth century. Java was launched in the mid-19**s it is because the Java Virtual Machine (JVM) to do writes once, runs anywhere (WORA) and famous, for its powerful memory management over the years a very perfect ecological, so since the birth of Android has been the most important language in the development of Android. Android Studio is probably one of the best IDEs, as it can be installed on almost all major operating systems, such as Windows, Mac OS, and Linux, which means that no matter what operating system the developer chooses, they can develop with native Android software in the classroom, with the highest degree of flexibility, while in the development of iOS software, Apple requires the user to need to have a device equipped with Mac OS, he also can be Windows, but a virtual machine or dual system must be installed to ensure that the Mac OS works (often referred to as a Hackintosh), but this is just an assumption, and although many people do this, under Apple’s software licensing agreement, Mac OS is only allowed to be loaded on Apple-branded hardware, and the Hackintosh isn't a Mackintosh, and developers who develop and profit from this method may violate of Apple's End-user Licence Agreement (EULA). In terms of practical use, both environments are customised for their respective platforms and are not superior or inferior. Both Xcode and Android Studio provide layout editors for designing UI, are compatible with their respective ecosystem services, and can be used to test performance (e.g. parameters such as CPU, RAM, network usage, etc.) between different versions of different devices within the same system. It is also possible to test adaptability across devices.

Although native environments are perfect for developers to develop in, everything is not perfect. Developers using native IDEs can only adapt the software to that particular system, they simply can't run it on systems other than the native system, for example, software developed in Xcode can't run on an Android phone. Nowadays, people often use software on different platforms, and the native development environment is stretched to the limit. Cross-platform programming languages are a great solution to this problem, as they allow software to run on almost any operating system, with no hardware limitations, and without the hassle of Windows users wanting to use Xcode. Xamarin is a typical representative of Cross- Platform programming language, which is divided into six layers, the Data Layer, Data Access Layer, Business Layer, Service Access Layer, and Application Layer [ 23]. Compared to the Android platform, which only supports XML, Xamarin also supports XAML, which makes it easier to implement the Model-View-ViewModel (MVVM) architecture because it simplifies the connection between UI components and data sources. It also allows designers to focus more on UI design and developers to focus more on back-end logic [22]. Compared to iOS native development, Xamarin has fewer hardware limitations and access to the .NET ecosystem, with diverse .NET libraries and tools for developers. For enterprises, choosing Xamarin means a reduction in costs, with bulk purchases of the same type of computer often costing less than purchases of different types of computers, and a considerable boost to the internal organisational structure of the company. Xamarin also has the very big advantage of a shared codebase, where most of the code can be shared across platforms, including collective business logic, data models and network communications, which makes it very developer-friendly.

Theoretically, it is difficult to achieve the same performance for programs developed in a Cross-platform programming language as for programs developed in a native programming language because of a series of steps such as code translation and compilation, confirmed by Huy and VanThanh's study [26]. However, in some more recent studies, it has been found that since Cross-platform programming language has more libraries, the performance of cross-platform programs has surpassed that of software developed in native languages in terms of startup speed, etc. [27].
如有需要,請(qǐng)加QQ:99515681 或WX:codehelp

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫CM3035 Advanced Web Development
  • 下一篇:轉(zhuǎn)讓EI源期刊 轉(zhuǎn)讓EI論文 錄用待發(fā)表
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 豆包網(wǎng)頁版入口 破天一劍 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    久久久久久久一区二区| 久久久久久九九九| 久久久之久亚州精品露出| 色综合久久88| 蜜桃麻豆91| 久久久久久亚洲精品| 天天在线免费视频| 91国在线精品国内播放| 亚洲一区二区高清视频| 国产精品一区久久| 又大又硬又爽免费视频| 国产精品专区在线| 中文字幕日韩精品一区二区| 国产区二精品视| 色综合久久久888| 免费久久久一本精品久久区| 国产精品久久久久久久久久久不卡| 欧美午夜小视频| 久久久天堂国产精品女人| 午夜肉伦伦影院| 91精品久久久久久久久中文字幕| 中文字幕中文字幕在线中心一区| 国产精品午夜av在线| 丝袜亚洲欧美日韩综合| 欧美视频1区| 国产精品裸体瑜伽视频| 国产最新精品视频| 欧美激情精品久久久久久大尺度| 成人精品水蜜桃| 亚洲美女网站18| 91精品成人久久| 日韩欧美亚洲日产国| 国产成人免费91av在线| 激情五月六月婷婷| 欧美激情小视频| 成人免费视频a| 亚洲一区二区久久久久久| 91成人免费观看网站| 日韩欧美亚洲在线| 国产精品日韩在线播放| 国产女大学生av| 亚洲欧洲三级| 久久久久天天天天| 免费特级黄色片| 欧美激情中文字幕乱码免费| 91精品久久久久久久久青青| 人人妻人人做人人爽| 欧美精品在线看| 91免费精品视频| 热久久免费国产视频| www.亚洲一区| 国产女主播自拍| 日本亚洲欧美成人| 久久综合免费视频| 久久亚洲免费| 国内精品一区二区| 亚洲一区二区精品在线观看| 日韩一区二区欧美| 国产精品一区二区三区毛片淫片| 日韩av中文字幕第一页| 国产精品国产亚洲精品看不卡15| 99福利在线观看| 欧美久久综合性欧美| 亚洲综合av影视| 久久天天躁狠狠躁夜夜av| 国产一区二区视频免费在线观看| 亚洲永久在线观看| 国产精品视频自拍| 116极品美女午夜一级| 欧美精品一区二区视频| 亚洲精品一区二区三| 国产精品久在线观看| 久久久之久亚州精品露出| 国产一区亚洲二区三区| 欧美一级免费视频| 欧美激情亚洲视频| 久久久av电影| 国产二级片在线观看| 国产一区二区自拍| 日韩无套无码精品| 一区二区三区的久久的视频| 国产精品偷伦视频免费观看国产| 91久久精品国产91性色| 国产在线观看欧美| 欧美一区二区影院| 色大师av一区二区三区| 一区二区在线不卡| 国产精品精品国产| 精品国产欧美一区二区三区成人 | 人人做人人澡人人爽欧美| 中文字幕免费在线不卡| 国产精品久久久久久久久久久久久久 | av不卡在线免费观看| 欧美国产日韩在线播放| 日本三级久久久| 亚洲巨乳在线观看| 久久91亚洲精品中文字幕奶水| 日韩亚洲综合在线| 国产高清在线不卡| 久久在线中文字幕| 91久久国产综合久久91精品网站 | 欧美a在线视频| 日韩精品福利视频| 日本三日本三级少妇三级66| 亚洲国产欧美日韩| 亚洲7777| 亚洲黄色一区二区三区| 一区二区三区四区久久| 精品久久久久亚洲| 久久夜精品va视频免费观看| 国产精品后入内射日本在线观看| 日韩中文字幕在线看| 日韩有码在线播放| 日韩在线观看网址| 久久乐国产精品| 国产高清www| 国产成年人在线观看| 久99久视频| 久久久久久网站| 久久久久久久影院| 日韩在线视频免费观看| 日韩在线国产精品| 国产精品推荐精品| 久久综合久久美利坚合众国| 国产精品精品视频| 不用播放器成人网| 色综合久综合久久综合久鬼88 | 亚洲午夜久久久影院伊人| 欧美精品久久久久| 国产99视频精品免视看7| 久久这里有精品视频| 精品国产第一页| 一本久道中文无码字幕av| 亚洲人精品午夜射精日韩| 天堂资源在线亚洲视频| 日本午夜精品一区二区| 欧美久久综合性欧美| 国产又黄又大又粗视频| 成人毛片100部免费看| 久青草视频在线播放| 日韩视频免费看| 国产精品美腿一区在线看| 国产精品成人v| 一本色道久久99精品综合| 午夜欧美一区二区三区免费观看| 大波视频国产精品久久| 久久久久久久一区二区| 国产精品国产三级国产aⅴ浪潮 | 日韩中文字幕国产| 国产精品国产精品国产专区不卡 | 欧美大片欧美激情性色a∨久久 | 国产精品男女猛烈高潮激情| 欧美激情亚洲国产| 欧美一区二区三区电影在线观看 | 中文字幕中文字幕在线中一区高清| 亚洲综合av影视| 日韩欧美一区二区在线观看| 欧美亚洲日本黄色| 国产日韩精品久久| 91精品国产91久久久久久久久| 日韩在线免费av| 久久国产精品久久久| 色噜噜狠狠色综合网| 男人的天堂99| 国产精品一区二区a| 国产成人短视频| 欧美成人在线免费| 欧美一乱一性一交一视频| 欧美日韩喷水| 99精品国产一区二区| 久久久精品国产亚洲| 欧美激情小视频| 欧洲精品亚洲精品| 97精品一区二区视频在线观看 | 久久成人精品电影| 日本高清不卡一区二区三| 免费毛片网站在线观看| 91国在线高清视频| 国产精品久久久久久久久久久久冷 | 精品欧美一区二区精品久久 | 成人黄色中文字幕| 国产精品偷伦一区二区| 天天好比中文综合网| 免费久久久久久| 国产成人精彩在线视频九色| 欧美日韩ab片| 欧美国产一二三区| 久久综合亚洲精品| 在线视频精品一区| 免费一区二区三区| 久久久久久久久久久久久久国产| 亚洲中文字幕无码av永久| 欧美日韩一区在线播放| 国产精品一区二区三区免费| 久久精品国产69国产精品亚洲| 亚洲成人网上| 成人免费在线网址| 欧美精品一区二区免费| 欧美高清性xxxxhd| 日韩在线一区二区三区免费视频|