导致采用JavaScript框架的因素和参与者外文翻译资料

 2022-08-22 10:08

英语原文共 27 页,剩余内容已隐藏,支付完成后下载完整资料


导致采用JavaScript框架的因素和参与者

摘要

JavaScript越来越受欢迎,这导致产生了各种旨在帮助开发人员解决编程任务的JavaScript框架。然而,JavaScript框架的数量迅速增长到了数千甚至更多。对于从业人员来说,确定最适合需求的框架或者开发适合这个需求的新框架是一项挑战。至于是什么驱使编程人员做出选择,目前还缺乏相关的了解。本文探讨了JavaScript框架选择的因素和参与者。我们采用半结构化访谈的定性解释研究,运用扎根理论方法进行分析和抽样。我们采访了18名参与者,他们是通过对决策者关于JavaScript框架选择的评判性抽样选出的,直到理论饱和。我们提供了一个理想的JavaScript框架采用因素模型。这些因素按照技术的接受和使用统一理论分类。这些因素包括绩效预期、努力预期、社会影响力、便利条件和价格价值。一个由客户、开发人员、团队和团队领导组成的组合导致这样的选择。我们的模型有助于了解软件工程师采用技术的相关知识。作为实际应用,我们的模型对Web和框架开发人员很有用。

关键词:Javascript框架软件开发的人性方面人性因素编程和软件工程的经验研究。

  1. 引言

JavaScript 已经成为网络编程的基础语言之一,并且在过去的十年中一直位居十大最受欢迎编程语言之列。根据W3Techs的一项调查,在10亿个网站中,88.2%的网站依赖于这项技术。日益增长的网络用户和需求导致了基于Web的软件日益复杂化。

开发新应用程序的复杂性威胁着编程语言的不断发展。软件工程的目标之一是创建可重用的代码。这一目的最初是通过使用模块来实现的。然而,模块仅限于解决小的编程任务。程序员开发包含预先编写的JavaScript代码的库,以便简化和缩短项目的开发。库支持以web为中心的开发的功能和美化。库可以根据其功能进行分类,也可以称为框架的应用程序框架的一部分。Javascript框架包含一组实用程序、函数和高级抽象,它们已经在不同的平台和浏览器中进行了测试。框架有不同的用途,例如:可视化设计、图表和仪表板、动画、拖放、事件处理等。

越来越多依赖JavaScript的实现,导致开源社区的活跃度不断增加。一些新的JavaScript框架已经发布,其他的框架已经扩展了新的功能。Google大调查的执行结果显示,在GitHub中的每种编程语言注册的项目数中,JavaScript超过210000个项目中处于领先地位。实践者们已经注意到了这种框架的普及,并用开玩笑的方式来应付由此带来的困难。

新手甚至是经验丰富的开发人员都面临着“从JavaScript框架的丛林中寻找意义”的困难,特别是在为他们的项目定义最适合的框架特征方面。Gizas等人认为,对于Web开发人员来说,重要的是(1)选择一个适合他们需要的JavaScript框架,(2)提供高质量和高性能的代码。他们选择使用性能基准对JavaScript框架进行技术评估。虽然我们不否认性能和软件质量的技术方面的重要性,但是还有更多的意义。Gizas等人已经承认,关键的因素可能影响采用,例如可维护性和积极的社区支持。然而,前面的说法只是道听途说。

Graziotin和Abrahamsson指出,关于影响JavaScript框架采用的因素的有限研究只关注性能和质量。他们发现在选择时缺乏关于开发者个人经验的研究,这些经验在网络社区和博客中很常见,而不是在研究文章上。例如,Walsh分享了他的观点,除了代码有多快和多大之外,从业者还应该观察文档的可用性,社区的参与,以及框架的普遍采用。Reyes 补充说,从业人员应该评估框架的成熟度,以及提供的功能和更新频率。同样,这些陈述来自经验,是有价值的。然而,他们来自单一的来源,是轶事。

我们已经注意到,软件和Web工程研究中的知识体系包含了数量有限的关于确定和测量JavaScript框架的有利和可取特性的建议,所有这些建议都集中在性能和质量度量的技术方面。这种担忧是由Graziotin和Abrahamsson发起的,他们呼吁对导致这种选择的因素进行更多的研究。理解什么样的特性导致了JavaScript框架的采用,这将导致创建新的框架来满足开发人员的需求,以及对现有框架进行有意义的分类的可能性。

