微信小程序开发公司踩过的坑你可别再踩了,凡是从事软件开发工作的技术或者公司多多少少都踩过一些坑,都都在不了解整体开发的形势下做出的一种无知举措,在现如今,微信小程序的开发进入了火热阶段,好多公司和技术都投身于微信开发方面来了,面对客户的一些外包需求,肯定有些在不之情的情况下,很有可能做出错误的决定的,汤坑在小编看来是无法避免的,所以说,小程序开发外包公司在跟客户签订合同之前,一定要做好前期的准备工作对一些不了解的,不清楚的接口先在网络上查询好之后在做决定,不要盲目的签合同,负责很容易跳坑的。
小程序提供了一个框架,微信称之为mina,这个框架主要分两个层面,视图层和逻辑层。框架的核心是一个响应的数据绑定系统。WXML 中的动态数据均来自对应 Page 的 data,这个数据绑定是单向的,只有数据发生变化,视图才会做出相应的调整。这种模式,让开发者专注于事件处理上,改变对象状态,实现视图更新。
为了方便以及限制开发者开发,微信自己定义了一系列的基础组件,就是视图层的组成单元(表单组件,媒体组件,导航等),组件自带一些功能与微信风格的样式,类似html标签。微信还提供了很多原生的微信api,用来调用微信内部提供的功能,以及一个微信小程序开发者工具。
微信小程序源码结构
视图层(将逻辑层的数据展现在视图上)
逻辑层(通过改变数据[setData方法]来改变视图)
配置文件
在小程序中,微信规定了界面的组成模式,由四个文件组成。
.wxml文件(页面结构文件)标签语言,类似html,真正负责页面结构的文件,可以绑定数据。
.wxss文件(样式表文件)类似css,大部分css样式都相同
.js文件(脚本文件)用来运行我们的逻辑,使用js语言
.json文件(配置文件)主要配置公用的样式,比如tab栏,窗口样式等
知识库微信小程序的例子
CSDN小程序开发初步尝试,关注的重点是js文件和wxml文件。
知识库把开发领域细分成某个领域,例如技术语言,运维系统,行业应用等方面,对每个技术和知识点都设计一个网状图谱,来总结技术某一方面涉及到的知识,同时为知识结构准备一些精品的内容。方便大家更系统的学习知识。
在知识库这个产品上,需要实现内容推荐,个人中心以及搜索。用户侧和内容推荐测,都包括四层:库-》知识结构-》内容列表-》内容详情页。搜索功能可以根据用户搜索的关键词找到用户侧或者推荐里的相关内容。方便用户阅读和收藏。
知识库页面设计
小程序组件满足了所有的显示功能和结构(列表,窗口,按钮,事件)
API齐全,便于逻辑开发。不同的功能模块放在不同的页面里。
- 视图层: tab栏,列表页,知识结构页,内容详情页,搜索页
- 逻辑层:
tab栏->通过绑定数据index选择一级页面
列表页->通过改变绑定数据contentlist数组,控制列表显示和动态加载
搜索页->通过绑定数据searchValue,通过事件及时获取用户输入
小程序开发路上踩过的坑
打开页面数量限制(redirectTo还是navigateTo)
微信提供tab栏的设置,可以在app.json中配置,在app里配置的tab栏将出现在所有的一级页面。但是他有一个问题就是第一次点击tab将会打开一个新的页面,微信对打开页面的数量限制是五个。
微信提供了几个页面跳转的方式,redirectto,navigateto,还有返回。重点说这两个,redirectto会直接在原页面上打开新页面,navigateto会新开启一个页面。由于微信在页面数量上有限制,我们产品的层级有比较多,导致我们无法直接在app.json设置tab栏。所以我们把tab栏单独设计出来。点击tab不开启新页面。在每个初级页面都引用进去,之后二级三级的页面上不使用tab切换,而是需要返回到初级页面。
树状结构的展示
每一个库都有一个树状的知识结构,大家请看这个例子。每个层级展示的方式是一样的,所以正常情况下,我们都会选用递归的方式来使展示。比如在这张图里,当我们判断这个节点拥有子节点,就想再次调用同样方法显示。但是很遗憾,小程序里,不论是使用模板,还是使用include的方式引用文件,都没有办法做到自己调自己。
幸运的是我们知道我们层级最深有多少,这样我就可以写几个同样的文件和模板,加上不同的命名,来调用。如果是未知层级的树状结构,就会非常难以处理。在这里可以建议大家将树状结构变成数组的形式,加上层级标识,在wxml文件中可以使用循环的方式来处理层级的显示。
Html页面在微信小程序中展示
这是一个非常难处理的问题,微信不支持html页面的展示,所以需要把所有html的标签转化成小程序内允许的标签。我们使用了一个名叫wxParse的应用,这个应用的功能就是通过正则表达式将html页面转化成json形式,再用模板的方式展现出来。在这里面规定了各个标签的样式(wxss)。遗憾的是他也有层级方面的问题,同样是重复写了很多完全一样的模板。
顺序调用。如果html的标签层级结构超出了模板个数,那么超出部分将无法显示出来。这个应用是在微信中运行的,建议大家把数据转化放在服务器端来进行,将转换后的数据发给小程序。另外小程序setData()一次不能超过1024k,如果你的json格式数据超过这个限制,就会很难再拼接。
冒泡事件
一个组件上的事件被触发后,该事件会向父节点传递,网络请求接口 wx.request() 没有携带 Cookies,如果服务器端有通过获取cookies处理的逻辑没办法和小程序结合,只能为小程序单独开发新的接口。
小程序在运营上的优势在于微信用户量大,适合推广,某些功能单一的APP可以在小程序中实现,不用再下载APP。开发者不用考虑平台,开发成本低。但同时不适合开发逻辑复杂界面丰富的程序,受到框架限制,随意性小,无法满足所有功能。
现如今对于企业来说到底是做小程序好,还是说做app好,现如今很多企业选择的关注之一。
对于小程序来说,其推广速度快,不管说分享到朋友圈,还是说分享给好友,直接快速的点击就可以使用了。并且它还有一个好处,就是它不用像app一样去上架到各个应用商店。像如果上架到苹果的话,还需要一个九十九美金注册一个这样的账号,可能比较麻烦。但是小程序的弊端啊,对那种着急上线的人可能就不太友好了,因为它多了一个小程序备案,这个时间啊可能也很久。你像a p p的话,它最大的弊端就是推广起来不方便。都知道下载app它没有小程序那么灵活,但是app的好处呢,它就是可以想怎么改就怎么改,没有像小程序那样改,一次,要审核一次,改一次,要审核一次,比较慢,比较麻烦。
对于用户来说,现如今还是毕竟推荐建设小程序的,毕竟现如今的小程序在推广和使用方面会有更好的有时。现如今对于用户来说,小程序很大程度上已经逐渐成为很多人们日常生活中不可或缺的一部分了。在这种情况下,很多企业都想要同过小程序来获取到更多的流量或者用户。那么对于想要开发小程序的企业或用户来说,开发一款小程序需要准备哪些资料呢?
首先应该准备一家公司的营业执照,最好是科技公司的,因为科技公司是可以申请高新技术补贴的,一般来说有十到二十万左右。其次就是公司的经营范围,这个一定要跟公司经营类目相符合,不然在经营过程中,如果被查出来经营范围不一样,那么就会被下架小程序的。如果说是个人使用的小程序的话,就需要去申请一个个体的营业执照,把经营范围填好,因为个体是可以申请小程序的,走的是法人。有了这种营业执照以后呢,就可以帮申请域名、服务器、小程序小程序的名称,还有logo这些等等。
对于一个小程序来说所需要准备的东西并不是很多,主要是开发过程中所需要的费用相对来说会比较高一些。对于用户来说,小程序的开发费用往往是很多用户关注的重点,很多用户都是因为开发小程序的费用太高而不得不放弃小程序的开发,那么对于用户来说应该如何降低小程序的开发费用呢?
首先确定开发主要的功能。在不确定小程序未来能不能帮助赚钱的情况下,先定制开发核心功能,等小程序赚钱了以后再进行升级开发。其次,找有开发类似经验的公司做二开,这样更能确保开发公司都能理解到位,并且比起全新的定制开发来说价格也会更低。第三,整理需求,做需求文档,这个是很多用户都忽略的,需求清晰完整,开发公司才能清楚的了解工期报价才不会虚高。
对于用户来说这些都是能够降低开发费用的方式之一,当然了对于用户来说节省开发费用的方式有很多,但是想要做出真正好的小程序所需要的价格和时间一定是非常多的。小程序定制的费用是很多用户不想选择定制开发的主要原因,对于用户来说定制开发的费用太高了,一般的企业是很难承受的,那么应该如何降低定制开发的费用呢?
首先第一个,就是用户想要定制开发的这个小程序功能,开发公司正好有已经开发好的功能。那这个时候呢小程序开发公司一般来说给的价格都会比较低一些,因为有的代码他们是可以直接用的。第二,如果说你想要自己开发的这个小程序,完全是你的一些个性化的一些要求。开发公司没有已经开发好的,类似的这个功能案例。这个时候呢,降低一点需求把最重要的功能先开发出来,后面在进行优化升级。除此之外,就是选择一些人力成本比较低的二线城市,或者是三线城市,虽然有可能在开发过程中会出现一些不确定的因素,但是相对来说价格会便宜不少。
当然除此以外呢,想减少小程序定制开发费用的方式也有很多,一般来说最好是先开发完小程序的核心功能之后上线使用,当有足够的资金后在对其进行升级和优化,对于很多预算有限,但是需要进行定制开发的用户来说着是最好的方式。在进行小程序的定制开发过程中,有可能会出现很多问题,有些问题很多情况下都是可以提前避免的,这对于小程序的开发和后期的维护等都会有很大的帮助。那么在进行小程序的开发时应该注意那些事项呢?
第一个需要注意的事项就是先要明确小程序开发的功能。很多时候由于没有和网络公司明确小程序定制开发的功能,导致后期开发过程中出现了大量的问题,甲乙双方的相互扯皮。为了避免后期的返工和修改,一定要在签约小程序开发合同之前,要把定制开发的功能,以文字的形式记录下来。第二个需要注意的事项就是开发公司是不是百分之百给你源代码交付。在小程序开发过程中,很多公司为了降低开发成本,有可能会直接在网上下载流通的免费代码,通过简单的修改给你进行交付。因为这套代码的版权不是他们公司开发的,后期有可能会收到起诉函。第三个需要注意的事项就是做小程序开发后期有没有隐形的费用。因为做小程序开发,后期或多或少都会做一些调整,只要让公司改个东西或者做一些服务,都有可能会是天价,除非啥都不改。所以一定要在小程序确定合作之前,把后期的服务范围落实到位。
在小程序的开发过程中,很多主要的问题就是来源于这些地方,只要明确好小程序的功能,和后期的维护、优化等方面的问题后,基本上就能够减少很多问题了。一般来说,需要进行小程序定制开发的时候,说明一般的模板小程序已经很难满足需求了。对于一个定制小程序开发大致需要以下几个阶段,第一确定产品需求,第二产品原型设计,第三产品ui设计,第四开发过程,第五测试验收上线。
在开发过程中,有不同的角色来承担对应的项目工作,核心需要四个角色。第一,产品经理主要负责需求调研以及产品原型设计,包括产品的使用流程、逻辑关系等一系列工作。第二,ui设计师将产品原型具体化,上色大师配合程序员贴图等工作。第三,程序员包括前后端开发工程师,负责产品的具体开发工作。第四,测试工程师负责产品测试、调试校验系统的稳定性后,产品才能进行上线。
一般来说小程序的定制开发费用主要是开发人员的成本费用,加上一些其他的像是电费等。总的来说,开发一款小程序的费用很大程度上和开发人员的数量和开发时间有关。一般情况下开发一款定制的小程序最少也需要一万元左右,要是想要让小程序有更好的发展空间或者是更多的功能等,所需要的费用就会更多。