HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

为什么不同的开发模式郑州app开发给出的价格不一

5 App开发

  目前的郑州app开发制作模式主要分三种:外包、借助平台自助式制作、组建团队自我开发。三种模式各有优劣点。不同的app开发模式、不同的功能需求价格自然不一样,比如品牌服饰跟街边服饰的价格肯定不在一个档次。不过我们可以根据不同开发模式来计算不同的价格。

  第一种:传统的外包模式

  费用决于下面几个因素:1、app支持平台:2、开发人员工资 3、产品功能的复杂程度 4、外包团队经验和素质 5、同类app产品开发案例 6、沟通成本。总费用:从10万到50万不等,高级的可能需要上百万。这种的模式的好处是一个技术团队专门为你服务,可以对产品进行不断深度挖掘,因为沟通问题,当然周期比较长,花费的资金比较多。起步十万,动辄上百万,对于大中型公司常常采用这种模式。

  第二种:借助工具性平台自己制作

  无论是外包还是自己组建团队,资金、技术,对于小白来说,是这两道不可逾越的门槛。在过去,即使你发现了一个不错的机会,但是只能眼睁睁看着别人走向了人生巅峰。但是,随着工具性平台的出现,移动互联的大门才正式向中小企业、创客敞开。

  第三种:自己组建团队

  这种模式往往本身就是技术出生,对程序把握较深,可以招聘一些程序员,分配任务进行,想对比app外包模式,因为是自己主导,不需要进行过多的沟通,所以周期较短,花费时间相对较少。但是,程序的功能受限于自身的专业水平。因为要租赁办公室、招聘人员等,花费的费用并不比第一种少,而且人员的管理也是问题,谁能保证迅速招到合适的人选?整体的费用20万起步。

  所以综合来说,还是与郑州app开发公司合作是合理的,而且后期的维修服务等也不需要企业去操作,重要一点的是,选择源码开发的话,最后的所有都归企业所有,数据的私密性是能够保持完整的。如果想要了解其他app开发技术的话,可以咨询燚轩科技。本文由郑州app开发http://www.appsaa.com整理发布,如需转载,请注明出处!

继续阅读 »

  目前的郑州app开发制作模式主要分三种:外包、借助平台自助式制作、组建团队自我开发。三种模式各有优劣点。不同的app开发模式、不同的功能需求价格自然不一样,比如品牌服饰跟街边服饰的价格肯定不在一个档次。不过我们可以根据不同开发模式来计算不同的价格。

  第一种:传统的外包模式

  费用决于下面几个因素:1、app支持平台:2、开发人员工资 3、产品功能的复杂程度 4、外包团队经验和素质 5、同类app产品开发案例 6、沟通成本。总费用:从10万到50万不等,高级的可能需要上百万。这种的模式的好处是一个技术团队专门为你服务,可以对产品进行不断深度挖掘,因为沟通问题,当然周期比较长,花费的资金比较多。起步十万,动辄上百万,对于大中型公司常常采用这种模式。

  第二种:借助工具性平台自己制作

  无论是外包还是自己组建团队,资金、技术,对于小白来说,是这两道不可逾越的门槛。在过去,即使你发现了一个不错的机会,但是只能眼睁睁看着别人走向了人生巅峰。但是,随着工具性平台的出现,移动互联的大门才正式向中小企业、创客敞开。

  第三种:自己组建团队

  这种模式往往本身就是技术出生,对程序把握较深,可以招聘一些程序员,分配任务进行,想对比app外包模式,因为是自己主导,不需要进行过多的沟通,所以周期较短,花费时间相对较少。但是,程序的功能受限于自身的专业水平。因为要租赁办公室、招聘人员等,花费的费用并不比第一种少,而且人员的管理也是问题,谁能保证迅速招到合适的人选?整体的费用20万起步。

  所以综合来说,还是与郑州app开发公司合作是合理的,而且后期的维修服务等也不需要企业去操作,重要一点的是,选择源码开发的话,最后的所有都归企业所有,数据的私密性是能够保持完整的。如果想要了解其他app开发技术的话,可以咨询燚轩科技。本文由郑州app开发http://www.appsaa.com整理发布,如需转载,请注明出处!

收起阅读 »

DCloud开启新春招聘,邀请优秀的你共同打开未来之门

招聘

DCloud 是W3C会员、中国HTML5产业联盟发起单位,致力于推进HTML5发展,构建HTML5生态。

DCloud在HTML5、动态App领域拥有多项世界领先的技术,拥有200万开发者,上亿的终端引擎装机量,奠定了行业里绝对领先的位置。

微信小程序、快应用、流应用等"动态App"如火如荼的开展起来,DCloud经过多年布局及推广,必将伴随“动态App”乘势而起。

优秀的你,加入DCloud,携手一起打开未来之门!

公司坐标:北京市海淀区大钟寺附近

赶快把投递简历到hr2013@dcloud.io

Android工程师

专职Android开发经验,熟悉JS者优先。
3年以上经验 年薪:30w左右
应届毕业生 年薪:10-15w

商业运营专员

要求2年以上商业化变现运营经验,熟悉各种数据增长和变现增长模型。
薪资面议

更多求贤信息点这里

继续阅读 »

DCloud 是W3C会员、中国HTML5产业联盟发起单位,致力于推进HTML5发展,构建HTML5生态。

DCloud在HTML5、动态App领域拥有多项世界领先的技术,拥有200万开发者,上亿的终端引擎装机量,奠定了行业里绝对领先的位置。

微信小程序、快应用、流应用等"动态App"如火如荼的开展起来,DCloud经过多年布局及推广,必将伴随“动态App”乘势而起。

优秀的你,加入DCloud,携手一起打开未来之门!

公司坐标:北京市海淀区大钟寺附近

赶快把投递简历到hr2013@dcloud.io

Android工程师

专职Android开发经验,熟悉JS者优先。
3年以上经验 年薪:30w左右
应届毕业生 年薪:10-15w

商业运营专员

要求2年以上商业化变现运营经验,熟悉各种数据增长和变现增长模型。
薪资面议

更多求贤信息点这里

收起阅读 »

支付宝接口支付时返回[-100]:[payment支付宝:62001] 用户中途取消支付操作

找了一天的原因。有人说是 支付宝公钥上传了空格之类的。反正就是配置错误。我这找了一天多。终于找到原因了。你可以试着吧***mui.js注释**试试

找了一天的原因。有人说是 支付宝公钥上传了空格之类的。反正就是配置错误。我这找了一天多。终于找到原因了。你可以试着吧***mui.js注释**试试

HBuilderX - 高效极客技巧

HBuilderX

> 本帖文章已集成到: hx产品文档

