提起iuapmobile studio,相信大家已经不再陌生了,是进行移动应用开发的强大集成工具与必备神器。借助强大的iuap mobile studio,可以实现对开发、测试、调试、打包、发布全程管理。同时iuap mobile studio又是一个极具开放性的平台工具,可以与绝大多数优秀的前端框架、技术很好地集成。今天我们就来看看在iuap mobile上如何玩转这些如火如荼的前端自动化构建技术。
说起目前主流前端自动化构建技术,少不了npm、grunt、gulp、browserify、webpack的身影,它们不但可以省去你开发时代码合并、压缩等工作,还可以让你使用SASS、LESS、ES6、React、Vue等进行开发新体验。

我们来简单认识一下这些技术吧,熟悉这些技术同学可直接略过下面一段。

iuap mobile在进行移动开发时如何引入这些前端自动化构建技术呢?接下来我们通过两个例子来看一下在iuapmoile之上如何使用这些自动化构建工具。
iuapmobile + gulp
首先我们来看一下gulp如何在iuapmobile中使用。总的来说,分为如下几步:
(1)环境搭建
(2)创建gulp项目
(3)本地项目依赖配置及开发
(4)编译打包
第一步、环境搭建
这块网上介绍性的很多,总的来说就是使用npm进行全局安装和本地项目开发依赖安装使用如下步骤来进行安装运行,涉及的命令如下:

  1. 全局安装 gulp:

$ npm install -g gulp

  1. 作为项目的开发依赖(devDependencies)安装:

$ npm install --save-dev gulp

  1. 在项目根目录下创建一个名为 gulpfile.js 的文件:

var gulp = require('gulp');
gulp.task('default', function(){
// 将你的默认的任务代码放在这
})

  1. 运行 gulp:

$ gulp
第二步,创建gulp项目
通过iuapmobile studio新建项目的向导页创建gulp项目,studio会自动为你生成一个典型的gulp目录结构。整个过程如下图所示:

自动化构建开发
我们通过在gulpfile.js中,通过编写各种task,使用gulp插件(例如gulp-concat、gulp-sass、gulp-less、gulp-uglify等)将我们项目中的js、css、sass、less等文件统一压缩合并并输出成新的目标文件,在HTML页面中引用压缩合并后的文件即可。例如下图就是一个基于iuapmobile studio开发的一个使用gulp的页面示例。其中
左边图展示一个iuapmobile移动项目的目录结构,其中
根目录下的js、css、img等文件夹都是源代码文件夹。
dist文件夹是使用gulp进行自动化构建的目标文件夹。
右边图展示了使用gulp来对项目中的JS、CSS、LESS、SASS进行合并压缩,主要是通过JavaScript借助gulp的require机制加载各种gulp插件,来编写gulp task来实现自动化构建。

下图(左)html页面引用的dist/css/all.css、dist/js/all.min.js都是通过gulp合并压缩后的文件,加快了页面资源加载速度。例如all.min.css实际上是sass和less编译后的合并压缩文件,如下图(中)展示的代码是SASS语法编写的样式,下图(右)展示的是用LESS语法编写的样式。

gulp不仅提供了针对SASS、LESS的插件,还提供了针对JSX、ES6、TypeScript的插件,可以这些插件可以使用新的语法形式来编写JavaScript代码,这些还靠大家自己去亲身实践,这里就不过多赘述了。
第四步、编译打包
所有开发打包完毕后,可以使用iuapmobile的一键打包功能进行本地编译打包功能生成安卓应用了。通过云打包进行IOS编译打包可以生成IOS应用。生成后的效果图如下:
这一步,没有什么额外的工作,只需要像往常使用iuapmobile进行编译打包一样进行操作即可,运行后在模拟器或真机上查看后的结果如下图。

通过以上可以看出在iuapmobile上,是可以使用gulp来完成移动开发中的自动化构建工作的,避免了容易出错的手工操作环节,在编写代码方式上也有了更多的选择,将开发环境和生产环境进行分离,最终页面加载的也都是合并压缩后的,,加载效率自然会提升不少。
iuapmobile + webpack
我们再来看一下webpack如何在iuapmobile中使用。首先来看一下iuapmobilei前端js框架如何支持模块化。

