五大微信小程序开发IDE深度评测

微信小程序已经内测有一段时间了,笔者本着好奇加学习的心态写了几个小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 3Sublime Text需要安装插件。支持支持不支持不支持插件
WebstormWebStorm 重量级IDE支持支持不支持不支持插件
vim + WEPT强大的组合工具支持支持支持支持Vim插件、WEPT
原文地址:https://segmentfault.com/a/1190000007270749

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maui的学习之路(2)--Mac窗体设置

Maui的学习之路今天是我开启Maui学习之路的第二天,我不是很高兴又能水一篇文章,我只能说这文章真好水。话不多说,我们进入正题,昨天解决了Windows下TitleBar以及窗体大小的问题,今天同样的问题,在Mac上又要…

Android之靠谱的Activity从底部向上弹出,finish从顶部向下消失(不黑屏)

1 、需求 要求Activity从底部向上弹出,finish从顶部向下消失(不黑屏) 2、解决办法 准备3个动画xml文件 app_bottom_in.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/andro…

ArcGIS10.8中如何获取线状、面状数据的折点,并计算折点坐标?

如下图所示为面状要素,ArcGIS10.8中如何获取线状和面状数据的折点(起点、终点、中点、端点),并计算折点的坐标(X,Y,Z,M)? 下图所示为线状(Polyline)和面状(Polygon)要素的起点、终点和折点的示意图。

Linux命令大总结(早期学习时的笔记)

Linux命令大总结 ------------------------------------------------------------------------------------ 开机自启动命令行模式和图形模式&#xff1a; vi /etc/inittab 改3为命令行模式 改5为图形模式 开关机命令&#xff1a; 关机 init 0 shtudown -h now 重启…

[转]Cordova + Ionic in Visual Studio - 101 Tutorial [Part I]

本文转自&#xff1a;http://binarylies.ghost.io/cordova-ionic-in-visual-studio/ Hi everyone, I thought about lending a hand to all the people that are, as I have been recently, exploring Cordova and all its features for the first time. For the ones still tr…

【转】学会这13个原则写UI界面文案,用户才能秒懂

原文网址&#xff1a;http://www.niaogebiji.com/article-12011-1.html 摘要: 首先&#xff0c;在写UI文案之前&#xff0c;为了理清思路&#xff0c;要先搞清楚三个问题&#xff1a;我&#xff08;设计师&#xff09;想让用户做什么&#xff1f; – 我写文案的目的为什么要让用…

【前端就业课 第一阶段】HTML5 零基础到实战(一)基础代码结构详解

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

【框架篇】mvc、mvp、mvvm使用关系总结

MVC MVC全名是Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;一种软件设计典范&#xff0c;用一种业务逻辑、数据、界面显示分离的方法组织代码&#xff0c;将业务逻辑聚集到一个部件里面&#xff0c…

Blazor University (26)路由 —— 通过代码导航

原文链接&#xff1a;https://blazor-university.com/routing/navigating-our-app-via-code/通过代码导航源代码[1]从 Blazor 访问浏览器导航是通过 NavigationManager 服务提供的。这可以使用 razor 文件中的 inject 或 CS 文件中的 [Inject] 属性注入到 Blazor 组件中。Navig…

Android之使用自定义华为扫描SDK扫描二维码和识别本地图片

1、需求 更具UI的设计实现扫描二维码和识别本地图片二维码功能。 zxing扫描二维码还可以,但是识别本地图片二维码功能效果太差,非常不理想,看了看多github很多zxing扩展的开源项目,识别本地图片二维码功能效果不乐观,有些甚至还有裁剪本地图片,还是不能识别,果断放弃zb…

Matlab R2016b简体中文版安装教程(附Matlab R2016b百度网盘下载地址)

下载的Matlab R2016b软件安装包(文末附有下载地址)目录如下所示: 安装过程: 1. 安装主程序R2016b_win64_dvd1.iso和R2016b_win64_dvd2.iso 由于目前大多数及其都是Win8或10系统,所以选中R2016b_win64_dvd1.iso,右键→Windows资源管理器打开。Win7系统可以安装好压软件之后…

深度学习String、StringBuffer、StringBuilder

相信String这个类是Java中使用得最频繁的类之一&#xff0c;并且又是各大公司面试喜欢问到的地方&#xff0c;今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类&#xff0c;分析它们的异同点以及了解各个类适用的场景。下面是本文的目录大纲&#xff1a…

Leetcode之打印链接的倒数第K个节点

1 问题 打印链表倒数第K个节点值。 2 代码实现 #include<stdio.h>//定义一个Node结构体,里面包含了value值和保存了下一个Node的指针(地址) typedef struct Node {int value;Node *next; } Node;//打印链表所有的值,循环遍历一次,因为链表节点的最后一个节点肯定是…

MySQL5.5多实例编译安装——mysqld_multi

一、MySQL多实例简介 MySQL多实例&#xff0c;简单地说&#xff0c;就是在一台服务器上同时开启多个不同的服务端口&#xff08;如&#xff1a;3306、3307&#xff09;&#xff0c;同时运行多个MySQL服务进程&#xff0c;这些服务进程通过不同的socket监听来自不同的端口来提供…

【前端就业课 第一阶段】HTML5 零基础到实战(二)超链接

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

架构,框架,模式,模块、组件、插件的含义和区别

架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别。经常看到这些概念&#xff0c;但是有些含糊&#xff0c;花点儿功夫整理一下&#xff0c;结果还是有些地方理解的不透彻&#xff0c;先将整理的内容写下来&#xff0c;以供交流。左侧英文栏中有些单词被分成了两…

C语言,C#语言求100-999内的水仙花数源程序

水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff09;&#xff0c;水仙花数是指一个 3 位数&#…

一个精简的C#表达式执行框架Dynamic Expresso

一、简介Dynamic Expresso是一个用.NET Standard 2.0编写的简单c#语句的解释器。Dynamic Expresso嵌入了自己的解析逻辑&#xff0c;通过将其转换为.NET lambda表达式或委托来解释c#语句。使用Dynamic Expresso开发人员可以创建可编写脚本的应用程序&#xff0c;无需编译即可执…

算法马拉松13 A-E解题报告

A题意&#xff08;取余最长路&#xff09;: 佳佳有一个n*m的带权矩阵&#xff0c;她想从(1,1)出发走到(n,m)且只能往右往下移动&#xff0c;她能得到的娱乐值为所经过的位置的权的总和。 有一天&#xff0c;她被下了恶毒的诅咒&#xff0c;这个诅咒的作用是将她的娱乐值变为对p…

Modis数据处理工具:MRT百度网盘下载和手把手图文安装教程

如下图所示为 MODIS Reprojection Tool(MRT)的软界面,看似简单,却是Modis遥感影像必不可少的处理工具,如投影变换等。本文以图文并茂的形式,详细讲解MRT软件在Windows10平台上的安装过程,并附MRT软件百度网盘下载地址。 Modis Tool主界面: 一、安装过程 1、安装Jav…