GVKun编程网logo

如何高效编写微信小程序呢?来看看腾讯工程师这个方法(怎么编写微信小程序)

26

在这里,我们将给大家分享关于如何高效编写微信小程序呢?来看看腾讯工程师这个方法的知识,让您更了解怎么编写微信小程序的本质,同时也会涉及到如何更有效地2023年如何高效编写员工手册/产品手册?、andr

在这里,我们将给大家分享关于如何高效编写微信小程序呢?来看看腾讯工程师这个方法的知识,让您更了解怎么编写微信小程序的本质,同时也会涉及到如何更有效地2023 年如何高效编写员工手册 / 产品手册?、android 工程师学习微信小程序笔记① 小程序与普通网页开发的区别、android工程师学习微信小程序笔记① 小程序与普通网页开发的区别、Java工程师培训技术点在哪里?来看看Java课程的内容。

本文目录一览:

如何高效编写微信小程序呢?来看看腾讯工程师这个方法(怎么编写微信小程序)

如何高效编写微信小程序呢?来看看腾讯工程师这个方法(怎么编写微信小程序)

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

微信小程序是一个工程,就和盖房子一样,打好了地基,才能保证后续工程师建立在可靠牢固的基础上。笔者需要经常新建项目,每次都要重复 “修改项目结构 -> 从老项目中复制粘贴文件 -> 删除一些老项目中代码” 这样的过程,实在费心费力。如何高效编写微信小程序呢?来看腾讯工程师总结的这个方法!

另一个痛点是:每次新建小程序页面要生成三个文件名相同的文件 (.wxml、.wxss 和 .js),命令行太长 (据微信同事:也可以在 app.json 的 pages 字段下添加新页面的路径,保存后也会生成对应的文件)。

因此,阅读本文需要对小程序开发稍有了解 (微信公众平台 - 简易教程指路)

目标

我们现在有两个目标:

根据通用模板新建项目

一键新建页面目录以及在目录中的三个文件 :.wxml、 .wxss 和 .js 也可以直接在 app.json 的 pages 字段创建页面,保存后生成这三个文件。笔者没有采用这个方法的缘由一个是开始时不知道有此功能,另一个是不合平时的操作习惯,再者想到 js 文件初始化后,需要引入常用库,要插入代码片段,所以保留了这个功能。

这两个需求其实很简单,不需要 GUI,所以我们可以做一个 npm 命令行工具。想象一下这个命令行用起来应该是什么样的呢:

 

用流程图示意就是:

实现

正式开始之前,请先确认本地的开发环境,笔者的本地环境是:

我们把问题分解为三步:

实现命令行工具,可以在任意目录直接运行

通过输入不同的命令行参数,以执行不同的功能

考虑项目模板的存放位置,是集成到工具中,还是和工具分开呢

不用担心,都很容易解决,我们一个个看。

命令行工具

package.json 中有一个字段是 bin:

这个字段可以将开发者希望执行的脚本注册到环境变量 (PATH) 中,不同的 key 对应执行不同的脚本。也就是说现在,当我们直接在命令行中执行:

等价于在 terminal 中执行:

命令行参数

执行 index.js 时,可以通过 process.argv 获取执行时的参数,但是要从参数数组中拆分出参数无疑很麻烦。不过,npm 发展至今,处理命令行参数的库肯定存在,就是 commander。简单好用易上手,那么第二个问题也解决啦。

项目模板的存放位置

考虑项目模板的存放位置,是集成到工具中,还是和工具分开呢?

笔者选择分开管理。

在一个单独的模板代码仓库中管理模板内容,方便我们维护。目前的模板还比较简单 (详见下文 “模板详解”),只有标准目录结构,预期后面会加上自动化的部分 (比如 less -> wxss),所以未来会改动比较频繁。

download-git-repo 可以把给定地址的仓库内容拷贝到执行目录中。API 简单,所以就是它了。

问题都解决了,现在就让我们看看伪代码 (注意:伪码中没有考虑出错情况):

使用

在编写好了这个工具之后,只需要在本地全局使用的话:

在本地开发过程中,如果更新了开发版本的代码,需要更新同步到全局,这时候需要执行:

就会看到安装到环境变量中的工具目录地址已经和开发目录关联起来了:

使用起来是这样的:

模板和插件地址将附在参考资料一节中

发布 npm 插件

如果和笔者一样,希望在多个机器上使用这个工具,可以选择发布到 npm 官网上。发布步骤非常简单,基本上就是:

