前端学习总结(十二)ionic——媲美原生的h5跨平台移动应用开发框架

本文主要是介绍前端学习总结(十二)ionic——媲美原生的h5跨平台移动应用开发框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

进入正题ionic之前,先聊聊目前很火的h5开发移动应用的主流技术,做个对比。

  1. Jqmobi
    轻量级框架,它的语言基于 jquery 语言容易上手,运行速度快,但是没有 MVC 多人协作
    开发的概念,项目比较大后 代码不易维护 (中小项目 1-2 个人开发很适用)
  2. SenchaTouch
    运行速度快 和 jqmobi 运行速度差不多, 兼容性好, 基于 MVC 世界上第一个 html5 移
    动开发框架,但是它是一个重量级的框架, 需要 extjs 基础 代码复杂需要较强的程序基
    础。
    但是 sencha architect 是个很不错的可视化开发工具,弥补了 sencha 的不少缺点
  3. ionic
    运行速度快 和 jqmobi 运行速度差不多, 轻量级框架,基于 Angularjs,支持 Angularjs
    的特性, MVC ,代码易维护
    IONIC 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它
    提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 JavaScript MVVM 框架和
    AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选
    择。即将发布的 AngularJS 2.0将会专注于移动开发,相信 IONIC一定会取得不错的成就 。
  4. Crosswalk 开源 android WebView 引擎,让 Phonegap android 应用飞起来(经
    测试运行速度可以提升 3-5 倍)

一 ionic简介

ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。绑定了AngularJS和Sass。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。

ionic提供很多css组件和javascript UI库。

ionic可以支持定制android和ios的插件,也支持服务端REST的敏捷开发。

ionic 特点:
1.ionic 基于Angular语法,简单易学。
2.ionic 是一个轻量级框架。
3.ionic 完美的融合下一代移动框架,支持 Angularjs 的特性, MVC ,代码易维护。
4.ionic 提供了漂亮的设计,通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。
5.ionic 专注原生,让你看不出混合应用和原生的区别
6.ionic 提供了强大的命令行工具。
7.ionic 性能优越,运行速度快。

ionic优点

学习成本低

对前端开发者来说,学习成本不是很高,如果有接触过 angular ,就几乎没有什么学习成本了

简单易用

强大的CLI, start -> platform -> serve -> build -> emulate -> run ,全套服务命令行完成,不用写配置文件,不用F5

组件多而强大

提供了很多强大的现成组件,很容易实现流行的交互效果,比如下拉刷新( ion-refresher )、上拉加载/瀑布流( ion-infinite-scroll )、tabs( ion-tabs )、侧边栏菜单( ion-side-menu )等等,只需要写一点点代码,就能实现这些流行效果,比native开发速度快太多了

支持cordova插件

打开了这扇门,意味着我们可以使用大量的原生功能,比如调用相机拍照、响应返回按钮、打电话发短信发邮件……都只要几行代码就能搞定

更新速度快

快速更新意味着有人维护,bug能被迅速修复

缺点:

新版本不完全向后兼容

bug难以定位

angular+cordova+ionic+javascript,发现问题后,很难确定是哪块的问题

性能优化难

动画卡顿,低端机体验更差,而优化措施一般都是建议少用动画少用阴影少用渐变

二 ionic常用技巧

1创建应用:

进入想要创建工程的目录,输入命令:

a. 创建空白应用:

$ ionic start myApp blank

b. 使用ionic官方提供的模版,创建一个带标签的应用:

$ ionic start myApp tabs

这里写图片描述

c. 使用ionic官方提供的模版,创建一个带侧边栏菜单的应用:

$ ionic start myApp sidemenu

这里写图片描述

2.运行

1.ios:

$ cd myApp
$ ionic platform add ios
$ ionic build ios
$ ionic emulate ios

2.android:

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

如果是使用手机或者genymotion的话,最后一行命令是:ionic run android,建议使用使用手机或者genymotion模拟器测试,比AS的模拟器快很多。

3.通过Chrome浏览器运行调试

进入工程目录,输入命令:

$ ionic serve

在Chrome浏览器打开调试地址,将浏览器跳到手机模式,可以方便快捷的测试android和ios下的运行情况,一般功能的调试推荐用这种方式

三 ionic常见问题解决

一.jsonp跨域,php服务怎么写

这是angular的问题angular的$http可以发送jsonp请求,用法类似于jQuery,如下:

// 请求数据
$http.jsonp(sUrl).success(function(res){// ...
}).error(function(err){// ...
});

sUrl 有特殊要求,必须带上 callback 参数,而且参数值 只能 是 JSON_CALLBACK ,angular文档:

Relative or absolute URL specifying the destination of the request. The name of the callback should be the string JSON_CALLBACK.

例如:

var sUrl = http://www.ayqy

这篇关于前端学习总结(十二)ionic——媲美原生的h5跨平台移动应用开发框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823354

相关文章

CSS3 布局样式及其应用举例

《CSS3布局样式及其应用举例》CSS3的布局特性为前端开发者提供了无限可能,无论是Flexbox的一维布局还是Grid的二维布局,它们都能够帮助开发者以更清晰、简洁的方式实现复杂的网页布局,本文给... 目录深入探讨 css3 布局样式及其应用引言一、CSS布局的历史与发展1.1 早期布局的局限性1.2

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

Redis中RedisSearch使用及应用场景

《Redis中RedisSearch使用及应用场景》RedisSearch是一个强大的全文搜索和索引模块,可以为Redis添加高效的搜索功能,下面就来介绍一下RedisSearch使用及应用场景,感兴... 目录1. RedisSearch的基本概念2. RedisSearch的核心功能(1) 创建索引(2

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求