5款微信小程序开发工具使用报告,微信官方开发工具还有待提升
微信小程序已经内测有一段时间了,笔者本着好奇加学习的心态写了几个小demo,虽然在MINA框架上并没有遇到太多的坑,但官方开发工具实在不敢恭维。
- api提示不全,要一个个查api啊,写代码超级慢啊
- 很多必备的快捷键都没有,比如全选关键字、快速复制一行等等
- 颜色主题不能选?不喜欢白色风格怎么搞
- 没有插件 没有插件 没有插件 重要的事情说三遍
无奈笔者走上了尝试各种IDE的旅途,现在说一下笔者对于IDE的需求或者设想:
- 轻量级:我不喜欢那种类似Eclipse的庞然大物,即使出现类似工具我也不会去使用,因为其中90%的功能都不会被用到。
- 可定制化的代码着色:代码着色是必备功能,如果支持颜色模板最好
- 准确的代码提示:这个太重要了,大家懂得
- 可调试:IDE可以进行调试或运行
- 实时预览界面:由于应用开发与网页不同,实时预览必须在程序运行时才会将动态数据加载到界面,这块我不抱太大希望
针对上面几个需求,笔者前后尝试了目前市面上支持小程序开发的工具,呕心沥血总结如下,以供大家参考。
微信小程序官方开发工具

注意,这个小标题我并没有使用“IDE”字眼。因为在笔者眼中,它真的是个工具,而不是一个IDE。官方工具中的代码编辑功能,就是将vscode的代码编辑功能嵌入到工具中,不足以支撑开发。
优点
因为是官方工具所以有这其它第三方工具有这不可比拟的天然优势,如果不是他代码编辑功能太弱的话。
- 官方工具,可调试,可预览
- 基本的代码编辑、智能提示、调试等功能都有
- 项目管理、创建、手机预览、代码提交审核
- 官方维护更新
缺点
不好的地方也很明显,总体而言是一款工具而不是IDE。糟糕的代码编辑功能,写起代码非常别扭,这是我放弃它的最重要原因。
- api提示不全,要一个个查api啊,写代码超级慢啊
- 很多必备的快捷键都没有,比如全选关键字、快速复制一行等等
- 颜色主题不能选?不喜欢白色风格怎么搞
- 没有插件 没有插件 没有插件 重要的事情说三遍
总结
目前因为需要用到微信web开发工具进行小程序的创建、调试、查看、预览、上传,所以这个工具必不可少。但是代码编辑功能实在太差,推荐使用其它第三方代码编辑工具代替。
Sublime Text 3

说完官方工具,聊一聊我日常工作最常用的工具 sublime text 3,它定位于代码编辑器而不是IDE,试用了一下,在代码提示方面只能算得上一般般。
优点
- 打开文件速度倍儿快、UI简洁大方
- 代码编辑体验舒适、高效
- 拥有大量插件,针对不同需求基本上能找到对应插件来满足
- 第三方开发者开发小程序插件用于代码着色和代码提示
缺点
- 没有调试,没有预览
- 因为是第三方开发者编写的插件,代码提示也不是非常全面
总结
除了本身的代码编辑优势,对于小程序开发并没有什么实质性帮助,最终Sublime Text方案也被笔者放弃。
不得不吐槽 Sublime Text的这个插件,搞了好久才把它run起来,郁闷。
注:插件下载链接在文末
Vim + WEPT

