网站推广.NET

网站推广.NET

看这里:“微信小程序开发入门与实践”

来源:互联网

前言本书的特点和特征可能是,我一直不喜欢在许多编程书籍开始时就大量列出知识点的做法。在过去八年的行业中,每当我阅读技术书籍并看到众多概念理论时,我都会感到头疼。收到清华大学出版社的邀请后,我一直在思考如何组织小程序来发展写这本书的想法,并写一本我也喜欢阅读的书。如果读者可以身临其境地开发一个几乎真实的项目,并且可以在不了解的情况下学习小程序开发,那将是很好的。幸运的是,小程序不是一种语言。它不需要列出诸如Java,Python,JavaScript和其他基本语言教学之类的基本语法。最好的学习方法是本书中的“实践”学习。因此,本书将使用相对完整的“案例项目”来“连接” 小程序的各个知识点,同时执行项目,同时学习小程序的开发。本书旨在完成项目小程序之后开始使用。我喜欢这种“实用”学习带来的“替代”(如果您玩过各种角色扮演游戏,您将了解替代感是什么)。循序渐进地编写本书的代码,您不仅会获得知识,而且我还直接完成了不错的学习小程序。这种成就感是学习编程的最大动力。即使您是一个有良好基础的开发人员,并且仅通过阅读官方文档就可以学习小程序的开发,我仍然建议您仔细阅读此书,因为这本书会为您节省很多“试错“时间。

在许多情况下,本书并未直接给出问题的最佳解决方案,而是首先给出了解决问题的看似愚蠢的想法。因为这是我们最直接的想法和最简单的解决方案。通过分析该解决方案的缺点,最终给出了对该问题的更好解决方案。我认为这符合我们编程中“重构”的概念。与直接给出最佳解决方案相比(实际上,在编程中很难获得最佳解决方案,但是相对来说是“优秀”),渐进式问题解决方案使读者能够体会到优秀解决方案的优势,并避免了机械地复制知识。 。我一直相信写这本书的想法也是程序员从点到面,从具体到抽象的自学思想。我在工作中遇到问题,找到解决问题的方法,查找信息以学习该问题的相关知识点,最后对这些知识点进行总结和总结,以形成自己的知识体系。这是一个一般的学习“例程”。编程语言和框架太多了,技术发展的速度惊人。即使有多达十二个具有相似功能的框架,我们也很难像古典数学,基础物理学和现代经济学那样先学习。将理论付诸实践。编码人员有时必须有勇气面对未知的事物:先解决它,再学习它,然后放开它。尽管这本书是入门书籍,但并不缺少小程序的高级知识,这主要体现在微信开放式界面中。学习微信开放接口不仅需要您具有前端知识,还需要一定的服务器编程经验,否则您很难理解为什么微信应该以此方式设计开放接口的调用流程?为什么需要如此复杂的签名和令牌系统?退后一步,如果您不了解它并不重要。当您遇到类似的问题和功能时,您就会知道如何解决它们。

在编程中,我们不太了解。谁能保证我们将清楚,清楚地了解我们所做的项目和产品的每个细节?有时记住如何做比为什么重要。清楚的理解只是一个相对的概念。没有人可以准确地定义可以称为“清晰理解”的理解水平,也没有人可以解释“深入学习”的深度。因此,有选择地研究原理并更加专注于解决问题是正确的选择。在本书中,当您遇到不熟悉的知识系统时,没关系。首先将其编写以实现此功能。当您将来有更多经验时,只需回顾这些知识点即可。即使您不了解某些知识点,本书的详细程度也使您可以完成整个Orange Can项目。 小程序如果您不考虑开发所需的技能,则小程序开发仅要求开发人员具有JavaScript和CSS的知识。有很多文章说开发人员需要掌握Vue和AngularJS才能开发小程序,这有点困难。 小程序与Vue和AngularJS确实有很多相似之处,这主要体现在数据绑定中。但是Vue和AngularJS比微信小程序复杂得多。为了开发一个简单的小程序,实际上没有必要学习比这个简单得多的框架。从先到先得的角度来看,经典的MVVM框架(例如Vue和AngularJS)确实出现在小程序之前,小程序从这些MVVM框架中借鉴了许多经典的想法。

但是对于既没有开发小程序也没有任何AngularJS或Vue经验的开发人员,这个先到先得的概念对您没有意义。无论如何,它不会。自然地,首先学习简单的东西,然后发展复杂的框架。如果您是从iOS和Android转型的开发人员,则完全不需要关心Vue和AngularJS。 小程序许多开发思路都认为您在自己的iOS和Android领域有经验。如果仅开发小程序的前端部分,则无需学习NodeJS。前端是前端,服务器是服务器。我们可以尽力做到极致,这真是太好了。如果要单独开发完整的小程序,则不需要服务器语言必须是NodeJS。选择您喜欢的服务器语言,PHP,NodeJS,Python,Java,C#,Ruby都是可能的。 小程序我认为需要掌握的发展是一个错误的主张。 小程序它应该是零基础入门开发人员学习前端(作为学习和实践目的)的首选开发平台,因为它足够简单并且非常类似于当前的主流MVVM框架,平滑的学习曲线。它应该是其他更复杂,功能更强大的框架入门的“垫脚石”。对于传统的Web开发人员,编写小程序时只需要注意以下两点:(1)小程序没有DOM,请放弃“先获取DOM,然后操作DOM”的思想。