不过笔者考虑到,项目模板毕竟是因人而异的东西,所以选择了发布 scope package,也就是在插件的 package.json 中的 name 字段使用 @scopeName/wxapp-generator 这样的值。

如果你也有类似的想法,并且也是个 npm 免费用户,那么发布的时候要执行:

scope 对使用没有任何影响,但是安装的时候要记得带上 scope name 执行:

模板详解

一千个人中有一千种项目模板。根据业务 / 个人爱好不同,大家的项目模板可能也相去甚远。笔者自觉目前的模板用起来还不错,将在这一节介绍一下。以下是项目的文件结构:

之所以采用这样的结构,是希望尽可能解耦 UI 逻辑与业务逻辑。但是由于完全解耦是不可能的,基本思路是单纯的 “变量分离”。通常 UI 的改变是通过 class 的切换或者内联样式的调整,所以笔者的思路,是将 “要切换的 class” 或者 “要调整的内联样式” 作为变量,由于大部分情况下业务逻辑和 UI 变化是联动的,通过抽离出来的变量,实现在业务逻辑中简单直白地改变 UI。

可能看到这里,读者会有些困惑,那让我们直接以「企鹅听书」为例,具象地看看笔者是怎么做的吧。听书的界面会出现变化的时以下两种场景:

一共有两种播放器:minibar 和 全屏的播放器,播放器的播放按钮有 “播放” 和 “暂停” 两种状态 (图片) 切换,这个可以通过 class 来控制。

当播放器进入全屏模式后,节目列表将被隐藏;点击箭头以后,节目列表将重新显示出来。

上文的文件结构中的 view.js 就是 UI 逻辑的代码。pages/ 目录中的 js 文件将通过 import 引用 view.js,view.js 中的接口分为 “通用” 和 “页面使用” 这两个类型:

如果未来出现更多 UI 变化的场景,可以再通过变量添加上去,比如 pageView.id。

举个超级简单的例子 (如下),模拟工作流程:

1. 在 wxss 中定义好控制不同样式的 class

2. 将需要变化的 class 写到 view.js 中,并暴露接口

3. 在 wxml 中的对应结构中绑定 event handler

4. 在对应的 page.js 里实现 event handler 的具体内容,也就是切换 class 的触发条件

 

老司机一看就知道是 MVVC 模式,这样分离也就是为了 UI 有独立的控制器,不至于和业务逻辑耦合严重,在页面开发的阶段就可以完成 UI 上的变化。从这个角度上看,小程序反而能给 UI 工程师更多控制 UI 逻辑的能力,确定好代码规范和接口。

总结

初始化一个项目是开始编码的第一步,值得多花一些时间找到合适团队合适自己的项目模板。

2023 年如何高效编写员工手册 / 产品手册?

2023 年如何高效编写员工手册 / 产品手册?

