返回首页

一个小程序的实施技术方案?

109 2023-12-01 04:38 admin

一、一个小程序的实施技术方案?

微信小程序上线大半年,大部分技术原理也有文章介绍了,本文尝试从需求出发探讨微信小程序技术方案的来源,以及最近公测的支付宝小程序技术方案的考量。

微信小程序

微信小程序的需求是让第三方开发者可以接入,可以使用微信的提供的接口去开发应用嵌入在微信里。对于这个需求,最简单的实现方案是:让外部开发者开发纯H5应用,在微信的 H5 容器里打开,容器提供微信 native 接口,就行了。在有小程序之前,已经有很多这样的业务接入,像京东购物,钱包里的各种友商大众点评/滴滴出行等,都可以认为是一个“小程序”,内嵌在微信里,能调用微信 native 接口,是不是沿着这种模式下去,把相应的接口开放给第三方,再提供个入口就行了?

实际上这种简单的方案不能满足需求,在产品上微信小程序有另外两个很重要的需求:

管控。作为一个平台必须对接入的应用有管控能力,必须能尽量精确控制应用的内容和类型,毕竟若出现非法应用平台是要承担责任的,H5 的方式太过自由,开发者可以随时改变整个应用的内容,平台难以检测到这些改变,无法管控。另外H5开发质量参差不齐,平台也无法管控,这对于一向有洁癖的微信来说无法接受。

体验。作为一个“小程序”需要让体验接近原生,而上述像京东购物这些普通 H5 页面的体验不太行,包括启动速度/页面切换流畅度都有问题,跟原生体验没法比。

所有小程序的技术方案都是为了这两个需求服务。

管控

为了满足管控的需求,技术上微信做了两个事情:小程序框架和分离JS运行环境。

框架/DSL

H5太自由,首先要做的就是限制它的自由,怎样限制?自然是做个框架套住,让开发者只能按框架的规则去开发。那应该使用怎样的框架?

在 PC SNS 时代,Facebook 做开放平台时有类似的场景,为了第三方开发者能在 Facebook 平台上开发,同时又能限制住开发者的权限,Facebook 要求开发者使用自定义的一套 DSL(FBML)去开发,而这个 DSL 能怎么写,最终能转成什么,如何执行,都是平台说了算,同时也可以很方便做代码扫描和审查。

小程序正好能借鉴这样的设计思路,界面不使用 HTML 开发,而是自定义一套 DSL,这样就可以很容易配合审核/代码扫描/域名限制等系列措施去做管控,这就是小程序这一套框架的来源。这套框架通过 wxml 去描述界面,wxss 描述样式,js 去处理逻辑和数据,再通过工具一系列处理把这些转为 HTML/CSS/JS 显示在 webview 上,并处理界面交互和数据更新。

这样用一套框架去限制开发方式,再造一层 DSL,除了管控外还有一个好处,就是容易进行针对性优化,DSL 最终转成什么,最终如何执行渲染都由框架决定,上层不感知,可以做成由 webview 渲染,有条件也可以用类似RN的方案自己实现渲染层。

JS 环境

通过框架限定开发方式后,管控上还有个问题,就是如何限制应用端类JS语言调用dom API?小程序跑在 webview 上,渲染时必然要通过 JS 操作 dom,如果小程序框架和应用 JS 代码都有权限操作 dom,应用可能会通过各种方式在上线后绕过检查,注入 JS 调用 dom 接口去修改页面结构和内容,变成跟审核时不一样的应用。怎样能限制应用的 JS 调用 dom 的权限?微信想了个比较创新的解决方案,就是:JS 运行环境与浏览器分离,运行在单独的 JS 引擎上。

脱离了浏览器,JS 自然没有 dom 的调用权限,任何跟 webview 界面相关的 API 都无法拿到。而小程序框架核心JS运行在webview上,可以自由操作dom,通过小程序框架定义的机制,应用端通过 wxml/wxss 定义固定的渲染样式,JS 端只管数据绑定,数据可以通过 native 桥梁从 JS 引擎传递到 webview,JS端无法做任何渲染相关的操作,可以对渲染的内容有完整的管控权。

独立的 JS 运行环境除了满足管控需求外,也额外带来一些好处和一些坏处,好处在于:

