applogo.png

车抵贷
购物领券
2021-07-26 微信搜索 热度:593

刚开始公司要开发一个百度小程序我是拒绝的,因为当时百度小程序才出来几个月的时间,不用想也知道会有好多坑啊小程序地图api。但是上头有命令啊,只能硬着头皮上了。

先简单的看了一下百度小程序的官方文档,当然我从最开始就没想用百度自己的语法来开发。因此简单浏览了一下之后就去网上找框架了。无奈当时百度小程序才刚出来,网上开发百度小程序的框架非常少,但是找来找去还真找到了一个。Taro,开发一套代码就能在多端运行,包括现在的各种小程序和h5等。当然现在好像又出了个mpvue,是用vue的语法来开发小程序的。

你要是想开发百度小程序的话建议从这两个框架下手,听说腾讯最近又根据Taro开发了一套他们自己的多端框架,也可以考虑。

在开发过程中可以加百度小程序的官方交流群,里面有人给你解答。

不过开发完成之后,想要在网页搜到小程序还得做web搜索的优化。

从编程0基础,怎么最快速地学习成为微信小程序开发者?

既然说了是零基础,想学微信小程序开发。

那我们就反着来推:

1、微信小程序开发需要什么技术?哪些技术呢?

答案:微信小程序开发本质上需要的技术无非就是 JS ,CSS 样式,以及 类似 Html 标签的组件的使用。

所以那么下一个问题来了。

2、我要学会这些技术才能开发微信小程序,那么,我该学习哪些技术呢?

通过第一问,我们就知道,学习 HTML 学习 CSS 学习 JS 技术即可。

3、该如何学习这些技术呢?

HTML ,CSS 样式这些东西比较简单,即使零基础,我感觉一周之内看看官方文档必能学会。唯一有点难度的就是 JS 的学习。

现在是互联网时代,网上资料多的是,关于 HTML,CSS,JS 的资料,网上一大把,找免费的就行,文档,视频有的事,没必要花钱买付费的。

4、那么,我学会这些技术就可以马上开发了么?

不。小程序用到了这几个技术不假,但是也不是马上开发,建议再去学习一下微信小程序的官方文档,看看文档中的组件的使用,API的使用,框架的介绍。看完了这些,你就可以开发出一个微信小程序了。

5、难道到这里就完了吗?

答案好像并不是,上面完了只是你能画小程序界面了,那么我想要数据怎么办?服务器怎么办?前四问只是帮助我完成了前端的工作。可是后台的工作怎么办?数据库怎么办?

你也要一一学习吗?这太难了,对于零基础的人来讲。

但是,不用怕,因为微信官方为了简化开发的流程和工作,降低的开发门槛,提供了直接配置云服务和云数据库的方案,你只需要稍加学习即可,完成接口的工作,这样你才能完整的开发一个小程序。

看到这里,不知道你明白了么?

『京东Taro多端框架』怎么样?

Taro 是什么?

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

现如今市面上端的形态多种多样,Web、App 端(React Native)、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H5、App 端等)运行的代码。同时 Taro 还提供开箱即用的语法检测和自动补全等功能,有效地提升了开发体验和开发效率。

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

Taro 能提供什么?

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

一次编写,多端运行

小程序地图api:如何开发一个百度小程序?(百度智能小程序开发教程)

既然是一个多端解决方案,Taro 最重要的能力当然是写一套代码输出多端皆可运行的代码。目前 Taro 已经支持一套代码同时生成 H5 和小程序,App端(React Native)端也即将支持,同时诸如快应用等端也将得到支持。

同时 Taro 也已经投入到了生产环境使用,目前已经支撑了一个 3 万行代码小程序 TOPLIFE 的开发和部分京东购物小程序,未来也将会支撑更多的京东核心业务小程序。

现代前端开发流程

和微信自带的小程序框架不一样,Taro 积极拥抱社区现有的现代开发流程,包括但不限于:

NPM 包管理系统ES6 语法自由的资源引用CSS 预处理器和后处理器(SCSS、Less、PostCSS)对于微信小程序的编译流程,我们从 Parcel 得到灵感,自研了一套打包机制将 AST 不断传递,因此代码分析的速度得到了很大的提高。一台 2015 年 的 15寸 RMBP 在编译上百个组件时仅需要大约 15 秒左右。

和 React 完全一致的 API 和组件化系统在 Taro 中,你不用像小程序一样区分什么是 App 组件,什么是 Page 组件,什么是 Component 组件,Taro 全都是 Component 组件,并且和 React 的生命周期完全一致。可以说,一旦你掌握了 React,那就几乎掌握了 Taro。而学习 React 的资源也几乎是汗牛充栋,完全不用担心学不会。

Taro 和 React 一样,同样使用声明式的 JSX 语法。相比起字符串的模板语法,JSX 在处理精细复杂需求的时候会更得心应手。

