文档章节

ionic实践教程

java_speed
 java_speed
发布于 2015/04/04 18:00
字数 782
阅读 436
收藏 15

不准备做原生开发,就一直研究各种混合开发的框架,各种对比之后确定ionic框架,主要有几点理由:

  1. 漂亮的界面(基本就是模仿ios的UI来开发的)
  2. 入门简单,基本上根据官方提示,很快就进入demo
  3. 集成cordova简单(好像cordova官方说ionic贡献不少)
  4. 基本iOS和Android没什么差别
  5. 基本UI控件齐全
  6. 社区支持很到位。

ionic,http://ionicframework.com/ ,官方对他的定位是:HTML5前端混合框架(不是取代PhoneGap)。入门介绍可以直接参考官网,这里说一下,各种最佳实践。

工具

个人建议使用这个 HBuilder, http://www.dcloud.io/ ,功能绝对强过WebStorm,遗憾的是:妈的需要注册,而且密码居然是明文的,另外没有Linux发行版。但比较强大就忍了。

初始化

首先确定你的app大致框架,确定采用哪种模板,主要有blank、sidemenu、tabs三个模板

ionic start MyApp sidemenu # 我主要采用sidemenu来导航



修改您的项目信息,如app中文名、描述、作者等等
vi config.xml # 基本上一眼就能看出来哪些信息需要你重新改



修改iOS和Android可能在显示上不一致的地方,基本参考 http://ionicframework.com/docs/api/provider/$ionicConfigProvider/ ,我主要修改sidemenu title对齐问题,checkbox样式、tabs上下问题
vim www/js/app.js

.config(function($ionicConfigProvider, $stateProvider, $urlRouterProvider) {

    $ionicConfigProvider.form.checkbox("circle");
    $ionicConfigProvider.form.toggle("large");
    $ionicConfigProvider.tabs.position("bottom");
    $ionicConfigProvider.tabs.style("standard");



对齐问题:
<!-- 就是导航条居中对齐 -->

<ion-nav-bar class="bar-positive" no-tap-scroll="true" align-title="center">



浏览器测试

# 浏览器测试(默认iOS的样子)
ionic serve 
# 浏览器测试(iOS和Android同时测试)
ionic serve --lab


# iOS/Android 环境配置
# Android需要按照Android虚拟机,并创建4.2以上版本的模拟机
# iOS需要Xcode环境
ionic platform add ios/android
ionic run ios/android



几点建议

  1. 先看看别人踩过的坑:https://github.com/my101du/ionic-babythings
  2. iOS CORS跨域不行,没办法只能jsonp
  3. 尽量搞个Mac,提高工作效率
  4. iOS“无痕模式”不能写localstorage数据,这个只能提示用户不能使用
    # 在app就绪的时候提示,www/js/app.js
    
    
    .run(function($ionicPlatform) {
    	$ionicPlatform.ready(function() {
    		// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    		// for form inputs)
    		if (window.cordova && window.cordova.plugins.Keyboard) {
    			cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    		}
    		if (window.StatusBar) {
    			// org.apache.cordova.statusbar required
    			StatusBar.styleDefault();
    		}
    		
    		try {
    			window.localStorage.isBrowser = ionic.Platform.platforms[0] === 'browser';
    		} catch (_) {
    			alert("本地储存写入错误,请关闭“隐身模式”或“无痕浏览”。");
    		}
    	});
    })



  5. iOS真机测试,尽量搞个开发者账号,实在不行淘宝一个“开发者证书”,这样可以真机测试
    ionic build ios # 编译出xcode工程



  6. 根据《ionic action》一书说,如果ionic的某个组件在CSS和api中都有,请优先选用css
  7. 更改绑定IP
     
    ionic address # 重新选择绑定IP



PS:

附上我的网站:印象网盘搜索的Android版下载地址,iOS由于没开发者账号不发布。

Android: http://dl.impress.pw/impress-search.apk

wap: http://mobile.impress.pw 

样子基本一模一样。



© 著作权归作者所有

共有 人打赏支持
java_speed
粉丝 110
博文 44
码字总数 17031
作品 1
成都
程序员
Tonge/TongeNewsApp

注:此项目服务器已经关闭,接口已无法使用。 ###前言 这是一个系列文章,从环境搭建开始讲解,包括网络数据请求,将持续更新到项目完结。实战开发中遇到的各种问题的解决方案,也都将毫无保...

Tonge
2016/11/10
0
0
前端教程

IONIC(基于angular) 教程: 菜鸟教程:http://www.runoob.com/ionic/ionic-tutorial.html NPM: 1、安装依赖:npm install -g ionic cordova 2、创建项目:ionic start myIonicApp IONIC2......

jason_wu_2
2016/10/11
18
0
移动开发者们,是时候使用HTML5了!

Html5喊了好多年了,至今仍没有被大规模的使用。依然记得2012年参加HTML5梦工厂(现在叫iWeb峰会)去了好多人,当时天真的以为,Html5真的开始流行起来了,于是就在会场卖书的地方买了本Htm...

OneAPM蓝海讯通
2015/07/10
252
2
ionic-native-transitions让html5开发的app和原生一样快

Ionic(ionicframework)一款接近原生的Html5移动App开发框架 会html css js就可以开发跨平台的app 但是大家都知道 ionic在稍微低配置的android手机上面表现不是特别好。下面介绍的ionic-nat...

htzhanglong
2016/01/17
3.9K
2
Mobile first! Wijmo 5 + Ionic Framework之:Hello Wor

本教程中,我们用Wijmo 5 和 Ionic Framework实现一个Mobile的工程:Hello World。 Ionic是什么? Ionic是一个HTML5框架、免费、开源,用于帮助生成hybird mobile Apps (混合移动应用)。 Ioni...

葡萄城控件技术团队
2014/10/28
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

day58-20180816-流利阅读笔记-待学习

苹果市值破万亿,iPhone 会涨价吗? Lala 2018-08-16 1.今日导读 苹果教父乔布斯曾经说过:“活着就是为了改变世界。”虽然他在 56 岁时就遗憾离世,但他极具创新和变革的精神早已深埋进苹果...

aibinxiao
21分钟前
4
0
[雪峰磁针石博客]python3快速入门教程1 turtle绘图-2函数

菲波那契序列: >>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1>>> while b < 10:... print(b)... a, b = b, a+b...112......

python测试开发人工智能安全
今天
0
0
java环境变量配置最正确的方式

原贴:https://blog.csdn.net/qq_40007997/article/details/79784711,十分详细,亲测有效

kitty1116
今天
0
0
49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
2
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部