惯常来讲,ide和编辑器是2个产品类别。
ide侧重于某种语言的语法分析、提示、转到定义、调试。一般比较厚重。
而编辑器则是对通用文本处理,提供更高效的通用文本处理能力,比较轻量,但语法分析能力不足。
上一代HBuilder是一个典型的IDE,语言处理非常强大,但在字处理、轻量方面客观讲不如优秀的编辑器。
而新的HBuilderX,定位是ide和编辑器的完美结合,那么HBuilderX就会提供轻量且世界顶级的高效字处理能力。
看完这些,你一定会惊叹,原来极客是这么玩的。

免拖动选择

用鼠标拖着选中一片文本,是一个很容易让食指抽筋的操作。尤其是触摸板更痛苦。
但是背诵很多相关的快捷键也一样痛苦。
HBuilderX提供了更友好方式:智能双击和Ctrl+扩大选区。

智能双击

在HBuilderX中,但凡特殊点的字符,都能智能双击。

  • 双击引号/括号内侧,是选中引号/括号内的内容
  • 双击逗号两侧,是选择逗号前一段或后一段
  • 双击行尾,是选中该行(不含回车符)
  • 双击连词符(-_)选中整个词
  • 双击折叠行首内容开头,选择折叠段落
  • 双击行首缩进,选择相同缩进的段落
  • 双击列表符号,选择列表段落
  • 双击Tag开头或结尾,选择整段Tag
  • 双击属性赋值等号=,选择Html属性
  • 双击if、function等关键字,选择整段包围区域
  • 双击分号,选择js等语言的;分号前段落
  • 双击css类名左侧,选择Css类
  • 双击注释符选择注释区域
  • 双击#选择markdown标题段落
  • 双击语法定义符开头选择markdown图片、超链接、加粗、倾斜、代码等语法区

下面是一个gif图例,双击选中tag和包围父tag

  1. 双击div tag的首或尾可以选中这个tag,即开头的<左侧或结尾的>右侧。当然双击if、双击缩进符、双击括号引号内侧...很多位置都可以通过智能双击选中。具体见HBuilder的选择菜单。
  2. 按Ctrl+]包围,就可以在这个选区首尾加父标签,同时闪烁光标。如果在js里,按下Ctrl+]不是包围tag,而是包围if、for等函数库,方便快速把一段代码放入if块中。
  3. 输入div即可在首尾添加包围标签

扩大选区Ctrl+=

=是+的默认键位置,所以Ctrl+=其实就是Ctrl键和+号一起按下。
在HBuilderX里可以智能的判断选区范围,持续扩大选区,无鼠标快速选中你需要的选区。

反包围

上面讲到包围,也自然有反包围。

  1. 双击tag p开头,选中该tag。
  2. 按反包围Ctrl+Shift+],可去掉tag p并自动处理子节点的缩进。

    这里多提一句HBuilderX的快捷键理念,就是符号化,而不是字母化。
    很多工具的快捷键都是控制键+功能英文单词中的一个字母,这个是极难记忆的。
    符号化让快捷键的记忆变简单,比如Ctrl+]是包围。
    而反操作或增强操作一般是加Shift,比如Ctrl+Shift+]是反包围。

选中相同语法词及跳过某词

  1. 下图中,使用普通的选择相同词Ctrl+e(mac是Cmd+d),会把所有div都选中。但使用Ctrl+Shift+e(mac是Cmd+Shift+d),会智能识别语法,剔除不相干的词。
  2. 下图按下选择相同语法词,同时选中tag首尾的div,而不会选中子节点的div。
  3. 然后就可以方便的将原div改名为p
    • 如果想选择配对括号,靠相同词是不行的。选中相同语法词会选中匹配的2个左右括号
    • 批量选中所有相同词是Ctrl+Alt+e(mac是ctrl+alt+d)
      选择相同语法还可以用于变量重构,详见http://ask.dcloud.net.cn/article/35732

交换选区内容

当需要交互2个选区的内容时,选中a、剪切、点b前面、粘贴、选中b、找到之前a的位置点击、粘贴...这么长的操作太低效。
来看HBuilderX的Ctrl+Shift+x交互选区,也就是Ctrl+x的增强版。

  1. 双击第1个style属性后的引号内侧,可选中引号内容。
  2. 按下Ctrl后继续双击第2个style属性后的引号内侧,可选中2个引号内的选区。
  3. 按下Ctrl+Shift+x,交换style属性的内容。

    如果不选择内容,光标放置到2行,可直接交换这2行的内容,如下图

撤销最后一个多选区或多光标

选区选多了或选错了,不用担心要重头选,Ctrl+Shift+z不是撤销编辑内容,而是撤销最后一个选区。

  1. 双击选中class
  2. 按Ctrl+e选中相同词
  3. 按Ctrl+Shift+z,不再选中最后一个词。
    • 如果多选了一个词,还可以点Ctrl+鼠标右键取消一个选区
    • 跳过当前词选下一个词时Alt+Shift+e(mac是ctrl+shift+d)

批量合并行