多个页面可以共享一个 JS 运行环境,数据可以很方便地共享,整个小程序生命周期里共享同一个上下文,更接近 APP 的开发体验。

JS 与页面渲染分离并行执行,不会出现 JS 执行时卡住页面渲染的情况,提升渲染性能。

坏处在于:

多了数据序列化传输的开销,数据需要从 JS 传到 webview 给视图层渲染,需要序列化为字符串格式再进行传输。

iOS 上 WKWebview 的 JS 引擎比 JavaScriptCore 多了 JIT 优化,执行速度快很多倍,小程序的 JS 运行在 JavaScriptCore 上无法享受到这个优化。

由于管控需求过于刚需,这个方案带来坏处可以接受。

体验

小程序最主要的两个技术点 — 框架和JS运行分离 都是源自管控需求,而体验上的需求就是由各种细致的性能优化组成了,很多文章也分析过,这里简单说下,包括:

离线包:整个小程序打包下发,不需要打开每个页面都去请求,减少第二次打开时间以及页面切换时间。

预加载:预加载多一个wkwebview放后台,用户打开小程序时省去初始化wkwebview时间。另外对于一个小程序内的页面切换,得益于框架的设计,可以做到预渲染模板,切换时再填充数据,加快渲染速度。

缓存:退出小程序后不会立即销毁,会在后台继续跑5分钟,在这期间用户切回小程序时速度快。

视觉:小程序首次加载通过loading和动画的方式过渡,拒绝白屏,给人一种快的感觉,同时提升了小程序的标识度。

剩下的就是围绕小程序这个平台的周边建设了,像组件,native接口,IDE,后台管理,版本管理,权限控制等基础支持。

支付宝小程序

策略

微信小程序推出时主要面向的场景是线下,希望商家能开发小程序,做像点菜买票这样的即时性应用,提升线下商户体验,支付宝作为线下战场的主要竞争对手自然要跟进。

支付宝要做小程序应该怎么做?可以根据自身的情况,定义另一套技术体系,让第三方接入。但这样的话第三方如果要同时接入微信和支付宝,需要开发两套程序,成本很高,而微信有先发和平台优势,很可能变成只开发微信小程序而放弃接入支付宝小程序,所以最好的做法是降低这里的接入成本,让微信小程序的代码可以复用在支付宝小程序上。所以支付宝小程序对外的框架/API/组件必须是跟微信小程序接近或力求一致,技术上没得选择,所以可以看到支付宝小程序公测版的文档很多跟微信一致。

实现

支付宝小程序框架对外接口是跟微信一样,又因为同样有管控/安全和体验的需求,有些策略是类似的,像独立 JS 环境,离线包,缓存策略等,但在小程序框架的实现上就跟微信完全不一样。小程序框架作为一层屏蔽了实现细节的 DSL 层,最终通过什么技术手段实现都可以是由框架底层自由定制的,这边底层架构基于蚂蚁前端团队多年的积累,最终 web 版小程序是以 react 为基础实现。

React Native

除了对外的跟微信一致的 web 版小程序,内部一直在尝试 React Native 版小程序,渲染层不适用 webview,而是用 RN 去渲染,提升性能和体验,这也是小程序 DSL 层带来的好处,底层渲染引擎可以很方便地替换实现方案,甚至同时存在多套方案。

很多人问为什么不用 weex,按我理解首先是蚂蚁的前端技术栈基于 react,切换成本高,另一个 RN 相对 weex 成熟度高,社区支持度高,并保持着不间断的更新,相对友好。

RN 本身不跨平台,iOS/Android有各自的写法,在 RN 的使用上,业界很多人各自实现了基于 RN 的跨三端或两端的开发方式(例如JDReact),也就是一次开发,能同时支持 RN 在 iOS / Android 两端做原生渲染,也支持 fallback 到 webview 渲染。这里小程序也算是这样一套方案,上层通过自定义 DSL 开发业务,部署时通过工具分别转换成三个平台不同的代码,在三个平台运行。

内部应用

小程序是一套对外的方案,主要用于第三方应用接入,因为上文也说了,框架上很多技术方案都是为了满足对第三方管控和安全方面的需求,而小程序相关的很多体验优化其实用纯 H5 也可以做到,内部业务用 web 版小程序开发并没有带来什么好处,反而增加学习成本。但 RN 版小程序不一样,它有一些优势,包括:

RN 相对 webview 性能优势明显,秒开率高,交互也更流畅。

相对于单纯使用 RN 开发,使用小程序可以屏蔽平台差异,实现跨平台一次开发。

小程序有配套的开发环境/IDE/包管理等基础设施支持,无需再重复建设。

对于业务开发者,小程序不是全新的一套开发方式,在业界可复用,对于框架实现者,RN也是业界流行开源方案,有强大的社区支持。对内对外都避免了另外创建一套只能在内部使用的技术体系,极大降低技术成本。

基于这些原因,在蚂蚁财富这边一些内部原本应该使用 H5 实现的业务,也正尝试更多地使用小程序实现,以提升用户体验,目前部分基于小程序 RN 版开发的业务已在线上稳定运行,后续也会继续尝试把小程序 RN 版持续打造成高性能稳定的三端统一动态化方案。

二、循环护理实施程序?

1阶段:寻找并确立证据阶段系统评价寻找临床实践中的问题,并将其特定化,结构化根据所提出的问题进行系统评价,以寻找来源与科研的证据,并对科研证据的有效性和实用性进行审慎评审。

2实施阶段:实施阶段,即遵循证据的要求进行护理步骤。

三、助理实施工程师和实施工程师的区别?

助理实施工程师与实施工程师存在职称资格等级上的区别。在国家人力资源和社会保障部职业技能评定部门的职称资格等级分类为,技术员,助理工程师,工程师和高级工程师等,这里的助理实施工程师职称就是助理工程师职称资格等级,而实施工程师就是工程师职称资格等级。

四、高考小程序加油小程序

随着科技的不断发展,人们的生活也发生了翻天覆地的变化。移动互联网的兴起,为人们的日常生活带来了很多方便和便利。而现如今,高考小程序成为了考生备战高考的新工具。

高考小程序的作用和意义

高考小程序是一种基于手机操作系统的应用程序,通过它可以方便地获取各类高考相关的信息和资源。它的作用非常广泛,可以帮助考生进行高效学习、备考技巧掌握、志愿填报参考等等。

首先,高考小程序为考生提供了丰富的高考资讯。通过它,考生可以了解当前的高考政策、考试安排、考点信息等等。这些资讯对考生的备考和心理准备都非常重要。

其次,高考小程序提供了高效的学习资源。在小程序中,考生可以找到各科目的习题、模拟试卷、真题解析等等。这些资源可以帮助考生进行有针对性的复习和练习,提高他们的学习效率和成绩。

另外,高考小程序还有提供备考技巧和方法。考生可以在小程序中获取到丰富的备考经验和技巧,学习别人的成功经验,从而更好地备战高考。这些技巧可以帮助考生规划好时间、掌握好解题方法,提高他们在考试中的表现。

最后,高考小程序还有志愿填报方面的服务。考生可以在小程序中了解到各个大学的专业设置、招生政策等等。这对考生进行志愿填报有很大的帮助,使他们能够做出更明智的决策。

高考小程序的开发和推广

高考小程序的开发需要专业的技术团队和设计师合作,他们需要根据考生的需求和功能要求进行开发。同时,还需要与相关教育机构、高校合作,提供权威、有效的教育资源。

在推广方面,高考小程序可以通过多种渠道进行宣传。可以与各大高校、教育机构合作,进行线下宣传和推广活动。同时,也可以通过社交媒体平台、教育网站等进行线上推广。关键是要针对考生和家长的需求,提供有价值、有趣、有互动性的内容,吸引他们使用。

高考小程序的未来发展趋势

随着高考小程序的不断发展,它还将有很多新的发展趋势。

第一,个性化服务将会更加普及。随着考生对高考信息需求的多样化,高考小程序将会提供更加个性化的服务。比如,考生可以自定义学习计划、进行学习记录和分析等。

第二,人工智能技术将会更加应用。人工智能技术可以分析考生的学习情况和答题情况,提供个性化的学习建议和解题技巧。通过人工智能技术,考生可以更好地了解自己的学习状况,找到适合自己的学习方法。

