electron-ui 快速方便的打造炫酷的桌面应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了electron-ui 快速方便的打造炫酷的桌面应用相关的知识,希望对你有一定的参考价值。

参考技术A electron-ui是基于electron和electron-vue扩展出来的一套基础的应用框架,目的是为了快速的搭建炫酷的桌面应用,其实也算不上框架只是一种解决方案而已,让electron后来的开发者在少采坑的情况下搭建出相对漂亮而快速的应用

公司的有个项目使用electron搭建的,最开始只是套了个网页,后来随着应用的上线,发现这种套网页的样式比较丑陋,页面加载很不流畅,网上看了大部分的electron应用也没有找到几个比较好看的,所以自己业余时间写了这么一个东西,一来可以应用到公司产品上,而来方便以后的开发,可以直接拿来当做基础框架使用

1.采用electron-vue框架,并且把依赖升级到最新版本,例如webpack4等,直接写vue还是比较舒服的
2.优化了多窗口的加载速率,以往打开一个窗口要加载html,css,js文件后还要解析vue渲染数据等等,所以弹窗打开速度很慢,现在采用路由跳转的方式,弹窗直接变为路由跳转,所以弹窗速度秒开
3.实现了vuex的多窗口的数据同步问题,多个窗口同步store数据
4.封装了窗口间的通讯,发送和接收信息简单方便
5.制作了窗口转换的部分动画,效果上还可以
6.页面框架已经搭建好,包括header,body,footer,可以按需引入
7.制作了背景样式可以更换图片和背景色甚至字体颜色

后续功能还在开发中。。。。
各位如果喜欢的话就给个star把
electron-ui

visual studio code快速生成Html头部信息和炫酷的代码补全

html:4t、html:4s、html:xt、html:xs、html:xxs、html:5

 

Child: >

nav>ul>li
<nav> <ul> <li></li> </ul> </nav>

Sibling: +


div+p+bq
<div></div> <p></p> <blockquote></blockquote>

Climb-up: ^


div+div>p>span+em^bq
<div></div> <div> <p><span></span><em></em></p> <blockquote></blockquote> </div>
div+div>p>span+em^^bq
<div></div> <div> <p><span></span><em></em></p> </div> <blockquote></blockquote>

Grouping: ()


div>(header>ul>li*2>a)+footer>p
<div> <header> <ul> <li><a href=""></a></li> <li><a href=""></a></li> </ul> </header> <footer> <p></p> </footer> </div>
(div>dl>(dt+dd)*3)+footer>p
<div> <dl> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> </dl> </div> <footer> <p></p> </footer>

Multiplication: *


ul>li*5
<ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>

Item numbering: ¥


ul>li.item¥*5
<ul> <li class="item1"></li> <li class="item2"></li> <li class="item3"></li> <li class="item4"></li> <li class="item5"></li> </ul>
h¥[title=item¥]{Header ¥}*3
<h1 title="item1">Header 1</h1> <h2 title="item2">Header 2</h2> <h3 title="item3">Header 3</h3>
ul>li.item¥¥¥*5
<ul> <li class="item001"></li> <li class="item002"></li> <li class="item003"></li> <li class="item004"></li> <li class="item005"></li> </ul>
ul>li.item¥@-*5
<ul> <li class="item5"></li> <li class="item4"></li> <li class="item3"></li> <li class="item2"></li> <li class="item1"></li> </ul>
ul>li.item¥@3*5
<ul> <li class="item3"></li> <li class="item4"></li> <li class="item5"></li> <li class="item6"></li> <li class="item7"></li> </ul>

ID and CLASS attributes


#header
<div id="header"></div>
.title
<div class="title"></div>
form#search.wide
<form id="search" class="wide"></form>
p.class1.class2.class3
<p class="class1 class2 class3"></p>

Custom attributes


p[title="Hello world"]
<p title="Hello world"></p>
td[rowspan=2 colspan=3 title]
<td rowspan="2" colspan="3" title=""></td>
[a=""value1"" b="value2"]
<div a="value1" b="value2"></div>

Text: {}


a{Click me}
<a href="">Click me</a>
p>{Click }+a{here}+{ to continue}
<p>Click <a href="">here</a> to continue</p>

Implicit tag names


.class
<div class="class"></div>
em>.class
<em><span class="class"></span></em>
ul>.class
<ul> <li class="class"></li> </ul>
table>.row>.col
<table> <tr class="row"> <td class="col"></td> </tr> </table>

 