下图示例,是把css合并为一行时的快捷操作

  1. 双击{内侧选中class
  2. 按Ctrl+双击选中另一个class
  3. 按反格式化Ctrl+Shift+k,可以把每个css的区块代码都合并为一行
    Ctrl+k是格式化代码,那么Ctrl+Shift+k就是合并为一行。

同时注释if段首尾

if块的调整很常见,除了包围、反包围外,常用操作还有同时注释掉if段首尾。

  1. 双击if选中if代码块
  2. 按Ctrl+\在选区首尾加光标,变成多光标模式
  3. 按Ctrl+/注释掉选区首尾行

转到定义

转到定义是非常常用的功能,普通编辑器不长于此,只能猜单词跳转。
HBuilderX有强大的语法分析引擎,可以准确的跳转定义位置。
转到定义的快捷键是Alt+d,鼠标操作是alt+左键单击(注意不是ctrl,因为ctrl留给了多光标)
而HBuilderX还有一个特色是转到定义到分栏,ctrl+alt+左键,可以把一个定义处的代码打开在另一侧,方便共同查看。
下图中,从uni-app项目的pages.json里ctrl+alt+左键点击一个页面,打开component.vue,继续点击样式uni-padding-wrap,打开样式定义文件uni.css。
多个文件可以并排查看编辑。

折叠

折叠的快捷键是alt+-和=
在菜单跳转-折叠里,还有更多折叠的玩法,其中有一个功能非常有用,就是“折叠其他选区”,快捷键是Alt+Shift+o。
比如在本markdown文档源码编辑时,按下Alt+Shift+o就可以把其他段落都折叠起来,专注于当前段落的编写。

大纲

左边的大纲是长文档导航的利器。HBuilderX提供了优雅简洁的文档导览界面。可以点底栏左侧红框内的大纲按钮,对应的快捷键是【win:alt+w、mac:ctrl+w】。

帮助开发者成为极客,一直是HBuilder的理念。HBuilderX更上一层楼。
愿各位都能成为极客!

如果还有其他需求,可以到需求墙投票
欢迎转发传播HBuilderX的技巧,欢迎赞助我们

继续阅读 »

> 本帖文章已集成到: hx产品文档

惯常来讲,ide和编辑器是2个产品类别。
ide侧重于某种语言的语法分析、提示、转到定义、调试。一般比较厚重。
而编辑器则是对通用文本处理,提供更高效的通用文本处理能力,比较轻量,但语法分析能力不足。
上一代HBuilder是一个典型的IDE,语言处理非常强大,但在字处理、轻量方面客观讲不如优秀的编辑器。
而新的HBuilderX,定位是ide和编辑器的完美结合,那么HBuilderX就会提供轻量且世界顶级的高效字处理能力。
看完这些,你一定会惊叹,原来极客是这么玩的。

免拖动选择

用鼠标拖着选中一片文本,是一个很容易让食指抽筋的操作。尤其是触摸板更痛苦。
但是背诵很多相关的快捷键也一样痛苦。
HBuilderX提供了更友好方式:智能双击和Ctrl+扩大选区。

智能双击

在HBuilderX中,但凡特殊点的字符,都能智能双击。

  • 双击引号/括号内侧,是选中引号/括号内的内容
  • 双击逗号两侧,是选择逗号前一段或后一段
  • 双击行尾,是选中该行(不含回车符)
  • 双击连词符(-_)选中整个词
  • 双击折叠行首内容开头,选择折叠段落
  • 双击行首缩进,选择相同缩进的段落
  • 双击列表符号,选择列表段落
  • 双击Tag开头或结尾,选择整段Tag
  • 双击属性赋值等号=,选择Html属性
  • 双击if、function等关键字,选择整段包围区域
  • 双击分号,选择js等语言的;分号前段落
  • 双击css类名左侧,选择Css类
  • 双击注释符选择注释区域
  • 双击#选择markdown标题段落
  • 双击语法定义符开头选择markdown图片、超链接、加粗、倾斜、代码等语法区

下面是一个gif图例,双击选中tag和包围父tag

  1. 双击div tag的首或尾可以选中这个tag,即开头的<左侧或结尾的>右侧。当然双击if、双击缩进符、双击括号引号内侧...很多位置都可以通过智能双击选中。具体见HBuilder的选择菜单。
  2. 按Ctrl+]包围,就可以在这个选区首尾加父标签,同时闪烁光标。如果在js里,按下Ctrl+]不是包围tag,而是包围if、for等函数库,方便快速把一段代码放入if块中。
  3. 输入div即可在首尾添加包围标签

扩大选区Ctrl+=

=是+的默认键位置,所以Ctrl+=其实就是Ctrl键和+号一起按下。
在HBuilderX里可以智能的判断选区范围,持续扩大选区,无鼠标快速选中你需要的选区。

反包围

上面讲到包围,也自然有反包围。

  1. 双击tag p开头,选中该tag。
  2. 按反包围Ctrl+Shift+],可去掉tag p并自动处理子节点的缩进。

    这里多提一句HBuilderX的快捷键理念,就是符号化,而不是字母化。
    很多工具的快捷键都是控制键+功能英文单词中的一个字母,这个是极难记忆的。
    符号化让快捷键的记忆变简单,比如Ctrl+]是包围。
    而反操作或增强操作一般是加Shift,比如Ctrl+Shift+]是反包围。

选中相同语法词及跳过某词

  1. 下图中,使用普通的选择相同词Ctrl+e(mac是Cmd+d),会把所有div都选中。但使用Ctrl+Shift+e(mac是Cmd+Shift+d),会智能识别语法,剔除不相干的词。
  2. 下图按下选择相同语法词,同时选中tag首尾的div,而不会选中子节点的div。
  3. 然后就可以方便的将原div改名为p
    • 如果想选择配对括号,靠相同词是不行的。选中相同语法词会选中匹配的2个左右括号
    • 批量选中所有相同词是Ctrl+Alt+e(mac是ctrl+alt+d)
      选择相同语法还可以用于变量重构,详见http://ask.dcloud.net.cn/article/35732

交换选区内容

当需要交互2个选区的内容时,选中a、剪切、点b前面、粘贴、选中b、找到之前a的位置点击、粘贴...这么长的操作太低效。
来看HBuilderX的Ctrl+Shift+x交互选区,也就是Ctrl+x的增强版。

  1. 双击第1个style属性后的引号内侧,可选中引号内容。
  2. 按下Ctrl后继续双击第2个style属性后的引号内侧,可选中2个引号内的选区。
  3. 按下Ctrl+Shift+x,交换style属性的内容。

    如果不选择内容,光标放置到2行,可直接交换这2行的内容,如下图

撤销最后一个多选区或多光标

选区选多了或选错了,不用担心要重头选,Ctrl+Shift+z不是撤销编辑内容,而是撤销最后一个选区。

  1. 双击选中class
  2. 按Ctrl+e选中相同词
  3. 按Ctrl+Shift+z,不再选中最后一个词。
    • 如果多选了一个词,还可以点Ctrl+鼠标右键取消一个选区
    • 跳过当前词选下一个词时Alt+Shift+e(mac是ctrl+shift+d)

批量合并行

下图示例,是把css合并为一行时的快捷操作

  1. 双击{内侧选中class
  2. 按Ctrl+双击选中另一个class
  3. 按反格式化Ctrl+Shift+k,可以把每个css的区块代码都合并为一行
    Ctrl+k是格式化代码,那么Ctrl+Shift+k就是合并为一行。

同时注释if段首尾

if块的调整很常见,除了包围、反包围外,常用操作还有同时注释掉if段首尾。

  1. 双击if选中if代码块
  2. 按Ctrl+\在选区首尾加光标,变成多光标模式
  3. 按Ctrl+/注释掉选区首尾行

转到定义

转到定义是非常常用的功能,普通编辑器不长于此,只能猜单词跳转。
HBuilderX有强大的语法分析引擎,可以准确的跳转定义位置。
转到定义的快捷键是Alt+d,鼠标操作是alt+左键单击(注意不是ctrl,因为ctrl留给了多光标)
而HBuilderX还有一个特色是转到定义到分栏,ctrl+alt+左键,可以把一个定义处的代码打开在另一侧,方便共同查看。
下图中,从uni-app项目的pages.json里ctrl+alt+左键点击一个页面,打开component.vue,继续点击样式uni-padding-wrap,打开样式定义文件uni.css。
多个文件可以并排查看编辑。

折叠

折叠的快捷键是alt+-和=
在菜单跳转-折叠里,还有更多折叠的玩法,其中有一个功能非常有用,就是“折叠其他选区”,快捷键是Alt+Shift+o。
比如在本markdown文档源码编辑时,按下Alt+Shift+o就可以把其他段落都折叠起来,专注于当前段落的编写。

大纲

左边的大纲是长文档导航的利器。HBuilderX提供了优雅简洁的文档导览界面。可以点底栏左侧红框内的大纲按钮,对应的快捷键是【win:alt+w、mac:ctrl+w】。

帮助开发者成为极客,一直是HBuilder的理念。HBuilderX更上一层楼。
愿各位都能成为极客!

如果还有其他需求,可以到需求墙投票
欢迎转发传播HBuilderX的技巧,欢迎赞助我们

收起阅读 »

使用muidemo中的pullrefresh_with_tab.html+vue.js遇到列表不能滑动问题解决办法

下拉刷新 上拉加载

踩过很多坑,终于被我摸索出来了,按照我这个模板就可以滑动,如有问题可以留言相互探讨。

<!DOCTYPE html>
<html>

<head>  
    <meta charset="utf-8">  
    <title>Hello MUI</title>  
    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">  
    <meta name="apple-mobile-web-app-capable" content="yes">  
    <meta name="apple-mobile-web-app-status-bar-style" content="black">  

    <link rel="stylesheet" href="../../css/mui.min.css">  
    <style>  
        html,  
        body {  
            background-color: #efeff4;  
        }  

        .mui-bar~.mui-content .mui-fullscreen {  
            top: 44px;  
            height: auto;  
        }  

        .mui-pull-top-tips {  
            position: absolute;  
            top: -20px;  
            left: 50%;  
            margin-left: -25px;  
            width: 40px;  
            height: 40px;  
            border-radius: 100%;  
            z-index: 1;  
        }  

        .mui-bar~.mui-pull-top-tips {  
            top: 24px;  
        }  

        .mui-pull-top-wrapper {  
            width: 42px;  
            height: 42px;  
            display: block;  
            text-align: center;  
            background-color: #efeff4;  
            border: 1px solid #ddd;  
            border-radius: 25px;  
            background-clip: padding-box;  
            box-shadow: 0 4px 10px #bbb;  
            overflow: hidden;  
        }  

        .mui-scroll-wrapper {  
            position: absolute;  
            overflow: hidden;  
            bottom: 0;  
        }  

        .mui-scroll {  
            position: absolute;  
        }  

        .mui-pull-top-tips.mui-transitioning {  
            -webkit-transition-duration: 200ms;  
            transition-duration: 200ms;  
        }  

        .mui-pull-top-tips .mui-pull-loading {  
            s  
            /*-webkit-backface-visibility: hidden;  
            -webkit-transition-duration: 400ms;  
            transition-duration: 400ms;*/  
            margin: 0;  
        }  

        .mui-pull-top-wrapper .mui-icon,  
        .mui-pull-top-wrapper .mui-spinner {  
            margin-top: 7px;  
        }  

        .mui-pull-top-wrapper .mui-icon.mui-reverse {  
            /*-webkit-transform: rotate(180deg) translateZ(0);*/  
        }  

        .mui-pull-bottom-tips {  
            text-align: center;  
            background-color: #efeff4;  
            font-size: 15px;  
            line-height: 40px;  
            color: #777;  
        }  

        .mui-pull-top-canvas {  
            overflow: hidden;  
            background-color: #fafafa;  
            border-radius: 40px;  
            box-shadow: 0 4px 10px #bbb;  
            width: 40px;  
            height: 40px;  
            margin: 0 auto;  
        }  

        .mui-pull-top-canvas canvas {  
            width: 40px;  
        }  

        .mui-slider-indicator.mui-segmented-control {  
            background-color: #efeff4;  
        }  

        .mui-slider .mui-slider-group .mui-slider-item {  
            width: 100%;  
            height: 100%;  
        }  
    </style>  
</head>  

<body>  
    <header class="mui-bar mui-bar-nav">  
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>  
        <h1 class="mui-title">选项卡切换+下拉刷新(div模式)</h1>  
    </header>  
    <div class="mui-content" id="app">  
        <div class="mui-slider mui-fullscreen">  
            <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">  
                <div class="mui-scroll">  
                    <!--<a v-for="(index,item) in tabList" v-bind:class="[mui-control-item,{mui-active:isActive}]" v-bind:href="'#item'+idnex+'mobile'">  
                        {{item.title}}  
                    </a>-->  
                    <a class="mui-control-item mui-active" href="#item1mobile">  
                        推荐  
                    </a>  
                    <a class="mui-control-item" href="#item2mobile">  
                        热点  
                    </a>  
                    <a class="mui-control-item" href="#item3mobile">  
                        北京  
                    </a>  
                </div>  
            </div>  
            <div id="slider" class="mui-slider-group">  
                <div id="item1mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper mui-active">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view">  
                            <li v-for="item in tuijian" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
                <div id="item2mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view mui-table-view-chevron">  
                            <li v-for="item in redian" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
                <div id="item3mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view mui-table-view-chevron">  
                            <li v-for="item in beijing" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
            </div>  
        </div>  
    </div>  
    <script src="../../js/mui.min.js"></script>  
    <script src="../../js/mui.pullToRefresh.js"></script>  
    <script src="../../js/mui.pullToRefresh.material.js"></script>  
    <script src="../../js/utils/vue.js"></script>  
    <script src="../../js/utils/app.js"></script>  
    <script type="text/javascript">  
        mui.init();  
        (function($) {  
            //阻尼系数  
            $.ready(function() {  
                newsVue.initVuePage();  
            });  
        })(mui);  

        var newsVue = new Vue({  
            el: '#app',  
            data: {  
                tuijian: [],  
                redian: [],  
                beijing: [],  
                isActive: false,  
                count: 0  
            },  
            updated: function() {  
                this.$nextTick(function() {  

                })  

            },  
            methods: {  
                initVuePage: function() {  
                    console.log("AAAAAAAAA");  
                    //循环初始化所有下拉刷新,上拉加载。  
                    mui.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {  
                        mui(pullRefreshEl).pullToRefresh({  
                            down: {  
                                callback: function() {  
                                    var self = this;  
                                    setTimeout(function() {  
                                        newsVue.pulldownRefresh(index);  
                                        self.endPullDownToRefresh();  
                                    }, 1000);  
                                }  
                            },  
                            up: {  
                                callback: function() {  
                                    var self = this;  
                                    setTimeout(function() {  
                                        newsVue.pullupRefresh(index);  
                                        self.endPullUpToRefresh();  
                                    }, 1000);  
                                }  
                            }  
                        });  
                    });  
                },  
                /**  
                 *  下拉刷新获取最新列表   
                 */  
                pulldownRefresh: function(index) {  
                    newsVue.count++;  
                    if(index == 0) {  
                        newsVue.tuijian = newsVue.createFragment();  
                    } else if(index == 1) {  
                        newsVue.redian = newsVue.createFragment();  
                    } else {  
                        newsVue.beijing = newsVue.createFragment();  
                    }  

                    //                      console.log(JSON.stringify(newsVue.newsList[index]));  
                },  
                /**  
                 * 上拉加载拉取历史列表   
                 */  
                pullupRefresh: function(index) {  
                    newsVue.count++;  
                    if(index == 0) {  
                        newsVue.tuijian = newsVue.createFragment();  
                    } else if(index == 1) {  
                        newsVue.redian = newsVue.createFragment();  
                    } else {  
                        newsVue.beijing = newsVue.createFragment();  
                    }  
                },  
                createFragment: function() {  
                    var newItems = [];  
                    for(var i = 0; i < 5 * newsVue.count; i++) {  
                        newItems.push({  
                            title: "第" + i + "个例子"  
                        });  
                    }  
                    return newItems;  
                }  
            }  
        });  
    </script>  
