移动应用开发——作业1

  • Post author:
  • Post category:其他



题目一:请查找资料,简单描述Web应用开发框架Vue.js、React.js、Angular.js的特点,及在移动应用方面的发展,每种400字至600字。



1. Web应用开发框架——Vue.js:


特点:

  • Vue.js是一套用于构建用户界面的渐进式JavaScript框架。 自带有各种可用于构建用户界面的备选工具,被设计为可以自底向上逐层应用。核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。
  • Vue.js应用于小型应用。渐进式构建能力是 vue.js 最大的优势,vue 有一个简洁而且合理的架构,使得它易于理解和构建。vue 有一个强大的充满激情人群的社区,这使得为一个空白项目创建一个综合的解决方案变得容易。
  • Vue 既可以在单独的页面上用来解决简单的任务,也可以作为成熟的工业应用程序的基础。Vue.js 是一个用于构建图形用户界面的高级框架。它也可以与一些现代工具和附加库一起,用于构建复杂的单向应用程序。
  • Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。;
  • Vue.js是一个构建数据驱动的Web界面的库。
  • Vue.js模块化,目前最热的方式是在项目中直接使用ES6的模块化,结合Webpack进行项目打包;
  • Vue.js组件化,创造单个component后缀为.vue的文件,包含template(html代码),script(es6代码),style(css样式);
  • Vue.js通过简单的API(应用程序编程接口)提供高效的数据绑定和灵活的组件系统。

在移动应用方面的发展和应用:

Vue.js 是一个优秀的前端界面开发 JavaScript 库,它主要的特点有。

  1. 轻量级的框架

    能够自动追踪依赖的模板表达式和计算属性,提供 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API,更加容易理解,能够更快上手。
  2. 双向数据绑定

    声明式渲染是数据双向绑定的主要体现,同样也是 Vue.js 的核心,允许采用简洁的模板语法将数据声明式渲染整合进 DOM。
  3. 指令

    Vue.js 与页面进行交互,主要通过内置指令来完成的,指令的作用是当其表达式的值改变时相应地将某些行为应用到 DOM 上。
  4. 组件化

    组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在 Vue 中,父子组件通过 props 传递通信,从父向子单向传递。子组件与父组件通信,通过触发事件通知父组件改变数据。这样就形成了一个基本的父子通信模式。

    在开发中组件和 HTML、JavaScript 等有非常紧密的关系时,可以根据实际的需要自定义组件,使开发变得更加便利,可大量减少代码编写量。

    组件还支持热重载(hotreload)。做了修改时不会刷新页面,只是对组件本身进行立刻重载,不会影响整个应用当前的状态。CSS 也支持热重载。
  5. 客户端路由

    Vue-router 是 Vue.js 官方的路由插件,与 Vue.js 深度集成,用于构建单页面应用。Vue 单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来,传统的页面是通过超链接实现页面的切换和跳转的。
  6. 状态管理

    状态管理实际就是一个单向的数据流,State 驱动 View 的渲染,而用户对 View 进行操作产生 Action,使 State 产生变化,从而使 View 重新渲染,形成一个单独的组件。


2. Web应用开发框架——React.js:


特点:

  • React 是由Facebook带来的开源JavaScript库。可以被用于构建交互式、有状态、且可重用的用户界面(UI)。呈现具有高性能、且复杂的UI的基本功能。同时可以与虚拟化的文档对象模型(DOM)协同使用,以提供高稳定性的Web应用程序。
  • React相对简单和专注。可以轻松掌握概念,并了解单向数据体系结构的好处,简化大量的用户界面应用程序。借助 React 库,可以轻松地创建交互式用户界面。集成 React 时,不需要更改当前项目的代码,只负责渲染界面。
  • React更多地面向 JavaScript 而不是 TypeScript,更便于创建原生 Android 和 iOS 移动应用程序;拥有大量适用于各种场合的第三方库(多于 Angular)。
  • React采用声明范式,可以轻松描述应用。通过对DOM的模拟,最大限度地减少与DOM的交互。可以与已知的库或框架很好地配合。
  • React速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。跨浏览器兼容:虚拟DOM帮助解决了跨浏览器问题,提供了标准化的AP。模块化:为程序编写独立的模块化UI组件,方便进行隔离。单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。兼容性好。

在移动应用方面的发展和应用:

  • react声明式开发:命令式开发:原生js和jq写代码的时候,大部分代码都是在操作dom。声明式开发:面向数据编程,不需要直接去控制dom,只要把数据操作好,react自己会去操作dom,可以节省很多操作dom的代码。
  • react可以和其他框架并存react所控制的dom就是id为root的dom,页面上的其他dom元素你页可以使用jq等其他框架。
  • react组件化,通过继承react的Component去创建一个组件。
  • react是单向数据流,父组件传递给子组件的数据,子组件能够使用,但是不能直接通过this.props修改。否则会报错。子组件要传值给父组件,或者要修改父组件的代码,都是要通过父组件传递过来的方法去实现。让数据清晰代码容易维护。react是视图层框架
  • react函数式编程,项目中大部分都是函数,连html都是由render函数去实现的。方便代码维护,复杂的函数可以拆分成多个函数。在前端自动化测试也很方便,只需要给函数一个参数,看他的输出就可。


3. Web应用开发框架——Angular.js:


特点:

  • Angular是Google提供的一种开源的前端Web应用程序框架。通过其模型-视图-控制器(MVC)式的架构,能够轻松地进行各种开发、维护和测试。不但适用于构建具有高活跃性和交互性的Web应用场景,还广受单页面式应用程序的欢迎。应用在大型超大型web应用开发上。
  • Angular方便在一个大型的框架内获取技术资源,框架内的技术很容易移植;方便在框架中训练开发人员,在短期内获得一定的开发能力。
  • Angular 差不多是一个完整的开发环境。它包含一整套程序,包括 TypeScript 编译器、AOT 编译器和 Web 服务器。Angular 的 Web 服务器用于调试使用这个框架开发的站点。它是用同一个 Angular CLI 实用程序启动的,要启动 Angular CLI,你需要在 Windows 命令行中进入项目文件夹,并执行ng serve命令。
  • Angular易于扩展,可以很轻松地扩展应用来提供实用的新功能。易于维护, 应用程序很容易调试,Bug 很容易修复,有良好的 go mod 和端到端测试支持。Angular 基于浏览器的内部功能可以创建符合标准的 Web 应用程序,包含最新的功能(例如,各种 HTML5 API)、流行的工具和框架。
  • Angular有良好的应用程序结构,双向数据绑定,指令,HTML模板,可嵌入、注入和测试。是一个比较完善的前端框架,包含服务,模板,数据双向绑定,模块化,路由,过滤器,依赖注入等所有功能, ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助。模板功能强大丰富,自带了极其丰富的angular指令。自定义指令,自定义指令后可以在项目中多次使用。

在移动应用方面的发展和应用:

  • Angular.js是google开发者设计和开发的一套前端开发框架,帮助简化前端开发的负担。AngularJS 通过新的属性和表达式扩展了 HTML。AngularJS 可以构建一个单一页面应用程序
  • Angular.js有良好的应用程序结构:使用 AngularJS,可以通过MVC(模型 – 视图 – 控制器)或MVVM (模型 – 视图 – 视图模型)模式来组织源代码。AngularJS 是一个 MVW 框架,其中W代表可以用于任何项目。可以组织你的代码模块,可显著提高应用程序的可测试性和可维护性。数据、业务逻辑、视图的分离。
  • Angular.js双向数据绑定。可以声明绑定的模型到 HTML 元素。当模型发生变化时,视图会自动更新,反之亦然。这可以减少大量的传统样板代码,保持模型和视图同步。
  • Angular.js指令:自定义Directive。
  • Angular.jsHTML 模板:AngularJS 使用 HTML 模板,设计人员可以按照通常的方式创建用户界面,而开发人员可以使用声明性绑定语法很容易配合不同的UI组件的数据模型。
  • Angular.js依赖注入。ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码。


题目二:简单描述目前自己已经掌握的Web开发技术,有相关项目经历的可以描述一下。


大三上期末生产实习选择了web班,学习了基础的HTML+CSS+JS内容,最后完成了一个模拟小米商城的首页

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为weixin_45102232原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。