在应用使用层面,各类原生APP展现出各自独特的风格和操作方式,这就要求用户投入额外的时间去适应和学习;相比之下,小程序的界面设计和操作流程实现了高度的一致性,显著简化了用户的使用过程,同时也提升了整体的使用感受。
先说一下为什么我要学习小程序。
程序员眼中,小程序是一门极具学习价值的编程语言。我之所以选择学习它,主要因为它拥有简洁的语法和较高的灵活性,只需查阅相关文档,便能够着手进行开发。
首先了解一下官方网站的解释,(一张图告诉你所有)
大家都知道公众号,和小程序有哪些区别呢?
公众号的定位与小程序各异,前者专注于营销和信息传播,后者则主要针对产品和服务。
公众号主要承担信息传递的职能,实现人与信息的紧密联系。通过H5技术,可以实现基础的互动功能。其主要功能集中在营销和信息传播上,同时提供一些基础服务作为辅助。与此相对,小程序在功能上与公众号有明确的界限(如不支持关注、消息推送等营销手段),这既避免了产品和服务被公众号的营销信息所淹没,另一方面也促进了公众号、朋友圈、群聊与小程序之间的互动和流量引导。这样的设计使得开发者能够专注于产品和服务开发,进而为微信平台带来丰富的长尾服务,并与微信自身的重度服务相结合,共同构建起从社交到信息连接,再到服务的完整生态圈。
2、技术特性各异——公众号依托于H5技术,而小程序则是基于微信自有的开发环境和编程语言构建而成。
小程序作为微信平台上的云端服务,无需下载安装即可使用,它并非传统应用,而是借助双向通信机制确保信息实时更新、本地缓存功能减少与服务器间的交互时间,以及微信底层技术的优化,从而提供了与原生应用相媲美的使用体验。
公众号依托于传统的H5技术进行开发和运作,其运行平台为浏览器。而微信小程序的运行环境并非一个完整的浏览器,它是由微信基于浏览器内核全新构建的一个内置解析器。在开发过程中,微信小程序采用了与H5相关的技术。此外,微信小程序的运行环境针对小程序进行了特别优化,并配合了微信自己定义的开发语言标准(该标准在H5的基础上进行了优化),从而显著提高了小程序的性能。
在系统权限层面,微信小程序得以借助微信APP的力量,拓展其权限范围,例如获取网络通信状态、增强数据缓存功能等。
功能各异,公众号的功能主要集中在信息的展示和营销活动上,而小程序则专注于提供具体的产品和服务。
微信与公众号在开发所采用的编程语言、遵循的设计标准、实行的营销策略以及审核流程等方面存在显著差异。
公众号属于一种特定的账号类别,它为用户搭建了一个发布信息和咨询的平台,开创了信息传播的新途径,并有助于建立与读者间更优质的沟通和管理机制。此外,通过整合H5技术,公众号还能实现一些基础的交互功能。
小程序的核心目标是提供便捷服务,其在运行上比公众号更为顺畅,且能够提供更为丰富和复杂的产品及服务。
公众号的功能主要集中在信息传播和市场营销两大领域,而小程序则对市场营销功能实施了严格的管控,以此来与公众号形成差异化,确保小程序在服务体验和操作便捷性上得到加强,避免被公众号过多的营销信息所淹没。
在体验方面存在差异,公众号的操作响应时间较长,而小程序的使用感受则更接近原生App。
在公众号中点击应用功能后,屏幕上方会显现一个绿色的进度条,这需要一段时间的等待。特别是对于那些业务逻辑复杂、交互要求较高的应用,使用体验往往不尽如人意。相比之下,小程序运行起来则异常流畅,几乎无需等待,其操作感受几乎与普通APP相当。
公众号缺乏本地数据存储,导致每次启动时必须向服务器发送请求以更新页面,这导致了较长的加载时间和较差的用户体验;而小程序则对用户界面和图片进行了本地缓存,只需与服务器进行数据交互,页面切换无需重新加载,因此其流畅度可以接近原生应用程序。
小程序学习路线
一、首先了解基本的框架
明白如何进行设置,一个最基础的小程序通常由哪些部分组成,以及这些部分是如何构成的。
2、该机制基于何种驱动原理?它是如何启动的,即程序的启动点在哪里,运行过程是怎样的,以及程序执行完毕后,内存是如何被销毁和释放的?
请问逻辑层和视图层各自包含哪些内容?它们之间是如何相互连接的?它们各自承担什么职能、能够实现哪些功能?
我们的目标是通过构建一个简易的程序案例,深入理解和掌握小程序的整体框架与运作机制。
二、学习组件
请问包含哪些部分?具备哪些效能?在哪些场合下使用?操作方法是什么?有哪些显著特性(使用中的优劣之处)?
目标成果:
至少每一类组件能做一个小程序实例
三、学习API
请问有哪些API可供选择?它们各自具备哪些功能?这些功能适用于哪些具体场景?使用方法是怎样的?它们在使用过程中有哪些显著的特点,包括优缺点?对于那些使用频率较高的API,我们应该进行深入的学习和研究。
目标成果:
能做一个综合一点的小程序实例
一定要学习官方文档