</body>  

</html>

继续阅读 »

踩过很多坑,终于被我摸索出来了,按照我这个模板就可以滑动,如有问题可以留言相互探讨。

<!DOCTYPE html>
<html>

<head>  
    <meta charset="utf-8">  
    <title>Hello MUI</title>  
    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">  
    <meta name="apple-mobile-web-app-capable" content="yes">  
    <meta name="apple-mobile-web-app-status-bar-style" content="black">  

    <link rel="stylesheet" href="../../css/mui.min.css">  
    <style>  
        html,  
        body {  
            background-color: #efeff4;  
        }  

        .mui-bar~.mui-content .mui-fullscreen {  
            top: 44px;  
            height: auto;  
        }  

        .mui-pull-top-tips {  
            position: absolute;  
            top: -20px;  
            left: 50%;  
            margin-left: -25px;  
            width: 40px;  
            height: 40px;  
            border-radius: 100%;  
            z-index: 1;  
        }  

        .mui-bar~.mui-pull-top-tips {  
            top: 24px;  
        }  

        .mui-pull-top-wrapper {  
            width: 42px;  
            height: 42px;  
            display: block;  
            text-align: center;  
            background-color: #efeff4;  
            border: 1px solid #ddd;  
            border-radius: 25px;  
            background-clip: padding-box;  
            box-shadow: 0 4px 10px #bbb;  
            overflow: hidden;  
        }  

        .mui-scroll-wrapper {  
            position: absolute;  
            overflow: hidden;  
            bottom: 0;  
        }  

        .mui-scroll {  
            position: absolute;  
        }  

        .mui-pull-top-tips.mui-transitioning {  
            -webkit-transition-duration: 200ms;  
            transition-duration: 200ms;  
        }  

        .mui-pull-top-tips .mui-pull-loading {  
            s  
            /*-webkit-backface-visibility: hidden;  
            -webkit-transition-duration: 400ms;  
            transition-duration: 400ms;*/  
            margin: 0;  
        }  

        .mui-pull-top-wrapper .mui-icon,  
        .mui-pull-top-wrapper .mui-spinner {  
            margin-top: 7px;  
        }  

        .mui-pull-top-wrapper .mui-icon.mui-reverse {  
            /*-webkit-transform: rotate(180deg) translateZ(0);*/  
        }  

        .mui-pull-bottom-tips {  
            text-align: center;  
            background-color: #efeff4;  
            font-size: 15px;  
            line-height: 40px;  
            color: #777;  
        }  

        .mui-pull-top-canvas {  
            overflow: hidden;  
            background-color: #fafafa;  
            border-radius: 40px;  
            box-shadow: 0 4px 10px #bbb;  
            width: 40px;  
            height: 40px;  
            margin: 0 auto;  
        }  

        .mui-pull-top-canvas canvas {  
            width: 40px;  
        }  

        .mui-slider-indicator.mui-segmented-control {  
            background-color: #efeff4;  
        }  

        .mui-slider .mui-slider-group .mui-slider-item {  
            width: 100%;  
            height: 100%;  
        }  
    </style>  
</head>  

<body>  
    <header class="mui-bar mui-bar-nav">  
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>  
        <h1 class="mui-title">选项卡切换+下拉刷新(div模式)</h1>  
    </header>  
    <div class="mui-content" id="app">  
        <div class="mui-slider mui-fullscreen">  
            <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">  
                <div class="mui-scroll">  
                    <!--<a v-for="(index,item) in tabList" v-bind:class="[mui-control-item,{mui-active:isActive}]" v-bind:href="'#item'+idnex+'mobile'">  
                        {{item.title}}  
                    </a>-->  
                    <a class="mui-control-item mui-active" href="#item1mobile">  
                        推荐  
                    </a>  
                    <a class="mui-control-item" href="#item2mobile">  
                        热点  
                    </a>  
                    <a class="mui-control-item" href="#item3mobile">  
                        北京  
                    </a>  
                </div>  
            </div>  
            <div id="slider" class="mui-slider-group">  
                <div id="item1mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper mui-active">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view">  
                            <li v-for="item in tuijian" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
                <div id="item2mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view mui-table-view-chevron">  
                            <li v-for="item in redian" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
                <div id="item3mobile" class="mui-slider-item mui-control-content mui-scroll-wrapper">  
                    <div class="mui-scroll">  
                        <ul class="mui-table-view mui-table-view-chevron">  
                            <li v-for="item in beijing" class="mui-table-view-cell">  
                                {{item.title}}  
                            </li>  
                        </ul>  
                    </div>  
                </div>  
            </div>  
        </div>  
    </div>  
    <script src="../../js/mui.min.js"></script>  
    <script src="../../js/mui.pullToRefresh.js"></script>  
    <script src="../../js/mui.pullToRefresh.material.js"></script>  
    <script src="../../js/utils/vue.js"></script>  
    <script src="../../js/utils/app.js"></script>  
    <script type="text/javascript">  
        mui.init();  
        (function($) {  
            //阻尼系数  
            $.ready(function() {  
                newsVue.initVuePage();  
            });  
        })(mui);  

        var newsVue = new Vue({  
            el: '#app',  
            data: {  
                tuijian: [],  
                redian: [],  
                beijing: [],  
                isActive: false,  
                count: 0  
            },  
            updated: function() {  
                this.$nextTick(function() {  

                })  

            },  
            methods: {  
                initVuePage: function() {  
                    console.log("AAAAAAAAA");  
                    //循环初始化所有下拉刷新,上拉加载。  
                    mui.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {  
                        mui(pullRefreshEl).pullToRefresh({  
                            down: {  
                                callback: function() {  
                                    var self = this;  
                                    setTimeout(function() {  
                                        newsVue.pulldownRefresh(index);  
                                        self.endPullDownToRefresh();  
                                    }, 1000);  
                                }  
                            },  
                            up: {  
                                callback: function() {  
                                    var self = this;  
                                    setTimeout(function() {  
                                        newsVue.pullupRefresh(index);  
                                        self.endPullUpToRefresh();  
                                    }, 1000);  
                                }  
                            }  
                        });  
                    });  
                },  
                /**  
                 *  下拉刷新获取最新列表   
                 */  
                pulldownRefresh: function(index) {  
                    newsVue.count++;  
                    if(index == 0) {  
                        newsVue.tuijian = newsVue.createFragment();  
                    } else if(index == 1) {  
                        newsVue.redian = newsVue.createFragment();  
                    } else {  
                        newsVue.beijing = newsVue.createFragment();  
                    }  

                    //                      console.log(JSON.stringify(newsVue.newsList[index]));  
                },  
                /**  
                 * 上拉加载拉取历史列表   
                 */  
                pullupRefresh: function(index) {  
                    newsVue.count++;  
                    if(index == 0) {  
                        newsVue.tuijian = newsVue.createFragment();  
                    } else if(index == 1) {  
                        newsVue.redian = newsVue.createFragment();  
                    } else {  
                        newsVue.beijing = newsVue.createFragment();  
                    }  
                },  
                createFragment: function() {  
                    var newItems = [];  
                    for(var i = 0; i < 5 * newsVue.count; i++) {  
                        newItems.push({  
                            title: "第" + i + "个例子"  
                        });  
                    }  
                    return newItems;  
                }  
            }  
        });  
    </script>  