(2)DOM操作的替代方法是“数据绑定”。通过DOM思维,可以很容易地控制组件的显示和隐藏,切换CSS样式以及控制滚动条。所有常用功能都在[k10中传递]。“数据绑定”。如果您想更漂亮,更简洁地编写代码,则最好增加一些ES6和LESS的知识小程序很难开发吗?说小程序是最先进的框架/平台简单性微可能有点夸张,但是毫不夸张地说小程序是所有主流移动开发技术中最简单的一种,这种简单性来自两个方面:首先,您只需要掌握JavaScript编写小程序和CSS两种语言,最困难的前端是要学习的web前端框架和类库太多,但是小程序中的JavaScript是“裸体”的,我们使用了各种Web开发中常用的框架/类库小程序,n可以使用其中之一。 jQuery,Zepto,AngularJS,HighCharts,ECharts,这些山脉的Web前端学习,小程序都“杀死”了-小程序在JSCore中运行,它不支持Web中的窗口和DOM对象。仍然可以使用某些JavaScript库,但这实际上是不必要的。 小程序提供了一种简单的体系结构和内置功能,以避免使用这些框架。例如,小程序默认使用babel将开发人员代码使用的ES6语法转换为三个方面都可以很好地支持的ES5代码,从而帮助开发人员解决由不同环境引起的开发问题。

您需要掌握的是JavaScript和CSS。原则上,您不再需要学习各种框架和库。这无疑减轻了许多初学者的负担。其次,小程序本身是为轻量级应用程序设计的平台。无论是开发工具,设计规范还是API设计,都散发着“通往简单之路”的氛围。您只需从官方网站下载开发工具即可立即开始开发小程序。没有复杂的安装环境,没有复杂的目录结构,也没有复杂的打包和部署过程。 小程序许多几乎严格的规范无疑会减轻开发人员的工作量(自然而简单,别无选择)。关于对开发人员的约束,仁者见仁,智者见仁。有些人喜欢它的简单性,而另一些人则讨厌它的“自由”。我什至认为小程序对于没有编程经验并想要进入前端开发领域的人来说,可能是最佳的入门平台。您可以从小程序开始,通过小程序的平滑学习曲线,在熟悉编程逻辑之后,您可以反过来学习Web前端的庞大知识体系,以进入该行业。处于早期阶段的小程序 小程序自2016年9月22日发布以来,在短短3个月内已更新了8个版本。更新速度非常快。但是在2017年1月9日正式开放后,版本迭代速度逐渐放慢了。预计小程序的正式发布后,其界面将逐渐稳定。 小程序它仍处于发展的初期,但是它的主要框架和API已经形成,不会影响我们的学习。

这本书不能保证在出版后不会对本书出版前使用的API进行调整,这是我无法控制的。本书中介绍的知识和小程序的行为仅在版本130400中进行了测试和验证,并且不能保证小程序将来不会更改这些行为。实际上,从最初的内部beta版本到当前的130400版本,小程序不仅调整了API,而且还经常更改某些MINA框架的运行机制和行为,这将导致可以正常运行的代码突然变成有问题的。 ,需要重新调整。此外,本书中的Orange Can项目与真实项目小程序十分接近,仍然存在一定程度的复杂性。我不能保证不会有“任何”错误。实际上,没有人可以保证他们的项目中不会有“任何”错误。我们可以做的是严格测试,最大程度地减少错误,并在发现错误后立即进行更正。尽管不能保证本书中的代码和API不会发生任何变化,但我将通过微信公共帐户,“知乎”专栏等与读者交流,以使网络保持更新。同时,我们将继续维护Orange Can示例项目的源代码,以确保项目的正确和稳定运行。在本书出版之前,小程序的最新版本是0.14.140900。在将版本从130400更改为140900的过程中,没有任何由版本更新引起的问题,并且项目代码运行良好。可以看出,在小程序于1月9日正式开放之后,API变得更加成熟并且可以基本保持稳定。

本书与正式文档之间的区别本书不想成为正式开发文档的“搬运工”。除了一些非常必要的地方,还将引用官方文件。这本书几乎不会大量复制正式文件。本书使用正式的API文档进一步完成了一个项目,并对正式文档的主要内容进行了详细的补充说明,并对文档内容进行了经验总结。官方API文档通常位于工具快速参考手册中,而不是教程中。当然,对于具有深厚开发技能的开发人员,小程序项目只能通过开发文档来完成,但是通常需要很长时间。开发文档只会告诉开发人员他们具有哪些功能,但是开发人员自己仍然需要探索如何使用这些功能。本书可以告诉开发人员如何使用官方API来完成我们自己的业务逻辑,并在此过程中逐渐熟悉官方API,从而达到入门小程序和自己开发小程序的目标。 。另外,目前在小程序的开发中仍然存在许多“陷阱”。本书试图为开发人员提前涉足这些“陷阱”,并填补它们,以帮助开发人员专注于业务开发并减少浪费在小程序错误上的时间。一本书永远无法取代官方的API文档。即使您想代替正式文件,也是不可能的,因为最新,最完​​整的信息总是首先由正式文件发布,而书籍总是有一定的滞后性。这就是为什么我在本书中没有引用很多官方文件的原因。原因。本书的价值在于使开发人员可以快速入门小程序,并说明小程序的各种功能,降低开发人员的学习成本,并快速开始开发自己的应用程序。

正式文件通常非常全面和出色,但也有许多不清楚的地方。对于正式文件中的错误,遗漏或不清楚之处,本书将进行详细的补充说明。建议开发人员将本书与官方文档一起阅读。学习阶段以本书为基础,并补充文档。在开发阶段,文档是主体,并以本书的补充说明为补充。此外,官方还为所有开发人员准备了非常详细的演示。您可以在微信中搜索关键字“ 小程序 example”。官方示例演示源代码下载地址:下载项目资源文件,源代码。很难在一本书中详细解释小程序的所有知识点,也无法回答开发中的所有问题,并且处理小程序的不断更新版本则更加困难。这是互联网的时代。我们将尝试按本书+ 网络来维护本书,并对小程序中的最新更改进行代码更改,以确保我们的示例代码可以正常运行。读者和朋友也可以通过我的微信官方帐户向我提供反馈,并接收有关书籍和源代码更改的更新。另外,我在Zhihu的专栏中经常会发表一些有关编程和互联网的文章。 微信官方帐户中将提供所有项目源代码,资源文件和其他内容的下载地址。读者可以从我的微信官方帐户获得项目效果图和最新版本的源代码。该代码包括Orange Can项目的小程序代码和某些功能的服务器端PHP代码。 ●微信官方帐户:昨晚小楼和秋风●了解专栏:昨晚小楼和秋风●知道ID:读者可以在7月的夏天访问地址:(请注意数字和英文字母之间的区别)图书源代码。

如果在下载过程中遇到问题,请发送电子邮件至该电子邮件的主题,该主题设置为“微信小程序开发和实践手册资源简介”。如何阅读本书如果您是具有多年开发经验并且对小程序有一定了解的开发人员,建议快速浏览章节列表以找到您感兴趣的主题,然后仅阅读本节。 。如果您有一定的前端开发基础,但没有小程序开发经验,建议您从头完成Orange Can项目,并对本书中的每种开发技术都有深刻的了解。建议先查看每个页面的渲染图,或下载最新的源代码。熟悉这些功能之后,请尝试自己编写项目功能,然后比较源代码实现方法。也许您编写的项目代码比本书中的代码更好。如果要使用小程序入门,请先熟悉JavaScript和CSS的基础知识,然后将Orange Can项目视为真实项目,并练习JavaScript和CSS知识边做边学。当您遇到不了解的内容时,请尝试理解它。如果您不了解,也没关系。首先将其编写,然后在有经验时回头看。但是无论如何,请确保完成Orange Can项目文章和电影的两个部分。如果您是纯粹的技术开发人员,请直接从第2章开始阅读。总体建议是,对于Orange Can项目的文章和电影,这两个核心功能应在本书之后逐步实现;请参见本书的第二部分。在“设置”页面上,结合源代码就足以“理解”本书的内容。

当然,如果您可以亲自输入整本书中的每一行代码,我相信您将获得的不仅仅是小程序开发的知识点。另外,对于Orange Can项目的CSS样式,建议开发人员不要在本书中复制CSS样式。每个人对于编写CSS样式都有不同的想法。本书不能保证所有CSS样式都是“有意义的”,而一小部分CSS样式是为“防御性”而编写的。重点是小程序个相关的知识点和JavaScript代码。 微信官方开发人员社区微信正式开放了一个开发人员社区,开发人员可以在其中报告错误并向微信官员提出问题。开发者社区地址:致谢我要感谢我的老朋友姜建明为本书提供了很多宝贵的意见。感谢Graphite Documents的共同创始人Chen Xu撰写了本书的序言。感谢清华大学出版社的王金柱先生的支持,这使我写了近三个月的时间。 Lei Lei 2017年2月8日

更多>