用React Native开发跨平台移动软件外文翻译资料

 2022-11-11 11:44:14

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


哈格-赫利尔应用科学大学

用React Native开发跨平台移动软件

Janne Wareacute;n

学士学位论文

ICT学位课程

2016

摘 要

作者

Janne Wareacute;n

学位课程

商业信息技术

论文标题

用React Native开发跨平台移动软件

页数和附录页

27 0

本研究的目的是了解什么是React Native,并学习怎么用它来开发一个跨平台移动软件。

本研究以文献来源为基础解释了React Native的思想和主要特征。关键的功能特色包括虚拟DOM、组件、JSX、属性和状态。

我发现React Native很容易上手,而且它很适合Web程序员。它使移动开发的过程比传统原生方法容易得多,很容易看到它为什么得到了这么快的普及。

但是,React Native在快速发展之下仍然是一个新技术,同时充分理解JavaScript的知识,和React(Web)的知识对进入React Native是很有好处的。

关键字:

React Native;移动应用开发;React;JavaScript;API

目 录

1 介绍 1

1.1 目标和限制 1

1.2 定义和缩写 2

2 背景 2

2.1 JavaScript 2

2.2 Reacthellip;hellip;hellip;hellip; 3

3 用React Native进行iOS和Android应用开发 3

3.1 渲染hellip;hellip; 4

3.2 组件hellip;hellip; 5

3.3 JSX和样式 6

3.4 应用行为:属性和状态 6

4 实例学习:一个React Native应用 8

5 后端Ruby Rails服务器应用程序 9

5.1 数据库设计 9

5.2 API规格书 10

6 iOS应用 11

6.1 Hello world 12

6.2 用户注册和登录 14

6.3 查看可用的workers 16

7 结果和结论 18

8 来源 19

  1. 介绍

全球智能手机市场主要由两大操作系统为主,谷歌的Android和苹果的iOS。2016年第二季度,全球智能手机出货量的87.6%,在2015年第二季度Android设备,和13.9%是iOS设备。这不会给像Windows Phone这样的竞争者留下太多的空间。(IDC 2016)

开发iOS或Android设备的应用程序通常需要一个学习语言的各种平台和开发工具。对于iOS开发需要学习Objective-C编程语言,并能够使用Xcode开发环境。对于Android,需要学习Java,并使用Android开发环境。(Sansonetti, 2015)

React Native是为iOS和Android设备构建移动应用的开源JavaScript框架。它是Facebook于2015年3月开源的,并且它是基于几年之前发布的React框架。(Facebook,2015)

目标和限制

在这篇论文中,我试图回答以下问题:

    • 什么是React Native,它是怎么工作的?
    • 怎么用React Native开发一款跨平台移动应用?

目标是用React Native创建一个完全工作的移动应用,用Ruby on Rails完成一个工程后台。本论文主要关注前端和API,只是认为按照描述的方式运行。

我选择React Native,因为它与React相关,它已经得到了比较快的普及,而且它有Facebook——科技行业最大的角色之一的支持。本来我以一种叫RubyMotion的不同的技术开始我的论文。RubyMotion是一个用Ruby程序语言开发iOS和Android应用的框架。

在尝试了RubyMotion和对比了这些技术的普及性之后,我认为用React Native是更安全的,而且有很多原因。首先,我相信React Native能够正确合理的工作,即使以后有更多类似RubyMotion框架的出现。其次,有很多行业的雇主使用React Native,而RubyMotion是非常小众的技术,可能全世界不会有多少RubyMotion的工作职位。最后,如果这个项目以后有更多的开发者,相对于RubyMotion开发者,我们更容易找到React Native的开发者。

一些其他的选择,可以用混合式技术,比如Cordova, Phonegap 或者Xamarin,但是我个人对React Native更感兴趣,所以我选择了它。

我以前从来没有用过JavaScript进行过编程,所以如何快速简单开始使用React Native进行开发将会很有趣。而且你在没有合理学习原生JavaScript的情况下用它做一些有用的东西。

这篇论文是为读者编写的,具有很强的编程背景,无论是网络或移动平台。这并不意味着是一个初学者的一步一步的指导,开始使用React Native。

用在本论文的大多数原始资料是亚马逊上的电子书,这些都是没有页码的,所以在引用的时候没有页码,就是这个原因。

定义和缩写

JavaScript是Web编程语言。原本用来提供的视觉效果和功能,在桌面浏览器的网站,如今JavaScript无处不在的东西,甚至在服务器端处理。

ES2015或ECMAScript 2015是JavaScript的标准化,是ECMA在2015年提出的。这是2009年以来第一次重大的更新。

MVC(模型-视图-控制器)是一种软件架构模式,在给定的软件分为三个部分,相互连接。模型是关闭数据库层的一部分,包含业务逻辑和应用程序的实际数据。视图是向用户关闭的层,将数据显示给用户。控制器是在两者之间的组件,从用户输入到模型或视图。

Java是一种编程语言,谷歌用它来构建Android操作系统。它是支持面向对象编程、并发和继承类的通用语言。传统的Android移动应用开发是用Java来做的。

Objective-C是苹果公司构建移动操作系统iOS的编程语言。传统的iOS移动应用开发是用Objective-C或者Swift来做的。

应用程序编程接口(API)是访问软件组件的通用层。它定义了组件应该如何相互作用,并使开发应用程序更容易。

Ruby是一个动态的,面向对象的开源编程语言,专注于简单和生产力。

Ruby Rails是一个开源的框架,用于开发web应用程序,用Ruby编写。

HTTP REST(表述性状态转移)API是一个使用HTTP方法 GET、PUT、POST和DELETE来获取和操作数据的API。

DOM(文档对象模型)是一种描述HTML和XML文档的编程接口,应用于浏览器。DOM为用编程语言操作和访问文档提供了方法,最常用的JavaScript。(Mozilla基金会,2016。)

CSS(层叠样式表)是一种描述HTML元素该如何显示的语言。

  1. 背景

React Native是由JavaScript编程语言和JavaScript的React库支持的。在跳转到用React Native进行移动应用开发之前,这篇文章给出了React Native技术背后的一般信息。

JavaScript

JavaScript是世界上使用最广泛的编程语言。它在大多数现代网站上使用,并支持个人电脑以及游戏机、手机和平板电脑的所有现代浏览器。(Flanagan,2016)

与HTML和CSS一起,JavaScript是Web开发三大关键组件中的一个。HTML是用来指定网页的内容,CSS是用来指定网页的外观,JavaScript是用来指定网页的行为(Flanagan ,2016)。

JavaScript是一种无类型、解释性高级编程,适合于函数式编程和面向对象编程(Flanagan ,2016)。很容易学习和使用其中的部分,但是很难充分学习。(Simpson,2015)

JavaScript的未来已经是标准的正式组成部分,称为ES2015(或ES6)是贯穿本文采用。Web浏览器或其他设备如手机一般不支持ES2015,但React Native通过使用BabelJS使ES2015得到支持。(BabelJS,2016)

纯JavaScript可用于Web页面和应用程序,但通常的JavaScript框架是用来抽象复杂的逻辑,实现跨浏览器的兼容性和加快发展。(Graziotin amp; Abrahamsson ,2013,334) 今天最流行的前端的JavaScript框架是AngularJS、EmberJS、ReactjS和BackboneJS(AppDynamics,2016)。

React

React是一个JavaScript库,用于构建用户界面。在传统的MVC(模型-视图-控制器)架构中,它可以被认为是V(视图层)。React是由Facebook解决一个问题而建立的:用数据建立随时间变化的大型应用程序。(Facebook,2016)

为了解决这个问题,React被构建起来。这意味着你定义的用户界面(UI)一次,当应用程序状态的变化时,React实际上反应了变化并重建UI。(Stefanov,2016。)

React是使用基于组件的体系结构。这意味着通过创建组件来解决问题,并将这些组件分解成更小更简单的组件,当它们变得过于复杂时。React里的一个组件比JavaScript里的功能更小:当它被调用时总是产生输出。基本上它生成的HTML代码,最终会在浏览器中显示。(代码学校,2016)

为了实现高性能,React跟踪内存中的虚拟的DOM,并且用Virtual DOM定义来减少实际浏览器中DOM的变化。这使得浏览器只更新已更改的元素,而不是整个DOM更新。该过程如图1所示。(代码学校,2016)

图1 用React里的Virtual DOM渲染

  1. 用React Native进行iOS和Android应用开发

React Native是建立在iOS和Android设备的移动应用程序的一个开源的JavaScript框架。它是基于React,一种为传统浏览器构建网站的JavaScript框架。(Eiseman,2016。)

相对于传统移动开发,React Native提供了一个简单的开发体验。开发应用程序时,不需要第一步创建应用程序便能立即看到更改。你也可以使用你喜欢的工具,例如任何文本编辑器和终端,还有Chrome或Safari浏览器的开发者工具。你不用被迫使用Xcode为iOS开发或Android Studio为Android开发。然而,当你为iOS开发时,开发的机器仍然需要一个苹果OS X操作系统的计算机。(Eiseman,2016。)

为iOS应用和Android应用使用相同的代码,因为有了React Native而变得很简单。一些应用程序的某些功能需要特定的平台,但在现实世界的应用程序中,它可能达到甚至87%的代码重用,如Facebook的广告经理。(Eiseman,2016)

React Native最显著的特点是,它仍然是新技术,意味着它仍然在进步,并且缺少一些文档。但是通常用JavaScript写Android和iOS应用的好处远远大于坏处,因此这是一个好的解决方案。(Eiseman,2016)

本章介绍了React Native的核心功能:渲染、组件、JSX,状态和属性。

渲染

React的虚拟DOM通常被认为是一个性能优化技术,但是它的用处也不仅限于这个。它是代码描述应用如何展现和实际渲染这些元素之间的抽象层。这就是所谓的“桥”,提供一个从React Native到主平台原生API的接口。React的渲染到浏览器的DOM如图1所示。React Native的渲染如图2:React Native通过桥调用iOS的Objective-C的APIs或者Android的Java APIs来渲染native元素,而不是浏览器的DOM。(Eiseman,2016)

图2 用React Native里的虚拟DOM渲染到不同平台

因为React Native是使用原生iOS或者Android的API,应用开发者会感觉真实像原生iOS和Android应用程序,只是使用了JavaS

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


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

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

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