五大微信小程序開發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.pswp.cn/news/286610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286610.shtml
英文地址,請注明出處:http://en.pswp.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…