前言

最近用ionic做hybrid app的开发,这篇文章用来记录探索过程中遇到的方方面面。
声明:在开始这个项目之前没有接触过任何web开发相关的知识,所以下面的内容是从一个初学者的角度出发。


首先对ionic有所了解,直接看官网即可,跟着例子走一遍,有个直观的感觉。然后前端要学的东西很多,html5,css,js等,这些可以在w3school上学习,另外可以看看知乎上的这个回答
另外ionic的逻辑是用angularJS写的,因此必须要对其有比较好的理解:

更新(2015-8-31):w3school只能用作参考,实际学习知识请阅读书籍,参看教程,推荐《Head First Html & Css》《javascript语言精粹》
廖大大的javascript教程

Ionic相关博文

ionic开发资料

###ionic 服务

  • ionicView

    $ 将应用上传到ionic.io上,并在设备上浏览

  • ionic图标

    $ 如果要使用Ionic提供的图标,可以到该网站上查找名字,然后通过icon=”“使用

###优质博客

###ionic 提升性能


##后端

###Node
现在写后端比较火的是用nodejs编写,然后nodejs有个很好的应用开发框架叫Express,这里有篇文章是教你如何从零开始搭建node,express,monggodb服务器,这里是国人翻译的版本.

###NodeJs 后端开发记录
上面推荐的文章是webapp的方式,和我们的需求有些不同,这篇文章an-end-to-end-hybrid-app和ionic结合的更紧密,推荐阅读。

Npm命令简介(转载自网络)

  • npm install 安装nodejs的依赖包

例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6

  • npm install -g 将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

  • npm install –save 安装的同时,将信息写入package.json中
    项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包

这样代码提交到github时,就不用提交node_modules这个文件夹了。

  • npm init 会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

  • npm remove 移除

  • npm update 更新

  • npm ls 列出当前安装的了所有包

  • npm root 查看当前包的安装路径

  • npm root -g 查看全局的包的安装路径

  • npm help 帮助,如果要单独查看install命令的帮助,可以使用的npm help install

官网文档:https://npmjs.org/doc/

###生成的package.json文件中的dependencies前面的~,^符号的含义
典型的文件形式是,其中的~和^ 是什么含义呢

1
2
3
4
5
6
7
8
9
"dependencies": {
"express": "~4.2.0",
"body-parser": "~1.0.0",
"mongoose": "~3.8.11",
"bcrypt": "^0.8.3",
"mongojs": "^0.18.2",
"morgan": "^1.5.3",
"restify": "^3.0.3"
}

借用stackoverflow上的回答:

In the simplest terms, the tilde matches the most recent minor version (the middle number). ~1.2.3 will match all 1.2.x versions but will miss 1.3.0.
The caret, on the other hand, is more relaxed. It will update you to the most recent major version (the first number). ^1.2.3 will match any 1.x.x release including 1.3.0, but will hold off on 2.0.0.

###Http Status code
服务器发送响应时需要指定状态编码,如404,203等,看这里


###LeanCloud
如果不想自己租用服务器,编写后端代码,国外有parse,国内有LeanCloud都提供后端云服务。尝试使用了,感觉不错,不过本app的数据比较敏感,所以还是得自己搭服务器。

一些坑:

  1. 对于javascript版本的leancloud api ,官方文档给出的方法是直接将
    1
    <script src="https://cdn1.lncld.net/static/js/av-mini-0.5.4.js"></script>

这样一段代码插入到页面中,但我们这个hybird app,每次都要去网上下载太费时间,可以先将它下载到本地,在本地载入。

##一些常用的工具网站

  • apiary 创建优美的api文档
  • heroku 强大的App 部署云平台
  • mongolab 提供mongodb数据库服务

##学习资源