《 员工手册》是员丁尤其是新进员下了解公司体制,状况,文化的最直接的 ` 载体。最重要的是它表明了公司的制度文化,告知了员工的行为准则。它本身就是员工培训教育的最好教科书,是公司文化的传播媒介。因此企业制作《员工手册》意义重大。
 

如何编写员工手册 / 产品手册?

 
因此,您现在确信拥有员工手册的诸多好处,并且知道应该包含的内容类型。接下来,我们将介绍您在创建员工手册时需要采取的步骤。
  • 对主题和内容进行研究
首先 – 对您可能希望包含在员工手册中的所有主题和内容进行研究。最好询问您的高级管理团队他们认为哪些内容与员工相关且有用。
列出您打算涵盖的所有主题,以及您需要帮助您编写的主题专家。将您的主题排序为将相关信息分组在一起的部分,如果您的主题不适合某个类别,请考虑是否需要包含它。
将所有主题整理到一个目录中,当员工需要跳到相关部分时,该目录稍后会很有用。
  • 收集有关法规和合规性的内容并预先编写内容
您的员工手册需要包含有关法规和合规性的信息,以便您的公司履行其法律义务。从您的合规团队收集内容,并要求他们帮助您编写包含相关知识的手册。
  • 选择模板以设计内容
您的员工手册需要一个设计模板来包含您的所有内容。如果您是大公司的一员,则可以访问可以帮助您创建模板的内部设计团队,否则您将不得不找到自己的模板。
为您的员工手册提供模板的一个有用工具是 Venngage,或者您可以在其他地方找到您的模板。如果您想走完全路,您可以投资知识库软件,例如 Document360,它允许您将手册作为网站存放。
使用预先设计的模板将使您的员工手册看起来更专业 —— 而不是简单地提供 Word 文档。
  • 使用图表和信息图表添加更多详细信息
您的员工手册需要引人入胜,最好提出图表和信息图表,以帮助您以更有趣的方式显示您的内容。人们更容易处理视觉信息,这比向观众展示可怕的文本墙要好。
包括图表和信息图表将使您的手册栩栩如生,并确保员工记住他们所阅读的内容。
  • 汇总有关过程和策略的版本历史记录
编写过程和策略时,最好跟踪版本历史记录,以便在必要时可以参考早期版本。Document360 等知识库软件允许您保存文章的不同版本并恢复到以前的版本。
保存以前版本的程序和策略可以保护您,以防您以后做出后悔的更改。
  • 使用多语言支持进行发布
如果您的手册可能会被不同地点的受众阅读,请考虑在多语言支持下发布。如果您投资知识库软件来编写员工手册,那么您的内容可以使用 Document360 等工具自动翻译。
手册发布后,通过电子邮件、内部网和协作工具与您的员工共享。
  • 刷新并保持更新
您的员工手册应该是一份动态文档,您应该采取措施保持主动更新。为您的手册设置半年一次的审查,以防政策或法律更新,要求您刷新内容以保持其准确性。
如果您不定期更新员工手册,那么这将对您的公司产生不良影响。您希望避免手册中有过时的信息,因为这意味着您的手册对员工更有用。
 

员工手册不应包含这些内容

行话和首字母缩略词 – 员工可能在第一天阅读您的手册,他们不会理解贵公司使用的行话和首字母缩略词。
您无法坚持的政策和做法 —— 如果您说要在员工手册中做某事,那么员工可能会要求您遵守这一承诺。
过于复杂和过时的政策 —— 如果您过于复杂,员工将无法理解您的手册。使您的保单广泛且易于应用。
对社交媒体的使用过于严格 —— 要求员工不要在社交媒体上诽谤公司是可以的,但尽量让他们在使用社交媒体时有一定的自由度。

轻松管理员工手册的提示

创建员工手册不必有压力。这里有一些提示,可以让您轻松编写员工手册。
保持轻松和引人入胜 – 员工不想浏览密集的文档,您会发现如果您不以引人入胜的方式呈现信息,他们会停止阅读。
收集员工的反馈 —— 不要忘记询问您的听众他们对您的员工手册的看法。使用反馈对手册进行改进并不断迭代。
考虑一下手册的呈现方式 —— 花点时间考虑布局和格式,确保在视觉上吸引员工。
专注于你使用的语言和语气 —— 确保关注积极的一面,称呼员工为 “你” 和 “我们”,如果可能的话,包括一些幽默。
 

开始编写员工手册

员工手册是公司运营的重要组成部分。他们确保企业中的每个人都瞄准同一个目标,所有员工都可以确切地知道对他们的期望。公司的流程和程序是标准化的,并且对执行任务的人员负责。
员工手册非常重要,编写它们应该是一个漫长的过程,在为受众准备好最终文档之前,您应该进行多轮编辑。手册应该考虑到员工,尤其是那些刚到公司并且对事情运作方式一无所知的员工。
 

编写员工手册 / 产品手册工具 Baklib

 
制作在线的产品手册,给初次了解产品的用户一个好的第一印象则是非常有效的方法,根据以上内容,对产品手册进行编撰,通过 Baklib 制造在线产品手册,做出一个专业对产品网站,将各类信息进行分类,清晰直观。 Baklib 产品手册在线制作 - 为用户提供了智能化的编辑和样式工具、可让您轻松地设置文字和段落的格式、从而制作生动的产品手册。每一次编辑都实时保存在云端、使你的客户更清晰的了解到你的企业与产品。
 
 

Baklib 制作产品手册的优势:

  1. 支持富文本和 Markdown 编辑,可以将图片、视频、文件等上传到文章中,直接在文章内部编辑保存,随时可以更改调整内容;
  2. 全文检索,搜索类似百度,关键词高亮显示,给用户良好的搜索体验,在问题下方还有文章反馈按钮,了解访客对本篇文章的态度;
  3. 多级栏目分类管理内容,编辑内容的时候右侧可以直接选择保存到的栏目下,展示清晰有条理;
  4. 页面主题模板,  都是免费使用的,一键切换就能在前台,也就是产品手册看到,后台内容和前台内容同步;
  5. 访客数据统计,通过关键词和客户搜索反馈,可以了解到客户最关心的内容,进行优化展示;
  6. 多端适配,支持手机端和电脑端显示,产品手册不仅能链接到官网,还能够内嵌到 app、微信公众号等地方;
  7. 产品手册的内容繁多,数据安全一定要有保障,Baklib 支持数据备份和下载。
  8. 权限设置,对整个产品手册权限进行设置公开、私密或者密码访问,对指定人群开放。

android 工程师学习微信小程序笔记① 小程序与普通网页开发的区别

android 工程师学习微信小程序笔记① 小程序与普通网页开发的区别

android工程师学习微信小程序笔记① 小程序与普通网页开发的区别

android工程师学习微信小程序笔记① 小程序与普通网页开发的区别

前言

作为一个传统出身的Android开发搬砖工程师,由于工作需要以及历史推进,最近一年的工作都在写小程序。作为习惯于总结经验的我来说,在研究官方文档之余还是觉得应该写写笔记,作为学习记录。所以接下来一段时间都会写写一些关键记录。

小程序与普通网页开发的区别

​小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有些许区别的。

  • 网页开发渲染线程和脚本线程是互斥(没开发过网页,查了一下资料是说 GUI渲染线程 和 JS引擎线程,GUI渲染线程和JS引擎线程是互斥的,当js引擎执行时GUI线程会被挂起;如果JS执行时间如果过长,这样就会造成页面渲染不连贯,导致页面渲染加载阻塞),GUI更新会被保存在一个队列中等到js引擎空闲时立即执行)的,这也是为什么长时间的脚本运行可能会导致页面失去响应。
    而在小程序中,二者是分开的,分别运行在不同的线程中。

  • 网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。
    小程序的逻辑层和渲染层是分开的,逻辑层运行在 Jscore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 Jscore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

  • 网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IE、Chrome、QQ浏览器等,在移动端需要面对Safari、Chrome以及 iOS、Android 系统中的各式 WebView 。而小程序开发过程中需要面对的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具,小程序中三大运行环境也是有所区别的

    在这里插入图片描述

  • 网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。小程序的开发则有所不同,需要经过申请小程序帐号安装小程序开发者工具配置项目等等过程方可完成。

必看文档

小程序开发文档

在这里插入图片描述


小程序开发指南

在这里插入图片描述


目前主要是看这两个文档进行学习。

Java工程师培训技术点在哪里?来看看Java课程

Java工程师培训技术点在哪里?来看看Java课程

  我们是自学Java还是参加Java工程师培训,目的大约是希望能找到一份高薪的好工作,不过想要成为专业的Java程序员高薪就业就要了解Java工程师需要掌握的技术点,下面就来看一下Java工程师课程。
  这次介绍的主要内容是和J2SE相关的部分:
  1、JVM相关(包括了各个版本的特性)
  对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。

                                                                         
  JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。
  在JVM这个大类中,需要掌握的知识有:
  JVM内存模型和结构
  GC原理,性能调优
  调优:Thread Dump, 分析内存结构
  class 二进制字节码结构,class loader 体系, class加载过程,实例创建过程。
  方法执行过程:Java各个大版本更新提供的新特性(需要简单了解)
  2、Java的运行(基础必备)
  java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。
  这个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完 了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。 这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。
  在这里需要掌握的知识有:
  javac 编译java文件为class 文件
  java 命令的使用,带package的java类如何在命令行中启动
  java程序涉及到的各个路径(classpath, java。library。path, java运行的主目录等)
  3、数据类型
  Java工程师培训需要掌握的技术点有哪些
  这条没有什么好多说的,无非就是Java中的基本类型和对象类型的掌握。可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断主要知识点:
  基本类型: int, long, float, double, boolean...
  对应的对象类型:Integer 等类型到基本类型的转换,装箱和拆箱
  Object类型:equals,hashcode;
  以上就是Java工程师培训课程中所涉及到的知识点。

今天关于如何高效编写微信小程序呢?来看看腾讯工程师这个方法怎么编写微信小程序的介绍到此结束,谢谢您的阅读,有关2023 年如何高效编写员工手册 / 产品手册?、android 工程师学习微信小程序笔记① 小程序与普通网页开发的区别、android工程师学习微信小程序笔记① 小程序与普通网页开发的区别、Java工程师培训技术点在哪里?来看看Java课程等更多相关知识的信息可以在本站进行查询。

本文标签: