热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小程序多个echars_逐渐抹平小程序与web开发体验

这是「优码」第3期,分享我一周新的认知过去一周对我影响最深刻的是一套代码开发多个平台的小程序。目前大厂基本都有自己的小程序「宿主环境」,其中以微信为首。

这是「优码」第 3 期,分享我一周新的认知

过去一周对我影响最深刻的是一套代码开发多个平台的小程序。

目前大厂基本都有自己的小程序「宿主环境」,其中以微信为首。随后,阿里、百度、头条都纷纷推出了他们自己的小程序。

这就引发了一个问题,这么多小程序平台,难道开发者要开发多套代码吗?

答案肯定不是!

小程序终究属于前端范畴,毕竟它的技术栈与前端技术栈大同小异。前端发展这么多年,Vue、React 框架被应用到无数网站,这已经不是 jQuery 的时代了。受这些框架的影响,小程序的开发体验也被提上了日程。

小程序框架出现了。

小程序框架的出现使得开发者通过一套代码可以开发多个平台的小程序,同时把前端高效的开发体验也加进来了,比如支持 CSS 预处理器、状态管理、Typescript 语言。框架对外宣称提供类 Vue 的开发体验。那这些框架的原理是什么?

小程序虽然没有一个统一的标准,但是各个小程序平台默认都以「微信小程序为标准」,谁不以微信小程序为标准,谁或许将成为开发者眼中的“IE浏览器”。所以各个小程序平台给开发者提供的 API 基本都是“抄”自微信小程序,但是各家小程序都有自己的独特符号,比如百度智能小程序是 swan、微信小程序是 wx、支付宝小程序是 ant、头条小程序是 tt。

在小程序的「宿主环境」中只能识别自己的规范,开发者必须遵循。小程序框架能做的就是通过某种技术对代码进行转换,使得其能符合不同「宿主环境」。一图胜千言:

d4fea8db1239884a8fb1f6bfebe45c8f.png

说白了,小程序框架做的事情就是让开发者通过一种新的规范来开发小程序,小程序通过编译,最终转换成不同平台的代码。

这周我接触到的是百度的小程序框架 OKAM,一套代码可以同时支持多种小程序,同时也支持快应用。功能特性(来做OKAM官方描述):

1、开发模式
支持单文件组件化开发方式,目录结构更加清晰简洁;
支持 NPM 包的依赖管理和引用;
提供渐进增强可配置方式,包括可配置的构建流程,来提升开发框架能力;2、开发语法
模板:支持类 Vue 模板语法、Pug 模板语法;
样式:支持 CSS 预处理器和后处理器, Stylus、Less、Sass、Postcss;
脚本:支持 Typescript、ES Next 语法支持;3、HTML 标签支持
Vue 数据操作语法,包括 computed、watch 支持;
Vue 双向绑定 v-model 指令支持;
filter 模板语法支持;
Redux 数据状态管理;
模板组件 ref 引用支持;
Mixins 支持;
Promise、Async、await 语法支持;
原生接口支持可定制的 Promise 化;
提供原生接口 Hook 能力;样式 rpx 单位自动转换;
接口 Mock;图片自动压缩能力;小程序开发逐步抹平与 web 的差异,还有很多框架,大家自行搜索:1、京东的 taro:多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信/百度/支付宝/字节跳动/ QQ 小程序/快应用/H5/React Native 等的应用;2、Chameleon:真正专注于让一套代码运行多端的开发框架,提供标准的MVVM架构开发模式统一各类终端;3、uni-app:使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。
小程序端的发展历程和浏览器当年的发展历程有很多相似之处。

大家周末愉快!


推荐阅读:我是一颗树 · DOM
关于晋升的一点思考

dfee97d77066404f5697b7283ed75d1f.png




推荐阅读
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文详细介绍了JSP的三大指令:page、include和taglib,重点探讨了静态包含与动态包含的区别及其应用场景,并解释了如何使用taglib指令引入第三方标签库。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 本文将指导如何向ReactJS计算器应用添加必要的功能,使其能够响应用户操作并正确计算数学表达式。 ... [详细]
  • Asp.net MVC 中 Bundle 配置详解:合并与压缩 JS 和 CSS 文件
    本文深入探讨了 Asp.net MVC 中如何利用 Bundle 功能来合并和压缩 JavaScript 和 CSS 文件,提供了详细的配置步骤和示例代码,适合开发人员参考学习。 ... [详细]
  • 优雅实现 jQuery 折叠展开下拉菜单
    本文介绍了一种使用 jQuery 实现的优雅折叠和展开效果的下拉菜单,通过简单的 HTML 结构和 CSS 样式,结合 jQuery 脚本,可以轻松创建出美观且功能强大的下拉菜单。 ... [详细]
author-avatar
书友55218170
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有