APP开发架构

NativeApp
跨平台解决方案:
WebApp
dist是指distribution,发布,
dest则是destination,目的。
facebook-reactnative

PhoneGap/Cordova

使用iOS、Android等原生的WebView控件,用浏览器,基本上不能混合开发
Phonegap在每个移动平台(iOS、android、blackberry等)中都实现了一套后台框架,分别与各平台系统API进行交互,从而调用其native API,对应用开发人员提供了统一的JS调用接口,即phonegap API,开发人员只需要采用html、js、css等web技术即可进行移动平台快速开发。
Phonegap的“一次编写,到处运行”是指应用程序开发只需编写前端代码,并且可完全复用到其他平台,复用到其他平台时需要另外搭建相应的开发环境才能运行。

android平台phonegap框架实现原理
http://blog.csdn.net/wuruixn/article/details/7405175

ionic

Ionic 底层打包使用 Cordova ( 和 Phonegap 一样 ) 底层打包用 Cordova 是不错的。 Ionic 是一个全堆栈的混合应用开发框架,可以理解成 Ionic = Cordova + AngularJS + Ionic UI

ionic app 优化三件套,让其更贴近原生app:
禁用ionic 自带的滚动效果
在低版本android中,Crosswalk WebView提供了比原生WebView更好的性能;但是相应的会使app体积大20m左右,这就是其唯一的缺点,但是为了性能,这点问题当然不是问题啦;
引入插件 ionic-native-transitions,这是我个人觉得对app体验最最重要的一步。这能使app的页面切换效果 “纵享丝滑”,告别ionic自带的页面切换卡顿效果!
需要调用支付,蓝牙什么的功能务必用 ionic,因为有 phonegap,后期可以给你省很多事
如果你只是做纯粹展示型的 app 那么 weex 和 rn 都可以,如果 react 熟就 rn,不熟怕麻烦还是 weex

ionic3 教程
http://www.jianshu.com/p/1baf40713c1c

weex / react native / ionic 技术选型
http://www.sunzhongwei.com/weex-react-native-ionic-technology-selection

什么是Bower?

Bower 是 twitter 推出的一款包管理工具,基于nodejs的模块化思想,通过 Bower 来管理模块间的联系。
“包”是指一系列有意义的资源的集合,在bower这里,更多体现在json文件,它是这些资源的配置文件,一个完整的包都应该有一个bower.json文件。
“管理”包含获取,下载,安装,更新,查找,注册等等一系列对资源的操作。

bower与npm
npm是专门管理node模块的管理工具,而bower是node的模块,因为bower是依赖node,npm和git。npm擅长的是管理node模块,而bower管理的范围更大,涉及html,css,js和图片等媒体资源。常在服务器端使用npm,而在客户端使用bower。

gulpjs
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快。

JSHint、JSCS、ESLint、JSLint
JSHint 可以帮助检测 JavaScript 代码中的错误和潜在的问题
JSCS 是一个 JavaScript 的代码风格检查工具,通过使用这两款 QA Tools 能在团队协作中大大提升代码的正确性、准确性、完整性、简洁性、统一性及易读性。

WebSocket

angular-websocket
https://www.npmjs.com/package/angular-websocket
在angular工程中使用angular-websocket:

#index.html中 
#app.js中 angular.module('appmodule1', ['angular-websocket'])
#controller中
app.controller('UnitsReportsCtrl', function($scope, $websocket) {
        if(!$scope.ws) {
            $scope.ws = $websocket("ws://localhost:8181");

            $scope.ws.onOpen(function (e) {
                console.log('Connection to server opened');
            });
            $scope.ws.onMessage(function (e) {
                console.log('received',e);
            });
        }
        $scope.ws.send('test11');
}

在nodejs中使用websocket
https://github.com/websockets/ws

发布者

brogrammer

不怕路太远找不到终点,就怕两个世界画不成一个圆。 相对于很闷的计算机痴迷者,brogrammer是潇洒的程序员,他们善于社交,喜欢外出玩乐,他们是荷尔蒙旺盛的程序员新品种,是赋有社交型大脑的技术男。相对于一些成熟的公司里,他们在创业公司里更常见。

发表评论

电子邮件地址不会被公开。 必填项已用*标注