英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
毕业设计(论文)外文翻译
2021年 3月19日
用于移动应用程序开发的高级软件技术方法
Andriy Luntovskyy
BA Dresden Univ. of Coop. Education Saxon Academy of Studies
Dresden, Germany Andriy.Luntovskyy@ba-dresden.de
摘要—本文讨论了移动应用程序开发的现代方法。因此,讨论了方便的分发技术和体系结构解决方案,尤其是在云访问,n层架构等情况下的“胖”和“瘦客户端”。如今,mobil应用程序可在高级硬件上运行。因此,性能方面并不重要,但起着次要作用。对于最新的移动应用程序来说,什么才是最重要的?给出了移动应用程序的分类法,并检查了优缺点或本机,基于Web的应用程序和混合应用程序。在给定的工作范围内,代表了软件技术方法及其开发可用的框架。他们使用代理,操作系统容器,沙箱,AJAX和所谓的服务人员来加快执行速度,并将应用与操作系统详细信息和恶意软件隔离开。所谓的渐进式Web应用程序可以代表普通Web应用程序的有效替代方案。此外,还研究了针对5G移动Raio网络的移动应用程序的进一步开发。与此相关,讨论了在使用移动访问的情况下雾云合作的体系结构以及相应的标准和框架。
关键词-云;移动应用;网络应用;渐进式网络应用程序;多雾路段;雾云平台
- 动机:移动应用
对于许多任务,现在使用智能手机或平板电脑比使用计算机或笔记本电脑更轻松,更快捷。因此,移动应用程序是数字时代的重要伴侣。现在,几乎针对每种生活状况和工作流程,都有一个应用程序。领先的移动操作系统-Google Android,Apple iOS,Win-dows 10 Mobile,Blackberry-和应用程序结合了典型功能的使用以及各种其他网络和传感器:3G-4G蜂窝网络,蓝牙,Wi-Fi,GPS和移动导航,触摸屏,语音识别和记录,音乐播放器,NFC(近场通信),红外发射器。中期的移动流量预测如图1所示。预测的增长非常重要:全世界每月高达49艾字节[1]。以下两种类型的移动应用通过应用世代描绘了具有给定条件隔离的时间演化(图2)。第一代大约在2005年开始:它指的是自应用时代真正开始以来就具有代表性的转换(WAP,无线应用协议,但出于效率原因不考虑在内)。描绘了从第二代和第三代到X代的过渡,直到2021年。现代先进的移动应用是根据新的目的和目标开发的,下面将进行介绍(请参阅下一章):
- 跨平台开发和虚拟化[2,3]
978-1-5386-2556-9/18/$31.00 ©2018 IEEE
- 能源效率和实时功能[4,5]
- 移动后端即服务(MBaaS)
- 渐进式Web应用程序(PWA)[9,10]
- 访问应用程序和对雾云平台的控制[2-4]
- 新的5G移动应用[2,4,6]。
图1.全球移动流量预测(到2013-2021年)(其自身表示基于https://de.statista.com/)
在接下来的章节中,将研究用于移动应用程序的最新的重要基础,独特的功能以及软件技术方法[2-4、6-8]。
图2.一代移动应用程序(基于Crisp研究报告的自身表示)[1]
- 基础:分配技术和建筑解决方案
基本上,用于移动应用程序的软件技术过程和模型与用于台式机区域的方法在本质上没有什么不同。
创建应用程序的典型工作流程如图3所示。该工作流程通常包含6个步骤,并且对于台式机和移动应用程序基本上相同:功能需求和非功能需求的制定及其分析(步骤
1-2);起草并准确实施(第3-4步);大量测试和软件发布(步骤5-6)。常规的软件技术模型在这里也可以有效地使用:瀑布式,V-Modell des Bundes(德语),P。Kruchten的RUP(理性统一过程),敏捷模型,例如。 XP(极限编程)。还可以部署用于设计和分析的UML模型。
图3.应用程序设计的典型工作流程[7]
下面显示了分布式应用程序(桌面与移动)的示意图,并根据特定标准对其进行了分类(图4)。如您所见,这种分类现在非常粗糙,但是由于其应用领域和功能的多样性和广阔性,因此几乎不可能进行更精确的分类!通常使用以下分发技术(图5)进行开发。最常用的客户端-服务器处理范例如下:胖客户端和瘦客户端。提到的最后一个是当今在云技术中经常使用的形式。现代的云服务为分布式计算提供了高性能,并支持从隐藏的群集和存储媒体到外部的多媒体数据传输。通过利用虚拟化的计算和存储资源以及Web技术(Web客户端,Web服务,文件系统WebDAV等),云使“按需”可扩展,以网络为中心的抽象IT基础架构,平台和应用程序成为可能。这些服务的计费取决于用户,而访问是由瘦客户端实现的。作为云技术的缺点,必须注意以下几点:数据安全性和安全性方面的不统一[2,6-8]。根据台式机或移动应用程序的应用程序类型,此处给出了云和(移动)瘦客户端之间的负载和功能分布(图6)。胖客户端通常代表常规IT解决方案以及与网络通信的移动本机应用程序。此时还使用了多层体系结构(n层)。但是,这些层只是准一致的:这意味着跨层功能和反馈也是可能的。这种服务模型主要是通过Microsoft推荐的[2,6]。与传统的服务模板(SaaS,PaaS,IaaS等)一起使用移动应用程序和云技术还可以创建MBaaS。如今,多层体系结构已成为分布式应用程序,平台和云计算不可或缺的基础。它们通常是通过通信中间件(例如通过Java RMI或SOAP)和Web服务(SOAP,REST)的支持而开发的。对于此开发,可以使用以下基本的MiddlewareFrameworks(如EJB和.NET)(表I)。 OSGi联盟用于智能物品和家庭自动化。 OPC UA(开放式过程通信统一体系结构)/ IEC 62541的概念面向物联网和雾计算。在
此外,n层体系结构通常基于Web。业务逻辑层的功能通常基于扩展的Web服务器(Servlet,Java Server Pages,Struts,.NET Active Server Pages,PHP等)。可以将其他技术用于此目的:软件包LAMP(Linux Apache MySQL PHP); 包裹 XAMPP(Linux Apache MariaDB SQLLite PHP Perl);服务器端JavaScript Node.js并打包MEAN(MongoDB Express.js Angular.js Node.js)。
如图。 4. 全面的 原理图 分类 的 当前的网络应用[7]
图5.客户端-服务器处理范例:分布式应用程序和分发技术[7]
图6.云互操作性下的胖客户端应用程序与移动应用程序(瘦客户端)(基于[2,7])
为了简化单独的应用程序,它们的各个部分之间或瘦客户端与云之间的通信,通过SOAP或REST使用Web服务。 Web服务仅仅是中间件技术的进一步发展。电子商务中较复杂的n层应用程序的示例,其中使用Web服务的应用程序部分之间存在松散耦合
在图7中给出了恶习。该应用程序使业务合作伙伴之间可以更好地协调并加速他们之间的沟通:
表一 MW框架的比较[2,7]
还必须实现。这包括应用程序的质量,用户友好性和技术实施等。各种OS和App Store之间的可用性也是其中之一。不幸的是,部署了各种具有异构性问题的浏览器。选项卡中总结了通过本机和Web应用程序访问智能手机的功能和传感器的模式。二:
表II。 智能手机的功能和传感器访问
Property | Frameworks | |||||||||||||||
OSGi | EJB | .NET | ||||||||||||||
Multi-language | C , Java | Java, Servlets | JSP, | C, C , C#, J#, ASP.NET, JS, VB | ||||||||||||
Development environment | any | Eclipse, Oracle NetBeans, JBuilder | MS Visual .NET and Common Runtime Library – CLR | |||||||||||||
Properties | Native Apps | Web Apps | ||||||||||||||
Autonomy | autonomous | Browser-dependent | ||||||||||||||
Data security | better secured than web apps, better control | Secure web necessary | session | |||||||||||||
Deployment | Embedded, smart stuff | universal | universal | |||||||||||||
Network access | less intensively | Intensively | ||||||||||||||
Availability | Real-Time- OS, e.g. QNX | any | Microsoft | Use of sensors | Via OS and APIs | Partially complicated, via web browser | ||||||||||
Price/ License costs | Commercial, open source | basic services for free, but special services by license | basic services for free, but special services by license | <td colspan="2 |