良好的开发效率和体验鉴于 Taro 的语法和 React 完全一样,因此编辑器/IDE 能够对 Taro 的支持和 React 是几乎一样的。现代的编辑器默认都对 JSX 进行了支持,如果没有,找一个插件也是非常容易的事情。但毕竟我们做 Taro 就是为了提升开发效率和开发体验,而真正使用 Taro 的人就是我们自己或正坐在我们旁边的同事。因此在此基础上,我们又对 Taro 开发体验进行了进一步加强。

自定义 ESLint 规则我们之前提到过,当学会了 React,其实也差不多会 Taro 了。其中很重要的一个原因就是我们对 Taro 不支持的语法和特性单独写了 ESLint 规则:开发者只管写代码,写到不支持的语法/特性编辑器会报错,并给出报错信息和一个文档地址描述。

类型安全和运行时检测

JSX 的本质就是 JavaScript 的语法增强,所以例如没有 import 组件等语法错误在编译期就能发现。开发者也可以使用 TypeScript 或 Flow 来对代码的可靠性进一步增强,或使用 PropsType 在运行时进一步保障代码的鲁棒性。

高效的自动补全和 ES6 语法

Taro 的所有 API(包括微信小程序等端能力接口)都有智能的提醒和自动补全,包括接口的参数和返回值。

Taro 的设计思路

我们的初心就是做一款能够适配多端的解决方案,结合业务场景、技术选型和前端历史发展进程,我们的解决方案必须满足下述要求:

代码多端复用,不仅能运行在时下最热门的 H5、微信小程序、React Native,对其他可能会流行的端也留有余地和可能性。完善和强大的组件化机制,这是开发复杂应用的基石。与目前团队技术栈有机结合,有效提高效率。学习成本足够低背后的生态强大同时满足这几个需求并不容易,在我们经过充分地调研和思考之后发现只有 React 体系能够满足我们的需求。而对于微信小程序而言,使用 React 完全没有办法进行开发——直到我们从 codemod 得到灵感:

在一个优秀且严格的规范限制下,从更高抽象的视角(语法树)来看,每个人写的代码都差不多。

也就是说,对于微信小程序这样不开放不开源的端,我们可以先把 React 代码分析成一颗抽象语法树,根据这颗树生成小程序支持的模板代码,再做一个小程序运行时框架处理事件和生命周期与小程序框架兼容,然后把业务代码跑在运行时框架就完成了小程序端的适配。

对于 React 已经支持的端,例如 Web、React Native 甚至未来的 React VR,我们只要包一层组件库再做些许样式支持即可。鉴于时下小程序的热度和我们团队本身的业务侧重程度,组件库的 API 是以小程序为标准,其他端的组件库的 API 都会和小程序端的组件保持一致。

技术选型与权衡

在我们前面社区已经有多个优秀的框架以小程序为核心对多端适配进行了探索,我们将各个开发框架的主要特点和特性进行了对比并制成图表。大家可以结合团队技术栈、技术需求以及框架特点、特性进行选型和权衡。

结语

经过数个月的开发,Taro 从第一次 commit 到发展成包括 16 个包,十多位同学共同参与的大型项目。与此同时,Taro 也在生产环境支撑了数个复杂业务线上项目的开发,将来也会支撑更多的京东业务。

Taro 的技术方案和实现也根植于社区,我们也希望为技术社区的发展壮大贡献一份自己的力量。秉持着京东凹凸实验室长久以来开源、开放、共享的优良传统,我们今天将 Taro 全部代码开源,为广大开发者快速开发多端项目提供一整套技术解决方案。未来,我们也将继续拓展 Taro 现有能力,支持更多端能力,继续完善开发者体验,提高开发者效率,帮助更多开发者,同时也从社区中汲取养分,让 Taro 变得更加强大。

上一篇:云南旅游大学丽江学院地址:丽江旅游学院有那些专业?

下一篇:微信群营销策略:我有一家水果捞的店跟一个294人的群,如何做营销呢?(开一个水果捞饮品店怎么样)

赞 0
分享
猜你喜欢

丙肝是什么病微信交流群,丙肝母婴贴吧

耳鸣微信交流群,全国耳鸣交流群

打呼噜微信交流群,怎么加入陌生微信群

「东莞车迷微信群」求个东莞的大众高尔夫微信群

「聋人微信和扣扣群」微信有聋哑人的群吗

「加入菏泽大型微信群」如何加入菏泽一中高三一部十八班微信群

「启动微信群名软件」微信群怎么设置不让别人改群名?

「微信红包群规则复制」微信红包群规章制度是什么样的?

「微信稀奇古怪总代群」我想在微信上卖稀奇古怪的玩意,一件代发的,不需要加盟费!有的留个

「微信群群主有哪些特权」微信群主有哪些特权?

 

账号登录,或者注册个账号?