在思考怎么将客户端app连接到服务器的时候,就在想ionic项目的本质是什么,一开始因为ionic serve这一命令,我以为它自己就是个服务器,但是后来一细想又感觉不是这样,不然客户端又该怎么和服务端进行交互呢?而ionic本质正好验证了我的猜想。

通过ionic info我们可以发现ionic项目所需环境如下:

Your system information:

 ordova CLI: 6.4.0
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 8.1
Node Version: v6.3.1
Xcode version: Not installed

所以,我的理解是npm负责下载各类文件,ordova负责封装apk,node.js主要是跑服务器(不用别的开发工具就能在PC端调试),而ionic是基于angular的前端框架(应该还是有别的作用,不过我不清楚),而www文件就是一个web项目(无后台交互)。

那么ionic项目和原生android又有什么不同呢?它们生成的apk又有什么不同?

ionic项目目录:

原生android目录:

ionic生成apk解压后目录:

原生android生成apk解压后目录:

可以发现,项目目录还是存在较大差异的,但是apk解压后的差别很小,ionic比原生多了一个assets文件夹,其中包含了www文件夹。

若有什么不对的地方,请大家指出,不胜感激!
未完待续......

浅谈对ionic项目的理解的更多相关文章

  1. 浅谈我对JCS 的理解

    JCS 是Java 中缓存的一种实现,支持将数据缓存到内存和硬盘中,支持设置缓存对象的有效时长. 我认为可以这么理解JCS:客户端向服务器发出请求,服务器就先去缓存中查一下有没有客户端请求的数据,有则 ...

  2. 浅谈.NET中AppDomain的理解

    一.走进.NET AppDomain 天哪,.NET Framwork的CLR真是巧妙呢!随着越来越多的对.Net底层编程的了解,一些诸如架构,处理过程的复杂难懂的细节完全的让我叹服,所以呢,再次错过 ...

  3. 浅谈对Js闭包的理解

    理解Js的闭包,首先让我们先看几个概念 执行环境(executive environment)每个函数都有自己的执行环境,匿名函数默认为全局环境. 作用域链(scope chain)子函数继承父函数, ...

  4. 浅谈Cordova框架的一些理解

    前言 因为工作原因,最近需要研究Cordova框架,看了其中的源码和实现方式,当场在看的时候马上能理解,但是事后再回去看相关源码时候却发现之前理解的内容又忘记了,又不得不重新开始看,所以总觉得需要记录 ...

  5. 浅谈redux-form在项目中的运用

    准则 先说一下redux的使用场景,因为如果没有redux,那更不会有redux-form. redux基于Flux架构思想,是一个状态管理框架,其目标是解决单页面应用中复杂的状态管理问题. 日常前端 ...

  6. 浅谈Log4net在项目中如何记录日志

    一    引入背景 在软件开发周期中,无论是开发中,或是测试中,或是上线后,选择合适的工具监控程序的运行状态至关重要,只有如此,才能更好地排查程序问题和检测程序性能问题等.本篇文章主要与大家分享,如何 ...

  7. 浅谈对js原型的理解

    一.  在JavaScript中,一切皆对象,每个对象都有一个原型对象(prototype),而指向该原型对象的内部指针则是__proto__.当我们对对象进行for in 或者for of遍历时,就 ...

  8. 浅谈对JIT编译器的理解。

    1. 什么是Just In Time编译器? Hot Spot 编译 当 JVM 执行代码时,它并不立即开始编译代码.这主要有两个原因: 首先,如果这段代码本身在将来只会被执行一次,那么从本质上看,编 ...

  9. 浅谈HTTP和TCP的理解

    TCP协议对应于传输层,而Http协议对应于应用层,Http协议是建立在TCP协议之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.HTTP会通过TCP建立一个连接通道,当HTT ...

随机推荐

  1. javascript基础知识show

    1.javascript的数据类型是什么 基本数据类型:String,boolean,Number,Undefined,Null 引用数据类型:Object(Array,Date,RegExp,Fun ...

  2. mysql 存储过程和事件调度

    存储过程(procedure): 建立一个存储过程需要知道的基础知识 1.确定输入/输出的参数和类型: IN tname varchar(20) 其中 IN 表示输入参数,tname  是参数名 va ...

  3. 两行代码搞定 JavaScript 的日期验证

    我们通常在 JavaScript 中验证日期,基本的思路大概是,先判断年月日是否有效,再判断当月是否有当日,比如一些月份没有 31 日,平年二月没有 29.30 日,闰年二月没有 30 日等等. 偶然 ...

  4. DuiLib 源码分析之解析xml类CMarkup & CMarkupNode cpp文件

    时隔5个月才有时间接着写未完成的实现部分,也是惭愧呀 选几个关机的函数来解析,一些get方法就忽略掉吧 CMarkupNode 与 CMarkUp 互为友元类,CMarkUp 实现解析,CMarkup ...

  5. android线程登录

    主入口代码: package com.tp.soft.app; import java.io.IOException; import java.util.HashMap; import java.ut ...

  6. phpstorm 设置Utf8编码

    点击file 再点击setting 找到file Encoding gbk改成utf-8就ok了

  7. Sublime Text 3插件安装

    自动安装: 1.通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台 2.粘贴对应版本的代码后回车安装 适用于 Sublime Text 3: import   ...

  8. javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数

    3.1 语法 ECMAScript的语法大量借鉴了C及其他类C语言的语法. 3.1.1 区分大小写 3.1.2 标识符 所谓标识符,就是值变量.函数.属性的名字,或者函数的参数.标识符可以是按照下列格 ...

  9. kali 安装FTP服务器-vsftpd

    参考文章:Ubuntu 14.04 FTP服务器--vsftpd的安装和配置 本文将会介绍在kali2.0上安装vsftpd,主要分成四块:更新源列表.安装和配置vsftpd服务器.使用ftp命令传输 ...

  10. mysql的操作

    关系型数据库是表格形式,比普通文件存储访问数据的速度更快,更容易查阅和提取满足特定条件的数据 关系数据库具有内置的权限系统 每一条数据对应唯一的标识 1,打开XAMPP继承的数据库  打开mysql ...