</body>  

</html>

收起阅读 »

如何了解郑州app开发一款软件的费用,包含哪些方面

5+App开发 移动APP

  现在对于许多想要做app开发投资的人来说,普遍比较关注的一个问题就是费用,因为现在app的种类非常的多,而且功能也是五花八门,这么多的功能是不是意味着开发一款app软件的费用就非常昂贵了呢?下面郑州app开发燚轩科技就针对这个问题为大家解答一下,看一下app软件的价格都受什么影响。

  一种是模版类app开发与app定制开发,模版开发一般根据所选模板有固定的报价模板。但是其缺点就是客户无法从开发团队获得源代码,为此后期的升级成为问题,企业需要重新开发新的应用软件。

  另一种是公司外包,团队外包还是个人外包,个人app外包开发的开发的成本相对较低,缺点是项目质量没有保证,开发周期长,沟通以及后期维护比较麻烦。

  对于定制开发,其价格报价主要是根据具体的功能来评估的,一般来说,在售前的咨询服务中,负责人会首先明确客户的开发需求,人员会通过评估功能需求才能够为客户提供具体的报价。是根据客户的具体功能需求而定的。另外开发周期与开发价格是成正比的,开发时间越长,所需要的价格也是越多的。为此企业需要选择具备开发技术雄厚、开发经验丰富、开发执行能力强的团队,才能有效降低开发费用。

  团队app外包开发价格要比个人开发高一点,其项目经验和综合能力与个人开发相比都强很多,如果在资金预算不是很充足的情况下可以考虑团队外包!

  公司app外包,其开发成本要相对高一些,但是郑州app开发公司开发项目分工明确,整个项目进行的也会相对流畅,其质量更是有保证,如果考虑到长期发展,公司开发无疑是最好的选择!本文由郑州app开发http://www.appsaa.com整理发布,如需转载,请注明出处!

继续阅读 »

  现在对于许多想要做app开发投资的人来说,普遍比较关注的一个问题就是费用,因为现在app的种类非常的多,而且功能也是五花八门,这么多的功能是不是意味着开发一款app软件的费用就非常昂贵了呢?下面郑州app开发燚轩科技就针对这个问题为大家解答一下,看一下app软件的价格都受什么影响。

  一种是模版类app开发与app定制开发,模版开发一般根据所选模板有固定的报价模板。但是其缺点就是客户无法从开发团队获得源代码,为此后期的升级成为问题,企业需要重新开发新的应用软件。

  另一种是公司外包,团队外包还是个人外包,个人app外包开发的开发的成本相对较低,缺点是项目质量没有保证,开发周期长,沟通以及后期维护比较麻烦。

  对于定制开发,其价格报价主要是根据具体的功能来评估的,一般来说,在售前的咨询服务中,负责人会首先明确客户的开发需求,人员会通过评估功能需求才能够为客户提供具体的报价。是根据客户的具体功能需求而定的。另外开发周期与开发价格是成正比的,开发时间越长,所需要的价格也是越多的。为此企业需要选择具备开发技术雄厚、开发经验丰富、开发执行能力强的团队,才能有效降低开发费用。

  团队app外包开发价格要比个人开发高一点,其项目经验和综合能力与个人开发相比都强很多,如果在资金预算不是很充足的情况下可以考虑团队外包!

  公司app外包,其开发成本要相对高一些,但是郑州app开发公司开发项目分工明确,整个项目进行的也会相对流畅,其质量更是有保证,如果考虑到长期发展,公司开发无疑是最好的选择!本文由郑州app开发http://www.appsaa.com整理发布,如需转载,请注明出处!

收起阅读 »

有偿求助,用android studio 以widget集成最新版5+sdk

HTML5+ Widget集成

公司最近急需使用将原来在线打包的5+的前端代码以独立应用(widget)形式集成。

翻看问答区只找到eclipse的教程,而且比较老,有些文件新版sdk没找到,现有偿求助用android studio和最新版sdk的教程。谢谢。

管理员如发现文章有问题,请通知我修改。谢谢。

有意请联系我。

联系方式:ly@it-it.com.cn

继续阅读 »

公司最近急需使用将原来在线打包的5+的前端代码以独立应用(widget)形式集成。

翻看问答区只找到eclipse的教程,而且比较老,有些文件新版sdk没找到,现有偿求助用android studio和最新版sdk的教程。谢谢。

管理员如发现文章有问题,请通知我修改。谢谢。

有意请联系我。

联系方式:ly@it-it.com.cn

收起阅读 »

企业找郑州app开发之前需要做什么