HTML

 


All unknown abbreviations will be transformed to tag, e.g. foo → <foo></foo>.

 

!

Alias of html:5


<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> </body> </html>
a
<a href=""></a>
a:link
<a href="http://"></a>
a:mail
<a href="mailto:"></a>
abbr
<abbr title=""></abbr>
acronym
<acronym title=""></acronym>
base
<base href="" />
basefont
<basefont />
br
<br />
frame
<frame />
hr
<hr />
bdo
<bdo dir=""></bdo>
bdo:r
<bdo dir="rtl"></bdo>
bdo:l
<bdo dir="ltr"></bdo>
col
<col />
link
<link rel="stylesheet" href="" />
link:css
<link rel="stylesheet" href="style.css" />
link:print
<link rel="stylesheet" href="print.css" media="print" />
link:favicon
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
link:touch
<link rel="apple-touch-icon" href="favicon.png" />
link:rss
<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml" />
link:atom
<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml" />
meta
<meta />
meta:utf
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
meta:win
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />
meta:vp
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
meta:compat
<meta http-equiv="X-UA-Compatible" content="IE=7" />
style
<style></style>
script
<script></script>
script:src
<script src=""></script>
img
<img src="" />
iframe
<iframe src="" frameborder="0"></iframe>
embed
<embed src="" type="" />
object
<object data="" type=""></object>
param
<param name="" value="" />
map
<map name=""></map>
area
<area shape="" coords="" href="" />
area:d
<area shape="default" href="" />
area:c
<area shape="circle" coords="" href="" />
area:r
<area shape="rect" coords="" href="" />
area:p
<area shape="poly" coords="" href="" />
form
<form action=""></form>
form:get
<form action="" method="get"></form>
form:post
<form action="" method="post"></form>
label
<label for=""></label>
input
<input type="text" />
inp
<input type="text" name="" id="" />
input:hidden

Alias of input[type=hidden name]


<input type="hidden" name="" />
input:h

Alias of input:hidden


<input type="hidden" name="" />
input:text, input:t

Alias of inp


<input type="text" name="" id="" />
input:search

Alias of inp[type=search]


<input type="search" name="" id="" />
input:email

Alias of inp[type=email]


<input type="email" name="" id="" />
input:url

Alias of inp[type=url]


<input type="url" name="" id="" />
input:password

Alias of inp[type=password]


<input type="password" name="" id="" />
input:p

Alias of input:password


<input type="password" name="" id="" />
input:datetime

Alias of inp[type=datetime]


<input type="datetime" name="" id="" />
input:date

Alias of inp[type=date]


<input type="date" name="" id="" />
input:datetime-local

Alias of inp[type=datetime-local]


<input type="datetime-local" name="" id="" />
input:month

Alias of inp[type=month]


<input type="month" name="" id="" />
input:week

Alias of inp[type=week]


<input type="week" name="" id="" />
input:time

Alias of inp[type=time]


<input type="time" name="" id="" />
input:number

Alias of inp[type=number]


<input type="number" name="" id="" />
input:color

Alias of inp[type=color]


<input type="color" name="" id="" />
input:checkbox

Alias of inp[type=checkbox]


<input type="checkbox" name="" id="" />
input:c

Alias of input:checkbox


<input type="checkbox" name="" id="" />
input:radio

Alias of inp[type=radio]


<input type="radio" name="" id="" />
input:r

Alias of input:radio


<input type="radio" name="" id="" />
input:range

Alias of inp[type=range]


<input type="range" name="" id="" />
input:file

Alias of inp[type=file]


<input type="file" name="" id="" />
input:f

Alias of input:file


<input type="file" name="" id="" />
input:submit
<input type="submit" value="" />
input:s

Alias of input:submit


<input type="submit" value="" />
input:image
<input type="image" src="" />
input:i

Alias of input:image


<input type="image" src="" />
input:button
<input type="button" value="" />
input:b

Alias of input:button


<input type="button" value="" />
isindex
<isindex />
input:reset

Alias of input:button[type=reset]


<input type="reset" value="" />
< name="" id=""></>
option
<option value=""></option>
textarea
<textarea name="" id="" cols="30" rows="10"></textarea>
menu:context

Alias of menu[type=context]>


<menu type="context"></menu>
menu:c

Alias of menu:context


<menu type="context"></menu>
menu:toolbar

Alias of menu[type=toolbar]>


<menu type="toolbar"></menu>
menu:t

Alias of menu:toolbar


<menu type="toolbar"></menu>
video
<video src=""></video>
audio
<audio src=""></audio>
html:xml
<html xmlns="http://www.w3.org/1999/xhtml"></html>
keygen
<keygen />
command
<command />
bq

Alias of blockquote


<blockquote></blockquote>
acr

Alias of acronym


<acronym title=""></acronym>
fig

Alias of figure


<figure></figure>
figc

Alias of figcaption


<figcaption></figcaption>
ifr

Alias of iframe


<iframe src="" frameborder="0"></iframe>
emb

Alias of embed


<embed src="" type="" />
obj

Alias of object


<object data="" type=""></object>
src

Alias of source


<source></source>
cap

Alias of caption


<caption></caption>
colg

Alias of colgroup


<colgroup></colgroup>
fst, fset

Alias of fieldset


<fieldset></fieldset>
btn

Alias of button


<button></button>
btn:b

Alias of button[type=button]


<button type="button"></button>
btn:r

Alias of button[type=reset]


<button type="reset"></button>
btn:s

Alias of button[type=submit]


<button type="submit"></button>
optg

Alias of optgroup


<optgroup></optgroup>
opt

Alias of option


<option value=""></option>
tarea

Alias of textarea


<textarea name="" id="" cols="30" rows="10"></textarea>
leg

Alias of legend


<legend></legend>
sect

Alias of section


<section></section>
art

Alias of article


<article></article>
hdr

Alias of header


<header></header>
ftr

Alias of footer


<footer></footer>
adr

Alias of address


<address></address>
dlg

Alias of dialog


<dialog></dialog>
str

Alias of strong


<strong></strong>
prog

Alias of progress


<progress></progress>
datag

Alias of datagrid


<datagrid></datagrid>
datal

Alias of datalist


<datalist></datalist>
kg

Alias of keygen


<keygen />
out

Alias of output


<output></output>
det

Alias of details


<details></details>
cmd

Alias of command


<command />
doc

Alias of html>(head>meta[charset=UTF-8]+title{¥{1:Document}})+body


<html> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> </body> </html>
doc4

Alias of html>(head>meta[http-equiv="Content-Type" content="text/html;charset=¥{charset}"]+title{¥{1:Document}})+body


<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:4t

Alias of !!!4t+doc4[lang=¥{lang}]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:4s

Alias of !!!4s+doc4[lang=¥{lang}]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:xt

Alias of !!!xt+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=¥{lang}]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:xs

Alias of !!!xs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=¥{lang}]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:xxs

Alias of !!!xxs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=¥{lang}]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> </body> </html>
html:5

Alias of !!!+doc[lang=¥{lang}]


<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> </body> </html>
ol+

Alias of ol>li


<ol> <li></li> </ol>
ul+

Alias of ul>li


<ul> <li></li> </ul>
dl+

Alias of dl>dt+dd


<dl> <dt></dt> <dd></dd> </dl>
map+

Alias of map>area


<map name=""> <area shape="" coords="" href="" /> </map>
table+

Alias of table>tr>td


<table> <tr> <td></td> </tr> </table>
colgroup+, colg+

Alias of colgroup>col


<colgroup> <col /> </colgroup>
tr+

Alias of tr>td


<tr> <td></td> </tr>
+

Alias of >option


< name="" id=""> <option value=""></option> </>
optgroup+, optg+

Alias of optgroup>option


<optgroup> <option value=""></option> </optgroup>
!!!
<!doctype html>
!!!4t
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
!!!4s
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
!!!xt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
!!!xs
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
!!!xxs
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
c
<!-- ¥{child} -->
cc:ie6
<!--[if lte IE 6]> ¥{child} <![endif]-->
cc:ie
<!--[if IE]> ¥{child} <![endif]-->
cc:noie
<!--[if !IE]><!--> ¥{child} <!--<![endif]-->

以上是关于electron-ui 快速方便的打造炫酷的桌面应用的主要内容,如果未能解决你的问题,请参考以下文章

Android 从无到有打造一个炫酷的进度条效果

使用CoordinatorLayout打造各种炫酷的效果

8个超炫酷的jQuery相册插件欣赏

JParticles 2.0 发布,打造炫酷的粒子特效

python做界面的一个新思路(初始篇)

最炫酷的h5怎么实现的