之前学AngularJS,教程过了一遍觉得很简单,但真正写几个Demo就错误百出,一个小小的功能要折腾很久。所以这次学Ionic,准备以开发一个项目为切入点去学,那么问题来了,开发什么项目呢?

纠结了10秒,还是模仿微信吧^_^,大体列一下要实现的功能:

  1. 界面要像,呵呵
  2. 聊天消息列表,查看对话内容,来了消息推送提醒
  3. 通讯录展示,好友搜索,右侧字母快速索引
  4. 朋友圈展示,发朋友圈消息
  5. 扫一扫, 摇一摇功能
  6. 设置功能,设置消息提醒方式,设置聊天背景,关于等

之前根本没接触过上层应用这块,这些功能有点够呛,希望能坚持下去,把这个项目完成好,把博客写好,与各位共勉,加油!

摘要

本篇文章主要介绍一下Ionic,开发环境的配置,以及创建并运行一个官方的example
项目地址

Ionic介绍

Ionic是一个基于Cordova漂亮,开源的前端SDK,用web技术就可以开发跨平台移动app,它支持在线拖拽生成界面(ionic creator),并可以免费下载生成的代码。更多介绍
开始之前我觉得最好具备以下几点知识:

  1. HTML5,CSS3和Javascript三剑客
  2. AngularJS
  3. NodeJS
  4. 响应式布局
  5. Linux(我是ubuntu14.04)

环境搭建

安装NodeJS

  1. 直接在官网下载二进制包,并解压
    $ tar -xvf node-v4.0.0-linux-x64.tar.gz
  2. 增加软连接
    $ sudo ln -s ./node-v4.0.0-linux-x64/bin/node /usr/bin/node
    $ sudo ln -s ./node-v4.0.0-linux-x64/bin/npm /usr/bin/npm
  3. 测试
    $ npm -v
    $ node -v

安装android开发环境

  1. 安装JDK
  2. 安装Android SDK,当然要FQ啦~
    $ tar -xvf android-sdk_r24.4.1-linux.tgz
    $ cd android-sdk-linux && tools && ./android
    下载API22和默认勾选的项目(下载这个貌似不要FQ,我关掉这个能全速下载)
  3. 添加ANDROID_HOME和adb路径, 打开~/.profile,添加两行:
    export ANDROID_HOME=~/usr/android-sdk-linux
    export PATH=$PATH:${ANDROID_HOME}/platform-tools
  4. 创建一个AVD(建议使用Genymotion,原装的太太太卡),运行./android-sdk-linux/tools/monitor
  5. 安装Ant
  6. 给大家看一下我最后的~/.profile文件

安装cordova和Ionic

安装Cordova

$ npm install -g cordova

安装Ionic

$ sudo npm install -g ionic

创建一个项目

$ ionic start myApp tabs
创建了一个myApp项目,使用了tabs模板,另外还有两个模板blanksidemenu

添加平台并编译(要添加ios,直接add ios)

$ cd myApp
$ ionic platform add android
$ ionic build android

在本地浏览器测试

$ ionic serve
打开http://localhost:8100/

在手机测试,连上adb(或者运行Genymotion),再运行下面命令

$ ionic run android

在模拟器测试(不建议使用,AVD太太太卡)

$ ionic emulate android

ok,这篇就写到这里,下一篇项目正式开始

Ionic-wechat项目边开发边学(一):环境搭建和创建一个项目的更多相关文章

  1. eclipse开发cocos2dx 3.2环境搭建之中的一个: Android C\C++环境搭建(ndk r9d)

    这几天有时间,琢磨一下cocos2dx.cocos2d家族事实上挺庞大的.也有cocos2d-android这样的能够直接用Java语言来开发的,可是cocos2d-android资料相对少一些.并且 ...

  2. vue.js开发环境搭建以及创建一个vue实例

    Vue.js 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 在使用 vue.js ...

  3. vue3环境搭建以及创建简单项目。

    1.环境准备,以下都是我的版本.自己在官网上面下载需要的版本. 尝试了Python3.7.3在创建vue3项目时出现问题. node.js10.16.0, python2.7.16, yarn1.16 ...

  4. maven环境搭建及创建maven项目

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 1.maven下载地址http://maven.apache.org/download.cgi ...

  5. 从零开始学Xamarin.Forms(二) 环境搭建、创建项目

    原文:从零开始学Xamarin.Forms(二) 环境搭建.创建项目 一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK,当然还需要 VS2013 ...

  6. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  7. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之三 —— 配置

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  8. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  9. Gitlab创建一个项目(三)使用IntelliJ IDEA开发项目

    Gitlab创建一个项目 Gitlab创建一个项目(二)创建新用户以及分配项目 1.登陆到gitlab 2.点击项目名,获取http的URL 3.idea打开,选择git 4.设置项目路径以及本地保存 ...

随机推荐

  1. 使用tcpdump监控网络消息发送

    tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...

  2. [LeetCode] 大数问题,相加和相乘,题 Multiply Strings

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  3. vijos 1313 金明的预算方案 树形DP

    描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今天一 ...

  4. Sass 基本特性-运算 感觉满满都是坑

    Sass中的基本运算 一.加法 在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行.但在 Sass 中,运算只是其基本特性之一.      sass做加法运算是可以不考虑参数带单位,但需 ...

  5. 【bzoj3362-导航难题】带权并查集

    题意: 约翰所在的乡村可以看做一个二维平面,其中有N 座牧场,每座牧场都有自己的坐标,编号为1到N.牧场间存在一些道路,每条道路道路连接两个不同的牧场,方向必定平行于X 轴或Y轴.连通两座牧场之间的路 ...

  6. 模板复习【updating】

    马上就要noi了……可能滚粗已经稳了……但是还是要复习模板啊 LCT: bzoj2049 1A 7min # include <stdio.h> # include <string. ...

  7. 【51NOD】消灭兔子

    [算法]贪心 #include<cstdio> #include<algorithm> #include<cstring> #include<queue> ...

  8. Bazinga(HDU5510+KMP)

    t题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 题目: 题意:找到一个编号最大的字符串满足:存在一个编号比它小的字符串不是它的字串. 思路:K ...

  9. Python eval 函数说明

    eval(str [,globals [,locals ]]) -- 函数将字符串str当成有效Python表达式来求值,并返回计算结果. 例 :  eval('3+4')         ==> ...

  10. SD 模拟sip 读写子程序

    void simulate_spi_write_byte(u8 data){ u8 kk; SPI3_CS(0); SPI3_SCK(0); delay_us(1); //???spi???1/2us ...