5 App开发

  在企业看到app软件的开发市场需求这么大的情况下,已经有很多企业在做了,但是对于企业客户来说,郑州app开发燚轩科技认为在寻找开发公司之前需要先了解市场上具体的实际需求,然后要有目的的开发才是最为重要的。

  总的来说,开发一款app应用并没有人多人想象中的那么困难,只要在开发app应用的前期做好市场调研,明确了用户的需求,然后制定详细的开发方案,在开发时就可以完全按照开发方案去执行,这样中途就不会出现方向性的问题,开发进度就会顺畅很多了。郑州app开发制作燚轩科技认为,以下两个问题是企业在开发app应用过程中,自身必须要了解和确定的。

  首先需要了解app应用制作的流程。了解用户的需求之后,接下来就是了解app应用的开发流程具体是什么样的。一般的app应用的制作流程主要分为以下几步:前期沟意见通、需求评估、app应用软件规划、UI规划、视觉设计、前端制作、技术开发、app应用测试、上传应用市场、完成交付等。按照事前规划好的步骤做事,不仅可以节省开发时间,还能预料到在制作app应用过程中可能出现问题,事先做好防范和准备应对问题的到来。另外,明确了制作app应用软件的流程,还能及时跟进开发进度。

  其次需要了解app应用用户的需求。俗话说,有需求才有供应,有需求才会有生产的动力。首先,制作一个app应用软件,要和传统的产品开发一样,先做好市场的调查,明白用户的需求,然后在对策划出产品,接着生产、推向市场、销售。app应用的开发是先通过对消费者需求的调查,了解消费者希望市面上出现一款什么样的app应用软件,然后根据调查的结果,形成自己的想法,最后再研发推广。这也叫做好app应用的市场定位。

  而那些认为开发app应用是一件困难重重的人,基本上都是前期规划不到位,或是对app应用开发流程不清楚的,由于没有系统的规划,开发工作就很盲目,没有方向,这样去制作app应用,自然就变得非常困难了。

  在移动互联网时代,app应用已经成为了企业的标配,如果说哪个企业还没有选择app开发,都不好意思出去见人了。可见开发app应用的企业非常多,但是,真正了解app应用开发的却非常少,大部分企业对app应用开发都不甚理解。虽然企业可以选择专业的外包公司来进行开发,但是自身至少对app应用的开发流程和步骤有个大概的了解,这样才能令app的开发工作流程更加清晰,效率更加高。本文由郑州app开发整理发布,如需转载请注明出处!

继续阅读 »

  在企业看到app软件的开发市场需求这么大的情况下,已经有很多企业在做了,但是对于企业客户来说,郑州app开发燚轩科技认为在寻找开发公司之前需要先了解市场上具体的实际需求,然后要有目的的开发才是最为重要的。

  总的来说,开发一款app应用并没有人多人想象中的那么困难,只要在开发app应用的前期做好市场调研,明确了用户的需求,然后制定详细的开发方案,在开发时就可以完全按照开发方案去执行,这样中途就不会出现方向性的问题,开发进度就会顺畅很多了。郑州app开发制作燚轩科技认为,以下两个问题是企业在开发app应用过程中,自身必须要了解和确定的。

  首先需要了解app应用制作的流程。了解用户的需求之后,接下来就是了解app应用的开发流程具体是什么样的。一般的app应用的制作流程主要分为以下几步:前期沟意见通、需求评估、app应用软件规划、UI规划、视觉设计、前端制作、技术开发、app应用测试、上传应用市场、完成交付等。按照事前规划好的步骤做事,不仅可以节省开发时间,还能预料到在制作app应用过程中可能出现问题,事先做好防范和准备应对问题的到来。另外,明确了制作app应用软件的流程,还能及时跟进开发进度。

  其次需要了解app应用用户的需求。俗话说,有需求才有供应,有需求才会有生产的动力。首先,制作一个app应用软件,要和传统的产品开发一样,先做好市场的调查,明白用户的需求,然后在对策划出产品,接着生产、推向市场、销售。app应用的开发是先通过对消费者需求的调查,了解消费者希望市面上出现一款什么样的app应用软件,然后根据调查的结果,形成自己的想法,最后再研发推广。这也叫做好app应用的市场定位。

  而那些认为开发app应用是一件困难重重的人,基本上都是前期规划不到位,或是对app应用开发流程不清楚的,由于没有系统的规划,开发工作就很盲目,没有方向,这样去制作app应用,自然就变得非常困难了。

  在移动互联网时代,app应用已经成为了企业的标配,如果说哪个企业还没有选择app开发,都不好意思出去见人了。可见开发app应用的企业非常多,但是,真正了解app应用开发的却非常少,大部分企业对app应用开发都不甚理解。虽然企业可以选择专业的外包公司来进行开发,但是自身至少对app应用的开发流程和步骤有个大概的了解,这样才能令app的开发工作流程更加清晰,效率更加高。本文由郑州app开发整理发布,如需转载请注明出处!

收起阅读 »

周报(20180323):快应用来了,你准备好了么?

清单 周报

热门话题

本周最热门话题非“快应用”莫属。

  • 快应用正式发布:3月20日,中国大饭店,国内10家手机厂商(小米、华为、oppo、vivo、魅族、金立、中兴、努比亚、联想、一加),正式宣布成立快应用联盟,推出快应用。快应用是基于手机硬件平台的新型应用形态,标准是由主流手机厂商组成的快应用联盟联合制定。
  • 快应用深度解读 – 来自内行的门道分析:如果说微信小程序是移动互联网下半场的开幕,那么快应用就是坐实移动互联网下半场方向的重要里程碑。。
  • 想快速开发快应用?你需要知道这4大神器:拥有快应用IDE、小程序转换器、原生打包平台、Uni统计这4大神器,你在动态App浪潮中,才能敏捷前行,迅速把握机会。
  • HBuilderX重大更新,支持快应用、UniApp,支持MAC版:经过不懈努力,HBuilderX 迎来首次重大更新。更新的主要内容有:支持快应用、UniApp 开发,以及大家期待已久的 MAC 版。
  • DCloud 广告联盟引入新合作伙伴:DCloud 广告平台引入了新的开屏广告合作伙伴, 可以为用户提供更精准, 更丰富的开屏广告内容, 同时也可以更好地提升开发者收入。使用 HBuilder IDE 重新提交云端打包即可使用新版广告系统,欢迎体验。

开源项目

  • quickapp:这里是DCloud为快应用提供的工具服务集锦,包括开发IDE、源码示例、新手教程等。
  • 统一转换器:统一转换器,可实现将小程序项目转换为快应用、UniApp项目。
  • UniApp:完美的跨平台App,兼容小程序、快应用。

问题清单

iOS 近期问题

由于苹果的规范限制,iOS 应用总会不定时冒出来各种问题,令开发人员头疼不已。

最后

本周的报告就是这些,希望能对大家有所帮助。同时,也希望更多的小伙伴在社区分享自己的经验心得,交流学习。

祝大家周末愉快。

继续阅读 »

热门话题

本周最热门话题非“快应用”莫属。

  • 快应用正式发布:3月20日,中国大饭店,国内10家手机厂商(小米、华为、oppo、vivo、魅族、金立、中兴、努比亚、联想、一加),正式宣布成立快应用联盟,推出快应用。快应用是基于手机硬件平台的新型应用形态,标准是由主流手机厂商组成的快应用联盟联合制定。
  • 快应用深度解读 – 来自内行的门道分析:如果说微信小程序是移动互联网下半场的开幕,那么快应用就是坐实移动互联网下半场方向的重要里程碑。。
  • 想快速开发快应用?你需要知道这4大神器:拥有快应用IDE、小程序转换器、原生打包平台、Uni统计这4大神器,你在动态App浪潮中,才能敏捷前行,迅速把握机会。
  • HBuilderX重大更新,支持快应用、UniApp,支持MAC版:经过不懈努力,HBuilderX 迎来首次重大更新。更新的主要内容有:支持快应用、UniApp 开发,以及大家期待已久的 MAC 版。
  • DCloud 广告联盟引入新合作伙伴:DCloud 广告平台引入了新的开屏广告合作伙伴, 可以为用户提供更精准, 更丰富的开屏广告内容, 同时也可以更好地提升开发者收入。使用 HBuilder IDE 重新提交云端打包即可使用新版广告系统,欢迎体验。