iuapmobile中前端js框架是支持模块化编写的代码,因此在webpack中可以通过require机制来加载,例如
var summer = require(‘summer.js’);
var um = require(‘iuapmobile.framework.ui.js');
其中,iuapmobile.framework.ui.js是iuapmobile提供的前端UI插件JS文件合并而成的插件集合,其中每一个插件来自一个独立模块化的js文件,因此也支持直接独单加载某个模块插件,例如
var modal = require(‘um.modal.js’);
modal.toast(‘这是一个toast’);adfadf
总的来说分为如下几步:
(1)环境搭建
(2)创建webpack项目
(3)本地项目依赖配置
(4)开发测试打包运行
第一步、环境搭建

  1. 全局安装webpack:

$ npm install -gwebpack

  1. 作为项目的开发依赖(devDependencies)安装:

$ npm install --save-devwebpack

  1. 配置webpack.config.js的文件

通过该配置文件指定入口文件路径和存放打包后文件的地方的路径等
4。通过安装各种使用到的加载器、插件、开发服务器等。
$ npm install --save-devstyle-loader css-loader
$ npm install --save-dev babel-core babel-loader babel-runtime
$ npm install --save-devbabel-preset-es2016 babel-preset-react
$ npm install --save-devwebpack-dev-serve

  1. 运行webapck:

$ webpack
第二步、创建wenpack项目
通过iuapmobile studio新建项目的向导页创建webpack项目,studio会自动为你生成一个典型的webpack目录结构。整个过程如下图所示:

我们可以看到在项目根目录下有package.json、webpack.config.js等文件其中,
package.json是npm管理配置的,
webpack.config.js来webpack进行项目管理配置的。
node_modules是你的引入的插件模块所在的目录,熟悉前端自动化构建的同学对此一定很熟悉吧。
public文件夹是该配置文件中定义的输出文件夹路径
以上时iuapmobile默认为你生成的目录结构,当然你也可以在此基础上改成你自己习惯的目录结构。
第三步、使用webpack进行自动化构建开发
我们webpack提供了针对JS、CSS、JSON进行模块化加载的各种loader,通过安装这些loader后,我们便可以对项目中的各种资源进行打包。如下图所示,左边图为webpack.config.js中定义的各种loader,右边图中dist文件夹为打包后目标文件夹,其中indexBundle.js等为各对应HTML页面打包后的js文件。

除了打包之外,使用webpack的另一个有意义的事情便是可以使用ES6、React、Vue等来编写自己的代码了。如下所示
左边图展示了该页面仅仅需要引用一个打包后的indexBundle.js即可。
右边图展示了indexBunlde.js中对各种资源文件的统一模块化加载,其中包含了ES6语法写的js,还包括css、scss等样式文件以及引用的第三方插件js文件。

下面左图则是使用ES6语法来编写的JS代码,通过import被模块化加载到indexBundle.js中。右图则是使用SASS语法编写的样式,通过require被打包到indexBundle.js中,页面无需单独再引用转化为css后的文件。

第四步、编译打包
所有开发打包完毕后,可以使用iuapmobile的一键打包功能进行本地编译打包功能生成安卓应用了。通过云打包进行IOS编译打包可以生成IOS应用。生成后的效果图如下:

看了这两个案例有没有心动?原来你的iuapmobile项目也可以使用自动化构建自己的项目了,有没有眼前一亮的感觉?实际开发中,也可以根据需要将gulp和webpack组合使用,通过gulp插件gulp-webpack来完成资源打包和模块化加载工作,在gulpfile中定义task来完成整个项目自动化构建,例如

iuapmobile的开发者使用者们要不要赶紧去实践一下呢?
关于iuapmobile
iuapmobile开发平台是一个开放的平台,好的前端开源框架、技术工具都可以集成使用。开源、开放模式是我们一贯的理念。至于在实际应用开发过程中是否引入前端自动化构建完全取决于聪明的开发者自身,平台、框架说到底都是工具、方法,软件开发中的人才是最核心因素。什么是好的技术、什么时机引用什么技术,都取决于人的因素,在某种意义上,软件、硬件,归根结蒂都是人件。
iuap mobile普及:
iuap mobile为企业提供了完整的从跨平台开发到管理运维到安全整合的一体化解决方案。帮助企业迅速达到较高级别的移动信息化成熟度水平,是企业移动化建设的基础设施。
iuap mobile成功服务于政府机关以及不同行业的大型企业,比如:中国海关总署、中国核电工程有限公司、国家开发银行、长城汽车、港华燃气、贵州茅台、旭阳集团、广泽乳业、等。
iuap mobile包含如下产品:
1、 移动开发平台:跨平台开发
2、 移动运行支撑平台:对接第三方业务系统、各种移动服务、移动接入安全、数据缓存、应用多版本容器管理等
3、 移动安全管理系统:移动安全、设备管理、应用管理、设备应用统计分析等等
4、 移动应用商店:移动应用分发与管理

「移动开发」iuap mobile玩转前端自动化构建相关推荐

  1. 「敏捷开发」适合什么样的团队?

    如今互联网行业,每天有无数的公司倒下,同样也有无数的公司站起来. 越来越多的人将「敏捷开发」搬上台面大谈特谈,或是为了抢占市场先机.或是为了不断修正需求方向.或是表现出相当的创业精神进而"骗 ...

  2. 【周记】腾讯犀牛鸟「云开发」校园技术布道师养成计划

    一个月前开始试着学习微信小程序 恰好腾讯举办了这个[腾讯犀牛鸟「云开发」校园技术布道师养成计划]https://www.bilibili.com/read/cv4965254这个活动 技术增长 抛开活 ...

  3. 「跨域」利用node.js实践前端各种跨域方式(上)

    前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...

  4. 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境

    一个项目的完成一般需要经过三个步骤:初始化.开发和部署.在前端开发过程中,我们经常需要依靠一些自动化构建工具来优化前端工作流程,来帮助我们完成一系列繁琐的工作,例如浏览器热更新.ES6编译.代码压缩. ...

  5. 小师弟肝了七天七夜,东半球最全「后台开发」学习路线出炉

    点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 来源:编程指北 前言 这一篇的主题是「Linux C/C++ 服务器/后台开发学习路线」. ...

  6. 「组装式开发」企业数字化转型的及时雨

    在国家政策对数字经济发展的持续推动之下,数字化转型变成各大企业的重要课题.数字化转型是对企业原有业务模式的改革,使其有能力快速适应市场变动.它既是一种文化变革,也是一种技术变革,能够将最新的数字技术和 ...

  7. 互联网公司「敏捷开发」,打造高效执行能力

    敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发. 敏捷项目管理作为新兴的项目管理模式,简化了传统项目管理的繁琐流程和文档.迭代过程中的需求变更会加入到项目继续迭代需求池,丰富项目 ...

  8. 火焰效果材质实现_「游戏开发」使用Unity实现魔法火焰效果

    *本文转载自公众号"Unity官方平台". 本文由视觉效果艺术家Evgeny Starostin分享如何使用Unity制作魔法火焰效果的过程,让我们一起学习和制作魔法火焰吧. 下面 ...

  9. 「游戏开发」游戏服务器端开发的一些经验

    本文作为游戏服务器端开发的基本大纲,是游戏实践开发中的总结.第一部分专业基础,用于指导招聘和实习考核, 第二部分游戏入门,讲述游戏服务器端开发的基本要点,第三部分服务端架构,介绍架构设计中的一些基本原 ...

最新文章

  1. 小技巧之chm文件无法显示
  2. 安卓2.2都有哪些键盘快捷指令?
  3. 将本珊计算机组成原理,计算机组成原理,懂的老师帮忙解答下
  4. 机器学习中的常用概率分布
  5. 一些使用javap反编译出来的结果分析
  6. 求10以内平均数的c语言,求助 给小学生出题,自己选加减乘除 做10题 10以内的数 然后统计分...
  7. Go语言编程—Go语言实现文件拷贝
  8. Mybatis缓存模块(一)BlockingCache
  9. 成绩单表格html,【Web前端HTML5CSS3】15-表格
  10. python实现科学计算器_python实现简易版计算器
  11. 激光雷达+imu_激光雷达——定位
  12. win7站点服务器配置,IIS 7.0安装配置方法图文教程(win7)
  13. 计算机税率函数,excel怎么设置税率 | 如何用EXCEL函数,做一个税金计算表格
  14. 第七届泰迪杯挑战赛C题
  15. 商业web 漏洞扫描神器———AWVS篇基础
  16. java微信支付v3系列——4.创建订单的封装及使用
  17. win10 任务栏全透明一步直达
  18. python求斐波那契数列第n项
  19. 如何制作手机上图文并茂的加密电子书?
  20. 微波技术在计算机的应用论文,计算机数据自动处理在微波实验中的应用.doc

热门文章

  1. MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例
  2. python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
  3. 小贷公司的风险成因及应对策略——风险篇
  4. 洛谷 P2341 [HAOI2006]受欢迎的牛
  5. 模板 manacher算法
  6. Redis的实现原理
  7. Myeclipse连接数据库删除数据库(JDBC)
  8. ubuntu下,apt的参数使用,很实用呦
  9. 怎样在Xcode 4下编译发布与提交App到AppStore?(转)
  10. 一位Erlang程序员的自白