专栏首页令仔很忙Hybrid app(二)----开发主要应用技术

Hybrid app(二)----开发主要应用技术

在上一篇 Hybird App(一)—-第一次接触 文章中,详细的介绍了现阶段手机APP的三大类,而Hybrid app结合Web app和Native app的优点,脱颖而出,变得越来越流行。下面就说说在开发过程中我们主要应用到的技术。混编APP主要是在Cordova的基础上,加入移动端组件Ionic,因为Ionic是基于Angular.Js编写的,所以,要求页面前端使用Angular.JS取代Jquery。

主要应用技术


Node.Js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Cordova

Cordova是一款开放源代码的App开发框架,旨在让开发者使用HTML、Javascript、CSS等WebAPIs开发跨平台的移动平台 应用程序,其原名称之为PhoneGap,Adobe收购Nitobi公司后,PhoneGap商标保留,代码贡献给了Apache基金会,而 Apache将其命名为ApacheCallback,其后发布新版本时,定名为ApacheCordova。 Cordova是一个行动设 备的API接口集,利用JavaScript存取这些接口可以调用诸如摄影机、罗盘等硬件系统资源。配合上一些基于HTML5、CSS3技术的UI框架, 如jQueryMobile、DojoMobile或SenchaTouch,开发者得以快速地开发跨平台App而不需要编写任何的原生代码。 注意到因为Cordova本身仍是一个原生程式,为App打包时依然需要用到这些系统平台的SDK。

Ionic

Ionic是一个新的、可以使用HTML5构建混合移动应用的用户界面框架,它自称为是“本地与HTML5的结合”。该框架提供了很多基本的移动用 户界面范例,例如像列表(lists)、标签页栏(tabbars)和触发开关(toggleswitches)这样的简单条目。它还提供了更加复杂的可 视化布局示例,例如在下面显示内容的滑出式菜单。 Ionic宣称他们极度强调性能,并且通过限制DOM交互、完全移除jQuery以及使用像translate(z)这种特定的硬件加速的CSS滤镜触发移动设备上GPU——与由动力不足的移动浏览器提供的交互相比这种方式提供了硬件加速的交互——等方式使速度最大化。

PS:Ionic的npm安装需要Python环境的支持,建议使用2.7的版本。

Angular.Js

AngularJS是建立在这样的信念上的:即声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑。[1]框架 采用并扩展了传统HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。因此,AngularJS使得对DOM的操 作不再重要并提升了可测试性。

设计目标:

  • 将应用逻辑与对DOM的操作解耦。这会提高代码的可测试性。
  • 将应用程序的测试看的跟应用程序的编写一样重要。代码的构成方式对测试的难度有巨大的影响。
  • 将应用程序的客户端与服务器端解耦。这允许客户端和服务器端的开发可以齐头并进,并且让双方的复用成为可能。
  • 指导开发者完成构建应用程序的整个历程:从用户界面的设计,到编写业务逻辑,再到测试。

Angular 遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合。通过依赖注入(dependencyinjection),Angular为客户 端的Web应用带来了传统服务端的服务,例如独立于视图的控制。因此,后端减少了许多负担,产生了更轻的Web应用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 视图——机房收费系统

    在第一次做机房收费系统时,学生信息和卡的信息是在同一张表中的,而机房收费系统重构时,对数据库进行了重新设计,学生信息和卡的信息被分到了单独的两张表中(遵照三范...

    令仔很忙
  • 软件文档总结

       首先说一下软件工程,软件工程标准的制定有一个生命周期,从发起建议到发布和维护大致如如下:

    令仔很忙
  • 新手学JAVA(四)----装箱与拆箱

                                                                                    ...

    令仔很忙
  • 开发 | 用 4 天时间,他撸了一个「星巴克」同款小程序

    当我们还在家中吹着空调,敲着代码,吃着西瓜的时候,可能你的她还在炎炎夏日下大汗淋漓……

    知晓君
  • 适合在Markdown里面使用的emoji

    因为Markdown里面加颜色需要写html style, 所以对于一些标题, 还是用一下emoji吧: RED APPLE (🍎): ? GR...

    solenovex
  • 第十三章 go实现分布式网络爬虫---单机版爬虫

    以上是go语言中已经you封装好的爬虫库或者框架, 但我们写爬虫的目的是为了学习. 所以.....不使用框架了

    用户7798898
  • Scrapy使用随机IP代理

    第一步,先用不用代理的方式从西刺代理抓几个可用的IP,用Python的telnetlib库对其进行验证,将可用且速度够快的IP存入Redis和一个txt文件: ...

    SeanCheney
  • 深入研究RocketMQ生产者发送消息的底层原理

    hello,小伙伴们,王子又来和大家研究RocketMQ的原理了,之前的文章RocketMQ生产部署架构如何设计中,我们已经简单的聊过了生产者是如何发送消息给B...

    HUC思梦
  • 【大坑】iBase4J 架构研究建议 顶

    文件:iBase4J-Biz-Web/src/main/resources/Spring-config.xml 中 <!-- dubbo --> <dubb...

    linapex
  • Python进阶|聊聊异常处理

    在编写代码中,总会遇到一些bug和报错,怎么去捕获这些异常,并进行处理,以让程序更健硕了?本篇文章将带你聊聊Python的异常处理。

    罗罗攀

扫码关注云+社区

领取腾讯云代金券