第三,社交化学习将会更加重要。高考是一个团队的战斗,考生可以通过高考小程序和其他考生进行交流和学习。通过分享学习心得、解疑答惑,考生可以互相促进,共同进步。

结语

高考小程序的出现为考生备战高考提供了新的工具和资源,极大地方便了考生的学习和备考。未来,随着技术的进步和创新,高考小程序将会更加智能化、个性化,帮助更多的考生取得优异的成绩。

五、ERP实施顾问和实施工程师区别?

  都是围绕ERP设置的岗位,实施顾问侧重于系统的培训和优化,实施工程师侧重于系统的实施和维护。  ERP实施顾问职位描述:   作为行业管理及ERP软件(TIPTOP)的专家,为企业建设企业资源计划(ERP)系统提供培训,调研,设计解决方案,实施优化管理流程等服务  ERP实施工程师职位描述:  主要负责企业ERP系统的需求分析、软件测试、项目实施、客户培训等工作,负责ERP项目的实施与维护。

六、听证程序实施办法全文?

第一条 为了规范行政处罚听证程序,保障和监督行政执法机关依法实施行政处罚,维护公民、法人和其他组织的合法权益,根据《中华人民共和国行政处罚法》,制定本办法。

第二条 本办法适用于本市行政区域内的各级行政执法机关(含法律、法规授权的行政执法组织,下同)以及与听证相关的单位和个人。

第三条 行政执法机关拟作出下列行政处罚前,应当告知当事人有要求举行听证的权利:

(一)责令停产停业;

(二)吊销许可证或者执照;

(三)对公民处以2000元(含2000元)以上罚款,对法人或其他组织处以 10000元(含10000元)以上罚款。

法律、法规或者规章对举行听证的程序和罚款数额另有规定的,从其规定。

第四条 听证应当遵循公开、公正、及时、便民的原则,保障当事人行使陈述、申辩和质证的权利。

第五条 听证由拟作出行政处罚的行政执法机关组织,具体工作由其法制机构或者承担法制工作任务的机构负责。

受委托行使行政执法权的组织拟作出适用听证程序的行政处罚,由委托的行政机关组织听证。

第六条 听证由行政执法机关指定的非本案调查人员主持,并确定专人记录。

听证主持人由在行政执法机关法制机构工作两年以上或者从事执法工作五年以上的人员担任。

听证主持人实行资格认证制度。由市政府办公室统一负责培训考核,并颁发资格证书。

第七条 行政执法机关在案件调查终结后,经本机关负责人审查,拟作出本办法第三条规定的行政处罚前,应当向当事人告知有要求举行听证的权利,并送达听证告知书。听证告知书应当载明认定的当事人违法的基本事实、拟作出行政处罚的依据、种类、幅度。

当事人要求听证的,应当在听证告知书的送达回执上签署意见,也可以在收到听证告知书后三日内以其他书面形式向行政执法机关提出听证要求。

当事人逾期未提出听证要求的,视为放弃听证权利,行政执法机关记录在案后,即可依法作出行政处罚决定。

第八条 当事人提出听证要求后,行政执法机关应当在十五日内组织听证,并在听证的七日前书面通知当事人举行听证的时间、地点等有关事项,由当事人在通知书的送达回执上签字。

当事人应当按时参加听证。当事人有正当理由要求延期举行听证的,应当在举行听证的三日前向行政机关提出书面申请,是否延期,由行政执法机关决定,当事人未提出延期申请或提出延期申请行政执法机关未予批准又未参加听证的,视为放弃听证权利,行政执法机关不再组织听证。

第九条 听证参加人包括行政处罚案件的当事人及其委托代理人,案件调查人员、证人、鉴定人以及与案件处理结果有直接利害关系的第三人。

当事人可以亲自参加听证,也可以委托一至二人代理。当事人委托代理人参加听证的,应当在举行听证前向行政执法机关提交授权委托书。

第十条 除涉及国家秘密、商业秘密或者个人隐私外,听证应当公开举行。

第十一条 听证主持人、记录人与本案有利害关系的,应当回避。当事人认为听证主持人、记录人与本案有利害关系的,有权向行政执法机关提出回避申请。听证主持人是否回避,由行政执法机关负责人决定,听证记录人是否回避,由听证主持人决定。

