技术选型——混编APP应用概述

本文主要是针对**APP进行开发之前的技术选型准备文档,现在share出来,希望在做同类开发的您留下宝贵意见。

=============================分割线=====================================

一, 主要应用技术

Node.Js

Node.js 是一个基于ChromeV8 引擎的 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应用。

二, 开发概述

混编APP主要是在Cordova的基础上,加入移动端组件Ionic,因为Ionic是基于Angular.Js编写的,所以,要求页面前端使用Angular.JS取代Jquery。

三,前期Demo&概述

1,NodeJs

http://blog.csdn.net/lhc1105/article/details/50614046

http://blog.csdn.net/lhc1105/article/details/50644830

2,Cordova

http://blog.csdn.net/lhc1105/article/details/50614604

http://blog.csdn.net/lhc1105/article/details/50614452

3,AngularJs

http://blog.csdn.net/lhc1105/article/details/50662088

4,Ionic官网

http://www.ionic.wang/js_doc-index.html

时间: 2024-08-04 10:16:13

技术选型——混编APP应用概述的相关文章

iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用

Swift 2.0和Objective-C2.0混编之第三方框架的使用 swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活! 2015年6月9日苹果又一次给所有开发之者带来了一个惊喜,那就是今年年底swift讲开源,者队iOS开发着来说无疑是一个值得兴奋的消息,可是就在这短短的几个月里面swift吸引了越来

AutoLayout技术选型和应用

前言:这篇文章是笔者在项目中对布局技术进行技术选型和应用的相关介绍,供大家参考. Question1:什么是autoLayout? Answer1: autolayout是苹果从iOS6开始推出的旨在优化.简化UI布局相关工作的新框架,其理念是抽象出约束的概念,将其作用于view,而不再需要手动设置其frame. 个人理解其中的分别就好像面向对象编程和面向过程编程之间的分别:能够体会面向对象编程的好处,我们也不难领会autolayout带来的变化:我们唯一需要处理的,就是约束.其后的一切工作,苹

Flutter 开发集合系列之优雅的 Flutter 组件化 混编方案大神必学

背景 此篇文章,主要针对想要在原有Native工程的基础上集成Flutter的需求,所提供的混编方案的探讨. 官方方案的优缺点 (1)优点: 不需要每次 Run 起来之后,先进行 同步flutter代码(组件化Flutter后,因为组件化后flutter代码已经变为framework,所以每次进来需要先热更新同步代码)不需要单独搞一个组件进行集成,管理组件的版本,发布等.(2)缺点: 会非常耦合工程,需要修改工程配置,添加 BUILD PHASE 调用 flutter 中 xcode_backe

移动开发主流框架的选取以及技术选型方案解析

传统的移动开发模式主要分为三种,Native App,Web App 和 Hybrid App,对于目前微信端比较火爆的开发平台小程序,或者其他厂商推广的流应用.轻应用等开发方式,基本都离不开H5的支撑.目前App前端开发主流框架RN,Ionic,Vue都发展得不错.但是业务需求的快速发展,有些框架并不能够满足他们的需求,在不同的业务场景,受诸多约束因素的影响,研发团队应该如何在前端框架上做好选型? 根据目前51CTO社群(群号312724475)中大部分移动开发领域的开发者实际项目经验,我们邀

swift混编oc碰到的问题

在swift中混编苹果官方的Reachability OC文件. 因为swift工程的target是生成framework而非app,framework中调用oc与app中使用桥接文件还不一样,参考: http://blog.csdn.net/cooldragon/article/details/50172649 主要步骤为: 1.将Reachablity.m 和.h文件加入到工程中 2.在ESPlus.h 中最后加上 (ESPlus为Framework名称) #import <ESPlus/R

Xcode中C、C++、Object-C3种语言的混编

转自: http://hi.baidu.com/onejw/item/f34390c997cdc226a1b50ae http://www.cocoachina.com/ask/questions/show/57217 http://www.cnblogs.com/uyoug321/archive/2010/12/11/1903499.html Xcode中支持C.C++.Object-C3种语言的混编 Xcode中支持C.C++.Object-C3种语言的混编,那么如果想让编译器混编,只需要将

30-ocARC基本概念ARM和MRC混编

 ARC ARC的原理是什么 当ARC开启时,编译器将自动在代码合适的地方插入retain, release和autorelease,而作为程序猿,完全不需要担心编译器会做错(除非开发者自己错用ARC了). ARC有什么优点 完全消除了手动管理内存的烦琐, 让程序猿更加专注于app的业务 基本上能够避免内存泄露 有时还能更加快速,因为编译器还可以执行某些优化 ARC的原则是什么?什么是强指针?什么是弱指针? 只要还有一个强指针变量指向对象,对象就会保持在内存中 1.强指针 默认所有指针变量都是强

基于cocos2dx的2D手游美术资源制作技术选型(2)--动作编辑器选择

Cocostudio是cocos2dx官方提供的游戏制作工具,其中包含了动作编辑器,其编辑好的动画导出的文件有三种:Atlastexture,json的AtalasTexture描述文件和plist动画描述文件,可以使用LibExtension Amature加载和播放. 但Cocostduio的动作编辑器也有一些不足的地方: 1. Cocostduio的崩溃率较高,很容易造成编辑过程中的数据丢失 2. Cocostudio的动作编辑方式对美术来说学习成本大,使用上也多不方便,美术对此非常抗拒

基于phonegap,html5,ratchet,handlebars等技术的微表情APP

该app是由很多有意思的微表情构成的,支持40种表情,并且每种表情都有不同的状态,主要有搜索表情,分享表情,摇一摇换表情等功能.目前只支持安卓版.由前期构思,到技术选型,到界面设计,到编码测试,再到发布,过程还是花了不少心思... app截图 前期构思 目的:做一个关于表情方面的有意思的app:锻炼和提升自己的各方面能力,从构思到设计到编码到测试,使自己更清晰整个开发流程.于是寻找市面上的一些表情app,例如脸萌啥的,对比了下一些功能点和差异化….IEmoji也就因此诞生了,由于本人技术和经验有