准备写一个 Electron 应用,被前端的工作流和工具绕晕了

2018-06-20 10:03:22 +08:00
 skinny

正在准备写一个软件的桌面版,因为考虑到要支持几个平台,如果都要分别写一套 GUI 简直太麻烦了(我知道 Qt 和 QtQuick,但是完全不会 QtQuick,难以写出自己要的效果),而且将来会提供应用本地的 WebServer 功能,所以选择了 Electron 和 NodeJS 解决方案(参考了 vscode 和 GitHub Desktop,以及 Signal )。

以前几乎没有写过前端代码,印象中的工作流程就是分别写好 html/javascript/css,然后组合起来,即便是现代一点用上 typescript/sass,也是用脚本自动化编译好,然后按印象中工作流程一样处理。可是看到那些新兴热门前端技术框架,想试一试,结果加上 webpack/vue,我感觉一下子搞不懂了,完全没有头绪,搜索了一通如何把 typescript/sass/webpack/vue 组合起来,然后出来一堆 sass-loader/vue-loader/css-loader/style-loader,我头都大了,我预想的最终结果是 javascript 代码(甭管是不是 vue 代码)最终编译打包成了一个单独的 js 文件,所有 sass 代码也都编译打包成一个单独的 css 文件,到底怎么做啊,要不要这么绕这么复杂,我对后端 C#/Python/PHP 工作流就没有这种糟心的体验。

有没有什么前端指南,可以让我不用把每个包都搜索一遍,每个包的文档都通读一遍?

P.S 我就一个业余爱好者。

12779 次点击
所在节点    程序员
90 条回复
ljcarsenal
2018-06-20 10:41:47 +08:00
我怎么感觉 java 的更复杂
skinny
2018-06-20 10:48:31 +08:00
@coffeSlider
@xhyzidane

我最开始选择的就是 jquery/sass/typescript,可是经常看到前端相关的新闻和讨论把 angular/react/vue/webpack 那些夸得那么天上有地下无,就想试试是不是代码能写的更容易,更容易维护,选择 vue 还是因为在那些前端框架里被称为相对简单易用的。我还没有加上 es2015 及更新版本和 babel,以及 gulp 那些呢,因为我知道这几个非常坑,我铁定受不了这种麻烦。
maichael
2018-06-20 10:48:36 +08:00
@skyworker 想多了,复杂度不高,纯粹是缺乏一些统一的标准,每个人都搞自己的一套,最后把东西越搞越复杂。
maichael
2018-06-20 10:49:22 +08:00
你需要的是脚手架,你选择所有的东西都自己搭自然会遇到这些问题。
evanvane
2018-06-20 10:49:54 +08:00
你需要的是脚手架和一个实例
kitten23
2018-06-20 10:56:49 +08:00
你想的真多,我就是直接看着文档开干,生撸 html/js/css
koalli
2018-06-20 10:57:10 +08:00
@soho176 都在说未来能用 js 写的东西会全用 js 来写...瑟瑟发抖...
微软爸爸的 TypeScript 的理念和前景还是不错的
marcong95
2018-06-20 10:57:26 +08:00
@soho176 这世上本来没有前端,写 HTML/CSS/JS 的人多了,便有了前端。窃以为造一堆轮子用 JS 来写各种东西才是把前端扳回软件开发的正道。毕竟我们还是顶着的是前端开发工程师这个 title,总不能一天到晚干着切图的事情
Yokira
2018-06-20 10:57:50 +08:00
你可以直接使用 https://github.com/SimulatedGREG/electron-vue/ 来做,不过这个脚手架里面用的 Electron 用的是 1.X 的版本,如果要用最新版的,需要自己折腾一下。
marcong95
2018-06-20 10:59:19 +08:00
至于想要简单粗暴,快速出货的,jQuery 还是可以一战的,还有各种 cli
searene
2018-06-20 11:00:59 +08:00
webpack,sass,typescript 这些东西不用的话也没关系。

https://github.com/electron/electron-quick-start

clone 下来就能用,那些高端的前端框架一个没有,直接写 html/javascript/css 就行
murmur
2018-06-20 11:03:16 +08:00
electron 就是给网页包个壳,换句话说纯页面包壳就像个应用,还有 node 环境可以让你做一些浏览器做不了的东西
前端你学的所有东西都可以用,jquery 当然是可以的
Rheinmetal
2018-06-20 11:04:42 +08:00
js - node - electron - - webpack/parcel
按这个顺序慢慢来
学 java 只懂语法上来直接让你配一个 spring+R
前端工具还更乱一点 abbitMQ 一样能被绕晕
icyalala
2018-06-20 11:10:53 +08:00
如果熟悉 Java 的话,推荐 JavaFX 试试。(熟悉 C# 那也没问题,反正都差不多 : )
跨平台,Java 的库都能用,WebServer 功能更是看家本领。
UI 底层是 OpenGL,跨平台完全一致,想要定制界面也支持 CSS。
即使带着 JRE 打包,体积也不会超过 Electron。

还有,即使代码放着不动再过几年拿最新的 Maven 和 IDE 也能直接跑得起来~~
icyalala
2018-06-20 11:16:19 +08:00
@icyalala 对了,如果懒得写界面,还能用 Scene Builder 直接拖控件,还支持一堆第三方 UI 库。
如果开发过 Android,那 JavaFX 这套东西几乎能直接上手了。
nicevar
2018-06-20 11:28:02 +08:00
如果你没有搞 js 这一套的经验,我只能说折腾这些东西的是已经能用 QtQuick 开发出个半残品了
下载 QtSDK--->新建 QtQuick 工程--->写 qml+js
当然如果程序比较复杂,不推荐你用 Qt 来写,毕竟要涉及到 c++
不过可以考虑 Java,开发桌面程序比较简单,上面说 Java 复杂的纯属胡扯,你说 Java 做 Web 开发配置麻烦我没意见,开发桌面程序什么时候麻烦过
nikolai
2018-06-20 11:36:36 +08:00
先做减法,能不用的东西都不用,例如 webpack sass TS,直接官方例子抄起来就上
skinny
2018-06-20 11:53:12 +08:00
@nikolai 就目前我的状态来看,想不被拖延症和这套东西搞到放弃,我是要弃了 vue 和 webpack 了,typescript 倒是还好。先再坚持一两天试试,到时候还是觉得一头雾水再减掉 vue 那些。
lolizeppelin
2018-06-20 12:02:24 +08:00
18 楼才是正道

你不需要懂也能开撸的
cheesea
2018-06-20 12:04:29 +08:00
是的,前端的东西,又多又杂,毫无章法,各玩各的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX