ionic实践教程
ionic实践教程
java_speed 发表于3年前
ionic实践教程
  • 发表于 3年前
  • 阅读 398
  • 收藏 15
  • 点赞 1
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: ionic实践教程 -- 个人在开发“印象网盘搜索”手机版时,采用ionic混合框架开发的,特开此文记录开发过程中遇到的坑。

不准备做原生开发,就一直研究各种混合开发的框架,各种对比之后确定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 

样子基本一模一样。



标签: ionic 最佳实践
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 109
博文 44
码字总数 17031
作品 1
×
java_speed
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: