- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 筋斗云接口编程
随着移动互联网的快速发展,各行业对手机应用开发需求旺盛。 应用开发一般分为前端和后端,后端关注数据和业务,需要对前端各类应用(如安卓应用、苹果应用、H5应用等)提供基于HTTP协议的交互接口。筋斗云是一个Web接口开发框架,它不讲MVC,不做对象-数据表映射(OR Mapping),而是以数据表为核心来开发Web Service(也称为Web API),提出极简化开发的“数据模型即接口”思想。
2017-02-23 16:49:09 2363 6
原创 变脸式应用
[序]本书将以实战练习和示例分析为主,给读者展现用H5技术制作手机应用的开发体验。筋斗云前端框架(jdcloud-m)是一个变脸式单网页应用的开源开发框架,它以页面路由和接口调用为核心,提供多逻辑页支持和远程接口调用封装,同时对制作安卓、苹果原生应用也提供良好的支持,因而也是一个全平台H5应用框架。本书就以该开发框架为基础,讲解手机应用开发中常见需求的解决方案。
2017-02-06 13:23:26 1938 3
原创 筋斗云接口编程 / 创建Web接口项目
[任务]用筋斗云框架创建一个Web接口项目叫mysvc,创建数据库,提供对ApiLog对象的操作接口。先从github上下载开源的筋斗云后端框架及示例应用:https://github.com/skyshore2001/jdcloud-php建议安装git工具直接下载,便于以后更新,例如直接创建Web接口项目叫mysvc:git clone https://github.com/skyshore20
2017-02-24 08:38:11 1151
原创 变脸式应用 / 制作原生APP(二)
壳版本管理请牢牢记住,由于原生壳与H5应用的分离,用户安装的用户壳可能是旧版本的,而线上的H5应用永远是最新版本。假如在原生壳中新增加了插件,应增加壳版本号。 操作上也可将壳版本等同于原生应用的版本代码(安卓叫App Version Code,苹果叫CF Bundle Version),那么要注意插件变动时,一定也要变动原生应用版本。需求:新版本壳中增加了某插件,希望安装旧版本壳的用户在用到此插件
2017-02-23 16:34:49 436
原创 变脸式应用 / 制作原生APP
H5应用可以打包生成苹果或安卓原生应用,一般也称为混合应用程序(Hybird App)。并不是所有的H5应用都适合打包成原生应用,如果把一个普通的手机网站包装成原生应用,即使它制作的外观像是原生应用, 但切换页面时的网页刷新和加载导致速度慢、费流量、体验差,并不适合制作APP,而且像苹果应用市场等也容易拒绝此类APP上架。 为了接近原生应用的用户体验,可打包的H5应用应是支持多逻辑页的单网页应用
2017-02-23 16:33:54 1122
原创 变脸式应用 / 会话重用与自动登录
自动跳转登录页和会话重用为了避免每次打开或刷新应用都要再登录,会话重用是实现短期免登录进入的常用方法。[任务]打开H5应用时(从任意入口页进入),如果刚刚登录过,则可以免登录直接打开入口页。 如果尚未登录过,则跳转至登录页面,待登录成功后跳转到入口页。点退出登录回到首页,如果首页必须登录,则到登录页。在操作过程中,一旦调用某个接口返回了未登录错误(实际中可能是客户端掉线、服务端重启等情况),
2017-02-21 10:10:05 765
原创 变脸式应用 / 进入与退出应用(二)
登录与退出登录和退出是多数应用都需要的功能。我们在筋斗云示例应用中,可以看到登录退出相关的代码:(index.js文件)function handleLogin(data){ MUI.handleLogin(data); // g_data.userInfo已赋值}function logoutUser(){ // 这里可以删除当前用户相关的storage, cooki
2017-02-21 10:09:15 429
原创 变脸式应用 / H5应用发布上线
H5应用发布上线上一章介绍了H5应用的编译优化,生成了发布目录,配置好WEB服务器后,将发布目录上传到服务器即可完成发布。为了H5应用程序升级后客户能及时更新,建议将H5应用的主html文件及逻辑页面文件夹下html/js文件的缓存策略设置为”no-cache”。 (在开发环境下,一般建议所有文件都设置为不缓存。)建议使用Apache或nginx作为筋斗云H5应用线上生产环境的WEB服务器。 项
2017-02-20 08:57:03 1458
原创 变脸式应用 / 创建多个H5应用
创建多个H5应用[任务]在示例项目中,只有一个应用即index.html。 实际在一个H5项目中,常常需要多个应用,例如给用户使用的手机客户端应用、给员工使用的员工端应用等。 我们将在同一项目下再创建一个新的“员工端”应用。筋斗云要求每个H5应用有个内部名称(appName), 在示例应用中,appName定义为user,表示用户端,假如定义员工端应用的内部名称为emp,我们创建这些文件:新
2017-02-20 08:55:00 4442
原创 变脸式应用 / H5应用优化
目前我们运行的H5应用直接是在项目下的server目录中,这称为开发版本,没有进行优化。 在生产环境下,一般会将开发版本进行优化,生成发布版本后上线,可提升H5应用性能。用webcc编译H5应用[任务]使用webcc工具,编译项目下的server目录,生成发布版本目录”output_web”。作为一个WEB应用,发布时最常见的需求是JS/CSS/HTML文件合并和压缩(minify)。 H5应用
2017-02-20 08:54:13 871
原创 变脸式应用 / 分页列表框架(四)
分页列表的接口适配上面学习了易用强大的分页列表,支持分页的后端接口使用的是筋斗云的规范,返回列表像这样:{ list: [ {field1: "val1", field2: "val2"}, {field1: "val3", field2: "val4"}, ], nextkey: 2}上面用list字段返回列表。另外还支持一种等价的压缩表
2017-02-16 16:23:57 384
原创 变脸式应用 / 分页列表框架(三)
显示多个列表本节学习导航栏加多个列表这一常见模式。[任务]在示例应用时,订单列表页便按照订单状态,分成“待服务”和“已完成”两栏,分别对应一个列表。 我们将练习页面orders2也改造成支持分栏的样式。首先,我们熟悉下后端列表查询的接口。 筋斗云后端接口支持业务查询协议,可以使用cond参数才指定查询条件:取待服务订单:callSvr(“Ordr.query”, {cond: “status=
2017-02-16 16:19:58 337
原创 变脸式应用 / 分页列表框架(二)
使用DOM模板创建组件[任务]上节练习中,函数onAddItem里,直接使用了拼接html的方式动态创建列表项,当组件复杂时可读性和可维护性很差。 我们将使用示例应用自带的weui样式库美化列表项,并用DOM模板的方法重写创建组件过程,让代码更清晰。一般情况下,不建议直接拼接html,而是通过模板及mvvm等技术来创建,这里给大家推荐开源的超轻量的jquery-dataview库,可在github
2017-02-16 16:19:10 1240
原创 变脸式应用 / 分页列表框架
分页列表框架本章介绍很常用的分页列表,详情可查阅官方参考文档中的”initPageList”函数介绍。显示单个列表当列表预期可能很长时,一般应支持分页。分页列表在手机上的典型展现方式是支持上拉加载和下拉刷新。[任务]创建页面orders2,仿照示例应用中订单列表页(orders)。本节先不按订单状态分栏,只显示一个列表,支持上拉加载和下拉刷新。点击订单列表中的一项,可以进入订单详情页。我们先熟
2017-02-16 16:16:20 375
原创 变脸式应用 - 常用组件(二)
简单对话框框架提供的app_alert用于显示简单的提示框,类似alert/confirm/prompt这些函数, 只不过app_alert是异步的(调用后立即返回,需要通过回调函数来执行之后的操作),且可以定制显示样式。在浏览器控制台里输入以下示例试试:// 信息框,3秒后自动关闭app_alert("操作成功", function () { MUI.showPage("#orderI
2017-02-14 16:36:33 323
原创 变脸式应用 - 常用组件
常用组件筋斗云框架有一些使用mui前缀的CSS类,包括:mui-container H5应用容器,一般在HTML的body对象上设置。mui-page 逻辑页,由框架自动设置mui-btn 按钮,如果再叠加primary类,则表示显示为缺省按钮。mui-dialog 对话框mui-menu 菜单mui-navbar 导航栏注意:筋斗云框架不是UI组件库,它只提供极为有限的一些组件,更丰
2017-02-14 16:32:39 442
原创 变脸式应用 - 进入与退出应用
进入与退出应用进入应用后,框架会自动设置一些全局变量,如g_args, g_data等。问:如何在H5应用中获取URL参数?全局变量g_args保存了H5应用的URL参数。 问:全局数据存放到哪里有规范吗?全局数据建议都放在变量g_data中,而不是到处创建全局变量,这样查看这个变量就可以了解H5应用状态。
2017-02-14 14:15:19 620
原创 变脸式应用 - 调用后端接口
调用后端接口是筋斗云框架提供的两大核心功能之一。[任务]继续hello页面的例子,要求每次进入页面时,不是固定的显示”hello, world”,而是需要根据服务端的返回内容来显示hello的内容,比如”hello, skys”或是”hello, jdcloud”。我们先定义一个叫做”hello”的交互接口,由前端发起一个HTTP GET请求,比如:http://myserver/myproject
2017-02-06 13:33:23 1477
下载猎手(CacheHunt) - 浏览器缓存辅助工具
2010-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人