Vim这个编辑器之神一直是我的装逼利器,关于vim的好我就不多说了,免得Emacs的人过来骂我。
网上有人已经开发了对应插件,叫做 Wxapp.vim 这个插件我简单用了一下,包含文件检测、智能补全、文档跳转、语法高亮、缩进、代码段、单词列表、语法检查等功能。总体来说还是不错的,但存在一个严重问题。笔者在做服务器开发的时候,基本使用Vim编程,在配合一些其他的插件和工具直接在终端运行调试。但微信小程序这个我用了半天不得不放弃,因为要经常在Vim和微信小程序官方工具之间来回切换,似的笔者极为烦躁。按照笔者一惯作风,使用Vim的时候就应该把鼠标扔掉。
但最终我还是发现了一个补救方案,下面会介绍一下。
优点
- 代码高亮,代码提示等功能齐全。
- 有小程序开发插件
Wxapp.vim可以使用,上文已经提到
缺点
- 无法调试预览
- 另外一个问题在于很多人搞不定Vim,这货学习曲线优点高
- UI和使用方式不符合大多数人的习惯
总结
'WEPT'这个货解决了我上面Vim说的痛点。
WEPT 是一个微信小程序实时开发环境,它的目标是为小程序开发提供高效、稳定、友好、无限制的运行环境。也就是说,它本身是一个实时运行环境,可以做到实时预览和调试。同时调试可以借助chrome浏览器完成。和前面Vim搭配完美解决了代码编辑到调试再到预览的问题。
这货不算是IDE,笔者也不做优点缺点分析了。总体来说,WEPT+VIM+Plugin 是个不错的解决方案。推荐大家使用。
注:插件下载链接在文末
WebStorm
WebStorm网上有个插件,可以实现代码提示,不能做调试和预览,并且属于重度工具,所以笔者没有使用WebStorm。喜欢厚重感的童鞋可以尝试一下这个工具。
优点
- 有插件可以实现代码高亮,代码提示等功能
- 有非常成熟和非常丰富的功能
- 各种快捷键
缺点
- 无法调试预览
- 功能比较多、比较臃肿
总结
总结来说,webstorm和上述几个一样,代码编辑功能强大但是需要插件支持才可以开发小程序,而且体积臃肿。
注:插件下载链接在文末
Egret Wing