第十二条 当事人在听证中,有权对调查人员提出的违法事实、证据、理由、依据及处罚建议进行陈述、申辩和质证;有权提出新的事实、理由和证据。

第十三条 当事人在听证中,应当如实陈述案件事实,遵守听证纪律。

当事人未经听证主持人允许提前退席的,视为放弃听证权利。

第十四条 听证按照下列程序进行:

(一)听证主持人宣布听证事项、听证纪律以及当事人的权利和义务;

(二)听证主持人介绍听证组成人员、询问核实听证参加人的身份.询问当事人是否申请回避,宣布听证开始;

(三)案件调查人员提出当事人违法的事实、证据和行政处罚建议;

(四)当事人就案件的事实、理由、性质、情节及处罚建议进行陈述和申辩.对调查人员提出的证据进行质证;

(五)当事人做最后陈述;

(六)听证主持人宣布听证结束。

听证笔录交当事人核对无误或补正后签字或者盖章。当事人拒绝签字或者盖章的,由听证主持人在听证笔录上注明情况。

第十五条 听证主持人在听证中有权对参加人不当的言行予以制止,对当事人严重违反听证纪律,扰乱听证秩序的,可以终止听证。对违反听证纪律的旁听人员有权责令其退席,以维护正常的听证秩序。

第十六条 听证结束后,听证主持人应当依据听证情况,写出听证报告,连同听证笔录报行政执法机关负责人。

听证报告应当载明听证的时间、地点、参加人、记录人、主持人;当事人与调查人员对违法事实、证据的认定和处罚建议的主要分歧;主持人的意见和建议。

对当事人在听证中提出的新的事实、理由和证据,听证主持人应限期由调查人员复核后,一并报行政执法机关负责人。

行政执法机关负责人应当认真审阅听证笔录,充分考虑听证报告提出的意见,依照行政处罚法第三十八条的规定作出决定。

第十七条 当事人对举行听证后作出的行政处罚决定不服的,可以依法申请行政复议或者提起行政诉讼。

第十八条、违反本办法,有下种情形之一的,行政处罚无效:

(一)应当告知当事人有要求举行听证的权利,没有告知的;

(二)应当组织听证,没有组织听证的;

(三)违反听证程序的。

第十九条 行政执法机关组织听证,不得向当事人收取任何费用。

第二十条 本办法所规定的期间从听证文书送达的第二天开始计算,期间的最后一天是星期六、星期日或其他法定休假日的,以休假日期满后的次日为期间的最后一天。

第二十一条 本办法由市政府办公室(法制办公室)负责解释。

第二十一条 本办法自发布之日起施行。

七、雏鹰奖章的实施程序是?

雏鹰争章活动分为五个环节:

1、定章。少年儿童根据自己的实际与需求 ,自主地选择与确定本阶段的 争章项目,并按照所确定章目的获章标准 ,制定争章计划,确定在一定时期要 学会的技能以及要参加的训练活动。

2、争章。队员按照自己制定的争章计划,在辅导员和同学的帮助下,开 展各种训练活动,以习得相应技能,取得明显进步。

3、考章。队员展示自己争章训练的成果 ,将训练的记录、制作的作品、 收藏的实物和相应技能进行展示, 少先队组织或者经过授权的社会机构, 按照 基础奖章获章标准的规定,对队员的技能、所取得的进步进行考察、认定。

4、颁章。少先队组织向经过考评达到获章标准的队员颁发基础奖章。这 是对少先队员参加雏鹰争章活动取得成绩的认定和奖励。

5、护章。少先队员应珍爱自己所获得的基础奖章,并用这些奖章激励自 己刻苦学习、努力实践,以获得更多的基础奖章。

八、日光温室建设实施程序?

(1)选址

日光温室主要热源来自自然光,其建造应选择日光充足、背风平坦、无污染、有水源且排水良好的地方。土壤要疏松肥沃,对沙土地可掺一定的黏土并施有机肥进行改良,黏重土壤要掺沙并大量施入有机肥进行土壤改良。同时,还要注意日光温室的建址,尽量选择交通方便、便于管理的地方,以利于产品的销售和日常温室管理。

(2)日光温室的设计

①温室的长度、宽度和高度。温室的长度、宽度和高度不仅直接决定着温室可利用空间的大小,而且对温室的升温、保温、降湿性能有直接的关系,同时直接影响着农事操作与管理。实践证明,在我国北纬36°左右地区,栽植葡萄的日光温室以长度40~70米、宽度7~10米(净宽)、高度3~3.8 米为宜。各地需要根据采光、保温、使用面积等关键指标,调整温室设计参数。可以将温室建造成半地下式,建温室时先将表层(耕作层)40厘米厚熟土推至一边,下挖30~50厘米,挖出的生土可用于温室墙体的建造,再回填熟土。

②温室的方位和间距。温室方位以东西向为好,能最大限度接受太阳辐射。在海拔大于1800米的地区,温室以东西向略偏西为宜,以充分接受阳光照射。温室间距以冬至当日前温室不遮挡后排温室光照为宜。

③温室的拱角。前拱面是阳光进入温室的唯一通道,角度的大小直接关系到接受太阳光照的多少。底角(温室南面棚膜和地面的夹角)适宜角度范围为73°~88°,底角过小不仅影响光照,而且影响植株生长和整形管理。拱角(离地面1.5~1.8米拱面切线与水平线的夹角)直接关系到日光温室的折射率,是日光温室设计中最为关键的一个指标,其角度的大小与该地区纬度呈正相关,一般情况下,拱面角=当地纬度-15°。后屋面仰角大小决定着温室后墙和屋面的受光状况,影响着夜间温度调节,一般要求冬至当日太阳光可以照射到温室内的各个角落,不留死角,一般以43°左右为宜。

(3)日光温室修建

日光温室东、西、北三面可用砖砌墙,资金不足者可用泥土筑墙,有条件的可以里外包砖。东西两侧可以任选一侧开门建缓冲室。温室前方距前拱架30 厘米处设置30厘米×40厘米(宽×深)防寒沟,内填秸秆等物;拱架用直径4.95厘米,厚度2.7~3 毫米的钢管制作,直径6.6厘米,厚度2.75毫米的钢管做小横梁;12号钢筋或4分钢管做拉筋。东西两侧山墙面上灌浇混凝土,安装压膜卡槽。

日光温室的棚膜质量对温室增光、增温和葡萄生长、结果有重要作用。选用无滴膜(聚氯乙烯蓝色棚膜)对于改进进入温室中光线波长、促进光合作用、提高产量和品质效果最为显著。

为了能有效控制日光温室的温湿度及防止春、秋季节大风危害,采用大小片扣膜方式最好。大片膜宽以拱面宽度减去0.3米,长度以温室长为准。在膜的东西长的一边烫粘一条直径为1.2厘米的绳子,扣膜时东西两头用压膜簧卡在卡槽内,将粘有绳子的一面固定在东西距拱架横梁60厘米的铅丝上(用扎丝隔段绑扎),棚的下面用土压紧,然后用压膜线(绳)将整个大片交叉固定。小片宽度为1米,长度以温室长度为准。同样,东西长一边烫粘一条直径为1.2厘米的绳子,将未粘绳子的一边用泥土固定在温室的后屋面上,粘绳子的一边可以自由开启,起调控作用。

覆盖塑料薄膜采用宽7.5~10米、厚0.065毫米的多功能膜,避雨覆盖采用宽2.4~3米、厚0.04毫米的无滴膜。无滴膜效果优良,日光温室也可选用双层充气膜。

九、小程序助手怎么绑定小程序?

1.进入小程序数据页面,点击头像,选择“授权” 。

2.在搜索框中查找微信号,或“从小程序开发者/体验者中选择”,点击“授权”。

3.授权成功后,小程序管理员打开“小程序数据助手”,查看已绑定小程序的数据。

4.其他微信用户也可以经管理员授权后查看已授权小程序的数据。

十、实施工程师前景好么?

实施工程师前景好

软件实施工程师的发展前景:从收入来说,软件实施工程师的收入都是同行中比较高的收入群体,收入高,自然职业发展前景就好。从职业来说,软件是不断发展和完善的,而每一款软件的发展和完善,都离不开软件实施工程师的运作和实施,所以其工作前景是光明的。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片