开源项目

  • quickapp:这里是DCloud为快应用提供的工具服务集锦,包括开发IDE、源码示例、新手教程等。
  • 统一转换器:统一转换器,可实现将小程序项目转换为快应用、UniApp项目。
  • UniApp:完美的跨平台App,兼容小程序、快应用。

问题清单

iOS 近期问题

由于苹果的规范限制,iOS 应用总会不定时冒出来各种问题,令开发人员头疼不已。

最后

本周的报告就是这些,希望能对大家有所帮助。同时,也希望更多的小伙伴在社区分享自己的经验心得,交流学习。

祝大家周末愉快。

收起阅读 »

团购型app软件的设计内容要注意什么,郑州app开发怎么样

  说起团购app那么很多人都知道它的优势在于价格便宜,因此这也是团购app软件受到大多数与用户喜爱的原因之一,但是在制作一款团购类型的app软件时,应该注意到哪些问题呢?郑州app开发公司都能够实现哪些功能呢?对于大多数投资者心中的疑问,那么下面燚轩科技就来为大家解答一下。

  1、团购app不能忽视图片

  我们都清楚,一款用于商业用途的手机团购app开发,最吸引消费者的就是商品的图片了,所以设计师在布局团购软件时不能忽视图片的重要性。当然,在当今的快节奏为主的生活时代,人们其实并没有多余的时间去详细阅读应用的文字,所以在设计上使用图片更有利于吸引消费者的眼球。可以说在手机团购app开发设计中使用美观的图片是一件强有力的工具。

  2、极富具创意的手机团购app开发设计

  对于团购app来说,庞大的用户数量是其成功的基础,因此在团购app开发时,要在设计当中加入更多的创意来让你开发的团购软件区别于应用商店里的同类质产品,为团购手机软件加入更多的创意让其变得新颖,可以增加产品的竞争优势。

  3、简单的团购app开发界面设计

  极简的界面设计风潮一直都没有过去,在现在仍旧是设计行业的潮流趋势。而因为极简设计主义的流行,也让许多的app设计师在为更简洁干净的设计而奋斗,因为极简的设计界面风格让用户更容易消化理解团购app开发的内容,也更为的突出手机团购app开发的主要内容。在当代,复杂花俏的设计方式不利于用户在屏幕尺寸过小的手机进行阅读和查看。

  以上就是关于团购app的讲解了,如果有想要了解app开发技术相关知识的投资者,也可以咨询专业的郑州app开发公司燚轩科技来了解,我们会给您一份满意的答复。本文由郑州app开发http://www.appsaa.com整理发布,如需转载请注明出处!

继续阅读 »

  说起团购app那么很多人都知道它的优势在于价格便宜,因此这也是团购app软件受到大多数与用户喜爱的原因之一,但是在制作一款团购类型的app软件时,应该注意到哪些问题呢?郑州app开发公司都能够实现哪些功能呢?对于大多数投资者心中的疑问,那么下面燚轩科技就来为大家解答一下。

  1、团购app不能忽视图片

  我们都清楚,一款用于商业用途的手机团购app开发,最吸引消费者的就是商品的图片了,所以设计师在布局团购软件时不能忽视图片的重要性。当然,在当今的快节奏为主的生活时代,人们其实并没有多余的时间去详细阅读应用的文字,所以在设计上使用图片更有利于吸引消费者的眼球。可以说在手机团购app开发设计中使用美观的图片是一件强有力的工具。

  2、极富具创意的手机团购app开发设计

  对于团购app来说,庞大的用户数量是其成功的基础,因此在团购app开发时,要在设计当中加入更多的创意来让你开发的团购软件区别于应用商店里的同类质产品,为团购手机软件加入更多的创意让其变得新颖,可以增加产品的竞争优势。

  3、简单的团购app开发界面设计

  极简的界面设计风潮一直都没有过去,在现在仍旧是设计行业的潮流趋势。而因为极简设计主义的流行,也让许多的app设计师在为更简洁干净的设计而奋斗,因为极简的设计界面风格让用户更容易消化理解团购app开发的内容,也更为的突出手机团购app开发的主要内容。在当代,复杂花俏的设计方式不利于用户在屏幕尺寸过小的手机进行阅读和查看。

  以上就是关于团购app的讲解了,如果有想要了解app开发技术相关知识的投资者,也可以咨询专业的郑州app开发公司燚轩科技来了解,我们会给您一份满意的答复。本文由郑州app开发http://www.appsaa.com整理发布,如需转载请注明出处!

收起阅读 »

上下滚动反映不良mui('.mui-scroll-wrapper').scroll();

mui('.mui-scroll-wrapper').scroll();
上下滚动反映不良,完全没有丝滑的感觉,一卡卡的
http://m3w.cn/zgss 医道 神农本草经 下拉部分的 上下滚动

mui('.mui-scroll-wrapper').scroll();
上下滚动反映不良,完全没有丝滑的感觉,一卡卡的
http://m3w.cn/zgss 医道 神农本草经 下拉部分的 上下滚动

wap2app项目分享

分享 wap2app 案例

接触wap2app已经有小半年了,对w2a的一步步的发展还算有些了解。下边分享的是利用w2a编写的一个app移动项目。
APP名称:每日一券
目前已经实现的功能:
dom隐藏(隐藏移动端下载dom);
原生分享;
引导页(初次安装展示);
下拉刷新;
APP内更新安装;
个推推送;
清理缓存(5+方法,因为APP更新时apk会储存到目录内,所以加了这个功能,用的是plus.io.resolveLocalFileSystemURL方法,即清掉下载文件的目录达到清理的目的);
nview模板暂未使用,(由于移动站需要不定时更改样式,暂时没加入)。

APP预览地址:ios下载
安卓下载

继续阅读 »

接触wap2app已经有小半年了,对w2a的一步步的发展还算有些了解。下边分享的是利用w2a编写的一个app移动项目。
APP名称:每日一券
目前已经实现的功能:
dom隐藏(隐藏移动端下载dom);
原生分享;
引导页(初次安装展示);
下拉刷新;
APP内更新安装;
个推推送;
清理缓存(5+方法,因为APP更新时apk会储存到目录内,所以加了这个功能,用的是plus.io.resolveLocalFileSystemURL方法,即清掉下载文件的目录达到清理的目的);
nview模板暂未使用,(由于移动站需要不定时更改样式,暂时没加入)。

APP预览地址:ios下载
安卓下载

收起阅读 »