Wing这个东西算的上是笔者看到的第一个公司级别支持的IDE了,所以功能做的相当成熟。下载尝试了一下,就目前来说除了上面的Vim方案,这个应该是目前对比后最佳的IDE工具了。
优点
- 支持代码提示,代码高亮
- 实时预览和调试和切换不同分辨率预览
- 居然支持项目创建?!
- 支持新建page模板文件
- 双周更新
缺点
- 实时界面预览属于静态渲染,对于界面中的动态数据无法进行预览,只能在调试时进行预览。
- 无法进行可视化拖拽生成界面(是我太贪心了么?)
总结
Wing是唯一一款支持实时预览功能的IDE,包括微信官方都没有实时预览而是需要编译后预览,对于大懒人的笔者来说有实时预览写界面的时候不要太爽!wing不但可以而且还可以创建项目,新建page模板,运行一下项目发现,这个预览界面和微信官方开发工具非常相似。优先推荐使用。
总结
整理个表,大家看自己心情选择。
| 环境/工具 | 简述 | 代码高亮 | 代码提示 | 调试 | 实时预览 | 软件/插件下载地址 |
|---|---|---|---|---|---|---|
| 官方工具 | 微信小程序官方工具 | 支持 | 极其弱 | 支持 | 支持 | 下载软件 |
| Egret Wing | 首款支持微信小程序开发的IDE。 | 支持 | 支持 | 支持 | 支持 | 下载软件 |
| Sublime Text 3 | Sublime Text需要安装插件。 | 支持 | 支持 | 不支持 | 不支持 | 插件 |
| Webstorm | WebStorm 重量级IDE | 支持 | 支持 | 不支持 | 不支持 | 插件 |
| vim + WEPT | 强大的组合工具 | 支持 | 支持 | 支持 | 支持 | Vim插件、WEPT |
5款微信小程序开发工具使用报告,微信官方开发工具还有待提升的更多相关文章
- 微信小程序(有始有终,全部代码)开发--- 新增模块: 图片选取以及拍照功能
开篇语 前几天发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本: 简年18: 微信小程序(有始有终,全部代码)开发 ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 微信小程序(有始有终,全部代码)开发--- 新增【录音】以及UI改进
开篇语 寒假发了一篇练手文章,不出意外地火了: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本,出乎意料的火了: 简年18: ...
- 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复
开篇语 昨晚发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 然后上午起来吃完午饭之后,我就准备继续开工的,但是突然的,想要看B站.然后在一股 ...
- 微信小程序又一爆炸功能上线-云开发
云开发介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开 ...
- 微信小程序专题(一)-----微信后台的相关开发
本人最近在做微信小程序后端的相关开发工作 接触到微信小程序目前来讲需要两个条件 1.前端通过后台服务器去调用微信平台接口,来获取openid: 2.前端必须调用https 跟域名的形式 不得出现ip加 ...
- 微信小程序初使心得【微信小程序快速入门】
摘要: 2016年推出微信小程序,时至今日,历经几个版本的更新,已形成了相对实用和稳定的服务平台.本文简单的介绍了微信小程序的入门用法,今后会继续关注和实践. 2016年推出微信小程序,时至今日,历经 ...
- 微信小程序 初步认识一(微信运动步数)
1.注册微信小程序 2.安装小程序开发工具 3.实例(显示微信运动步数) 4.后端处理(c#) 一 注册微信小程序 注册地址:https://mp.weixin.qq.com/cgi-bin/regi ...
- (微信小程序)一 : 初识微信小程序
首先看过angularjs的同学们在看微信小程序的创始文件应该不算很陌生吧. 需要看的 先是文件目录 看完这个目录..得知 ( 一 ) pages 他存放于多个页面 如 index ,log ...
- 微信小程序-从零开始制作一个跑步微信小程序
来源:伯乐在线 - 王小树 链接:http://ios.jobbole.com/90603/ 点击 → 申请加入伯乐在线专栏作者 一.准备工作 1.注册一个小程序账号,得用一个没注册过公众号的邮箱注册 ...
随机推荐
- IIS-详解IIS中URL重写工具的规则条件(Rule conditions)
出处:https://shiyousan.com/post/635654920639643421 本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditio ...
- 【译】高级T-SQL进阶系列 (七)【下篇】:使用排序函数对数据进行排序
此文为翻译,由于本人水平有限,疏漏在所难免,欢迎探讨指正. 原文链接:传送门. 使用NTILE函数的示例 NTILE函数将一组记录分割为几个组.其返回的分组数是由一个整形表达式指定的.如下你会找到NT ...
- Java入门笔记 04-异常处理
一. 异常概述: 1. 异常体系结构图: java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理. |- ...
- 鸡汤 - Choice is yours
传送门 https://kamranahmed.info/blog/2018/03/24/choice-is-yours/ Our whole lives are driven by the choi ...
- 15 FFT及其框图实现
FFT及其框图实现 \(FFT\)的全称为快速傅里叶变换,但是\(FFT\)并不是一种变换,而是实现\(DFT\)的一种快速算法.当\(N\)比较大时,使用\(FFT\)可大大减少进行\(DFT\)变 ...
- python写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法
在写入TXT文件时,某些页面总是报UnicodeEncodeError: ‘gbk’ codec can’t encode character错误,网上找了半天也没找到解决办法. 后来终于找到了解决办 ...
- 【代码总结】PHP面向对象之常见的关键字和魔术方法
一.关键字的使用 1.final关键字 只能用来修饰类 和 成员方法 不能修饰成员属性 被final修饰的类不能被继承 用final修饰的成员方法 不能被子类覆盖(重写) <?php // f ...
- 201771010135杨蓉庆 《面向对象程序设计(java)》第三周学习总结
一:第1-3章学习内容: 第一章:复习基本数据类型 整型 byte(1个字节 表示范围:-2^7 ~ (2^7)-1) short(2个字节 表示范围:-2^15~(2^15)-1) int(4个字节 ...
- Vue 项目 在局域网内访问
之前在百度上看到过很多中 关于局域网访问项目的方法, 在这里,个人推荐两种比较喜欢的方法 一.直接在项目的package.json文件中进行配置 ,代码如下 "scripts": ...
- GO TIME
#go语言的time包 ##组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] ...