本论文探讨了导致JavaScript框架被采用的因素和参与者,正如之前的研究所称。我们要回答的研究问题是,是什么因素导致了JavaScript框架的采用?我们报告了一个半结构化访谈的定性解释性研究,使用扎根理论方法进行分析和抽样,在访谈期间,我们采访了18名参与者。我们通过各种渠道招募了参与者,并在收集数据的同时完善了我们的参与标准。参与者要么是专业的开发人员,要么是公司的决策者,要么是企业家,或者至少能够激励他们采用JavaScript框架。

定性资料分析显示以下两点。

第一:在JavaScript框架中可以找到的特性模型,这些特性被归类到统一理论的接受和使用技术的领域,即性能预期,工作预期,社会共享,促进条件和价格价值。

第二:参与框架选择的决策者的代表,即客户、开发人员、团队和团队领导,以此模型为基础。

本文的其余部分分为五个部分。第二部分介绍了我们对软件和网络工程研究的文献综述以及从业者的声音。第三部分介绍了我们如何设计研究,参与者的招募和面试设计方面。该部分还总结了如何从数据编码和解释性扎根理论的角度对数据进行分析。第四节介绍了结果模型。每个项目都通过一个或多个采访片段进行演示,从而引出特定的类别或因素。在第五部分,我们比较了我们的模型与现有的文献,我们提出了一些启示,并指出了这项研究的局限性。第六部分是论文的总结。

  1. 相关工作

我们的文献综述结果表明,从业者在技术博客、报告和专门网站上发表的相关材料比学术文献发表的更多。因此,为了使我们的研究尽可能多地涉及到相关的工作,我们考虑了从业者写作的灰色区域,这是在学术相关工作之前进行的。

    1. 研究

软件工程知识体系对我们在本文中讨论的问题的理解是有限的。

Gizas等人指出,在比较JavaScript框架时,我们必须考虑三个方面:质量、性能和框架的验证测试。作者比较了ExtJS、Dojo、jQuery、MooTools、Prototype和YUI框架。在研究过程中,他们为每种语言确定了四个不同的运行时版本:(1)仅包含核心功能的基本版本;(2)精简版本,即没有注释和空白行的基本版本;(3)完全精简版本,以紧凑格式提供所有可用功能;(4)开发工具包,以满足更高级的开发人员的需求。Gizas等人将通用函数用于评估。文档对象模型1操作、选择器、异步JavaScript和XML2功能、表单的基本元素、基本事件处理函数以及兼容性支持和加载实用程序函数。Gizas等人用经典的软件度量方法来度量质量,度量大小、复杂性和可维护性。用于质量测试的工具是:JSmeter、clo和Understand。验证测试是结合使用Yasca实用程序和JavaScriptLint进行的。作者使用不同的浏览器和操作系统进行性能测试,他们使用SlickSpeedSelectors测试框架进行分析。

Misra和Cafer为JavaScript引入了一个复杂度量标准,叫做JavaScript认知复杂度量标准。这个度量旨在评估脚本的设计质量。Jccm度量公式的计算方法是:(1)包含变量和运算符的代码行的大小,(2)任意命名的不同变量的个数,(3)有意义命名的变量的个数,(4)基本控制结构如循环、递归等的认知权重,(5)运算符的个数。作者分析了来自Web的三十个JavaScript文件。作者证明了这个度量收敛于循环复杂度度量、代码的逻辑行数和Halstead度量。本文没有从从业者的角度报道任何验证。

Graziotin和Abrahamsson通过与经验丰富的Web开发人员进行的定性研究,为JavaScript框架的比较创建了一个探索性模型。该模型表明,有三个标准驱使从业人员选择JavaScript框架,即(1)文档,(2)社区,(3)JavaScript框架的实用性。此外,研究结果表明,为了进行有意义的比较,将软件度量应用到使用不同的JavaScript框架实现的单个软件项目中是很重要的。

    1. 从业员

为了进一步调查这个领域的整体知识,我们在灰色文献中选取了一些有见地的文章,介绍了开发者的个人经历和他们与其他人分享的建议,以及专门针对我们感兴趣的主题的最著名的技术网站。

根据Bennet的说法,有四个参数是JavaScript框架必须确保的,这样才能被认为是有意义的选择。这些参数是:(1)规范化的事件模型,包括附加和删除侦听器、自动范围校正和对事件本身的访问;(2)XMLHttpRequest3的规范化包装器,包括在请求消失时指定激发回调的能力;(3)用于使用DOM的一组规范化实用程序,特别是用于获取或设置样式和管理类名的实用程序;(4)用于创建可视化动画的工具,无论是定制的还是定制的,这些工具处理跨浏览器计时问题。他还建议JavaScript框架应该原样呈现它的脚本语言,而不是像其他语言一样,只有在跨浏览器兼容性需要封装的情况下才能使用DOM方法。此外,JavaScript库或框架中的对象名称应该是有意义的,可能是库或框架提供的功能所固有的,而且文档对于容易理解框架和扩展其功能非常重要。

Reyes致力于通过检索框架开发时间和新更新发布频率的信息来分析框架的成熟度。对Reyes来说,重要的是基准背后的社区由经验丰富的开发人员组成。他考虑到了框架对网页的要求。程序员应该关注框架的可用性。Reyes建议检查框架是否需要不断更新,以及程序员是否需要很好地了解库和框架。分析还侧重于文档,这对于满足信息需求至关重要。

Walsh建议使用MooToolsSlickSpeed测试来分析JavaScript框架的速度。该工具评估了MooTools1.2、MooTools1.3.1、jQuery1.5.1、Prototype1.7、YUI2.8.2Selector和Dojo1.5的级联样式表选择器的速度和有效性。JavaScript框架在存储方面不应该太重,因为当特性被添加或扩展时,它们可能会增长。作者认为模块化是需要检查的一个关键方面。社区及其活动很重要,因为Walsh认为这些因素反映了质量和兴趣。对于任何其他编程语言,识别Web应用程序的需求是否得到满足以及实现是否有效地消耗时间是很有帮助的。

在回顾从业者领域时,我们发现了三个旨在理解JavaScript框架的有趣的项目。其中两个在同行评议期间终止了他们的服务。

Jster.net提供了1573个框架的分类。目录分为以下类别。基本框架,用户界面,多媒体,图形,数据,开发,工具和应用。根据项目收藏夹的数量、分支和基于社区的评分,这些条目在GitHub上按照受欢迎的程度排序。库的寿命似乎得不到支持,随着时间的推移,这些库可能会过时。

designzum.com网站提供了一个基于参数的JavaScript框架排名,这些参数包括权重、学习和实现的难易程度、模块性和包装新特性的简单性。这个排名集中在两个关键词上:轻量级和简单易学。网站通过利用GitHub框架库中的四个参数对JavaScript框架进行了排名。使用的度量包括(1)星星数,或者是观察项目的GitHub用户数量,(2)代码提交之间的平均时间长度,(3)最近100次提交中贡献者的数量,(4)为给定项目提供的分支数量。

对文献和从业者的回顾表明,科学研究已经开发出可应用于测量的度量标准,并且它还引入了一个基于从业者反馈的主观标准的质性研究模型。然而,开发人员似乎更看重JavaScript框架或库中对开发人员非常重要的实用特性。利基技术网站已经采用了各种各样的、未经验证的变量来对JavaScript框架进行排名或排列。

这些没有经过科学验证的参数使得我们需要研究一个模型,这个模型收集了经验和理论知识,用于识别相关的变量,指导从业者选择JavaScript框架。

  1. 方法论

目前的研究旨在提供决策者在选择JavaScript框架时认为同样重要的特性的新知识。我们根据个体给予我们的感知来研究人类行为。扎根理论的定性数据分析技术满足了我们的需要。我们使用半结构化访谈的开放式问题与解释性的方法选择了一个定性分析,使用扎根理论作为分析和抽样方法。解释性研究通常在产生解释现象的理论和模型时进行的。研究人员使用扎根理论作为一种方法论或工具来分析与人类行为相关的数据,特别是当研究具有解释性的焦点时。我们采纳了Strauss和Corbin提出的用于收集和分析数据的建议。

    1. 基于方差和基于过程的研究

我们想澄清的是,我们目前的探索采用过程的工作,不是基于过程的研究,而是基于差异。

基于差异的模型和理论为这个现象提供了根据因变量和自变量之间的关系的解释。在方差理论中,先导是解释结果的充分必要条件,自变量之间的时间排序是无关紧要的。根据我们对文献的经验,大多数的软件工程研究都是基于差异的,然而基于过程的研究正在兴起。

基于过程的研究发展源于试图解释组织如何以及为什么会发生变化的研究。如今,基于过程的研究活动试图理解事物是如何随着时间演变的,以及为什么它们以我们观察的方式演变。过程数据主要由故事组成,这些故事通过几种不同的策略实现,这些策略描述了在观察事件、活动、选择和人员执行过程中发生了什么。

在研究采用过程时,当前工作的输出,是差异的类型。也就是说,我们提供了一个影响JavaScript框架选择的因素模型,但是我们没有提供采用过程本身的表示。这一选择的影响之一是,我们不提供决策过程本身的任何代表,而是提供导致采用框架的各种因素的静态代表。lt;

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[409576],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。