- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
微信⼩程序开发02-⼩程序基本介绍
前⾔
前⾯我们研究了下微信⼩程序的执⾏流程,因为拿不到源码,只能算我们的猜想,我们需要更加了解⼩程序还需要做具体的项⽬,于是我们将原来那套还算复杂的
业务拿出来:
(有些晦涩有些乱,但是对于整体了解⼩程序结构有帮助)
我们⽤⼩程序实现这⾥的代码,看看是个什么样的体验,另外我这⾥想保证代码最⼤程度重⽤,为后续⼀端代码四端运⾏做前驱探索。
页⾯复杂度还是⽐较⾼的,包括了:
①弹出层
②页⾯跳转
③缓存
④数据请求
⑤列表页、滚动分页
⑥
我相信完成了这个例⼦,我们对⼩程序业务代码怎么写会有⽐较好的了解,于是让我们开始今天的代码吧。
⼩程序的布局
为什么不使⽤HTMLCSS
微信⼩程序这种平台型的超越Hybrid系统诞⽣还是有⼀些客观条件的,其中⼀个就是移动端的应⽤相对来说简单的多,想想PC负责的布局,如果要使⽤⼩程序实
现,那么复杂度会提⾼很多。
⼩程序代码编写逻辑层依旧使⽤JS完成,但是结构层以及样式层推出了:
①WXML,WeixinMarkupLanguage,是微信设计的⼀套标签语⾔,与HTML类似,做过ReactVue的同学会⾮常熟悉
②WXSS,WeiXinStyleSheets,是⼀套样式语⾔,⽤于定义样式,与CSS类似,⼀般认为是CSS的⼦集
因为⼩程序中UI组件都是Native实现,所以⼩程序直接⼿起⼑落压根放弃让我们使⽤HTML容器,这样做我觉得有个好处是:
为了更好的限制,我之前也在做Hybrid乃⾄前端框架,⼀般来说我会限制到View级别的实习,要求必须按照我的规则做,但是因为⼊⼝为index.html⽂件,我甚⾄
将全局控制器App的实例化放到了main.js⾥⾯,只提供了建议的做法,事实上HTML还是太过灵活,有些同事逐渐根本不按照我们的规则玩,他觉得他的做法更
好,但是这样⼀来便会破坏了项⽬的总体性,后续的⼯程性的优化或者监控可能就不能帮助他了,从某个⾓度来说,我是认可⼩程序的做法的。
我们之前在这⾥研究过⾃定义标签的做法:
1articleclass=cmlistid=main
2divclass=js_sort_wrappersort-bar-wrapper
3mySortBar:entity=sortEntity/mySortBar
4/div
5myList:entity=listEntity:sort=sort/myList
6/article
从这个⽂章以及⼩程序的实现可以看出基本的概念:
①标签的出现根本不是做标签⽤,⽽是为了让JS捕捉执⾏相关逻辑,最后⽣成真正的标签
②为了做更好的限制,⼩程序根本不提供⼊⼝index.html⽂件了,所以这⾥的标签是⽤作JS做模板解析后⽣成Native能识别的代码,更具体点说是,Native实现了
⼀个组件,组件有很多规则,可以使⽤JS去调⽤,正如我们这⾥的header组件调⽤逻辑(JS会设置Native的Header组件展⽰),这⾥如果不太清晰可以参考下这
个⽂章:
当然,⼩程序底层具体是不是这么做,我们不得⽽知,如果有⼩程序的同事,可以指导下:),⾄此,我觉得可以从技术层⾯说明为什么不直接使⽤HTMLCSS
了:更好的业务限制+⽅便JS解析模板被Native执⾏。
⼩程序组件
我们之前做Hybrid应⽤的时候,事实上只提供了⼀个真正具有结构的组件Header,其他loading类的提⽰组件都⽐较简单,⽽我们看看⼩程序提供了哪些组件呢:
容器类组件
viewscroll-viewswiper等作为容器组件存在,这⾥官⽅有基本介绍,我们这⾥看看其中⼀个即可:
这⾥官⽅给了⼀个demo进⾏说明:
1viewclass=section
2viewclass=section__titleflex-direction:row/view
3viewclass=flex-wrpstyle=flex-direction:row;
4viewclass=flex-itembc_green1/view
5viewclass=flex-itembc_red2/view
6viewclass=flex-itembc_blue3/view
7/view
8/view
9viewclass=section
10viewclass=section__titlef
您可能关注的文档
- 批评与自我批评 发言稿(三).doc
- 感性工学理论指导下的家电产品创新设计 .pdf
- 应聘电商运营时面试需要注意的问题及技巧 .pdf
- 库仑定律(精选练习)(解析版) .pdf
- 广西豇豆蓟马发生规律及防治药剂筛选 .pdf
- 广西河池市2024小学数学一年级上学期人教版期末检测(预测卷)完整.pdf
- 广东省深圳科学高中2024年高考语文五模试卷含解析 .pdf
- 广东省深圳市2024届高一物理第二学期期末复习检测模拟试题含解析.pdf
- 广东省深圳市2024小学数学一年级上学期人教版期末考试(自测卷)完整完整版727680619.pdf
- 广东省河源市2024小学数学一年级上学期统编版期末测试(综合卷)完整.pdf
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)