25

开源下载:vue 仿网易云音乐,客户端实战

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzA3MTUzOTcxOQ%3D%3D&%3Bmid=2452974399&%3Bidx=2&%3Bsn=e28d34de0e95dc18e017e2468d2eec6f
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

虽然B/S是目前开发的主流,但是C/S仍然有很大的市场需求。受限于浏览器的沙盒限制,网页应用无法满足某些场景下的使用需求,而桌面应用可以读写本地文件、调用更多系统资源,再加上Web开发的低成本、高效率的优势,这种跨平台方式越来越受到开发者的喜爱。

Electron是一个基于Chromium和 Node.js,使用 HTML、CSS和JavaScript来构建跨平台应用的跨平台开发框架,兼容 Mac、Windows 和 Linux。目前,Electron已经创建了包括VScode和Atom在内的大量应用。

以下是部分运行效果:

vMF3Eba.png!mobile

部分运行效果如下图。

RVNVby.png!mobile

环境搭建

创建Electron跨平台应用之前,需要先安装一些常用的工具,如Node、vue和Electron等。

注 意

文末有:3625页互联网大厂面试题

安装Node

进入Node官网下载页http://nodejs.cn/download/,然后下载对应的版本即可,下载时建议下载稳定版本。如果安装Node使用Homebrew方式,建议安装时将npm仓库镜像改为淘宝镜像,如下所示。

安装/升级vue-cli

先执行以下命令,确认下本地安装的vue-cli版本。

如果没有安装或者不是最新版,可以执行以下命令安装/升级。

安装Electron

使用如下命令安装Electron插件。

为了验证是否安装成功,可以使用如下的命令。

创建运行项目

Electron官方提高了一个简单的项目,可以执行以下命令将项目克隆到本地。

然后在项目中执行如下命令即可启动项目。

启动后项目的效果如下图。

J7VJRb.jpg!mobile 除此之外,我们可以使用vue-cli脚手架工具来创建项目。

然后根据下面的提示一步步选中选项即可创建项目,如下所示。

JvuYviN.jpg!mobile

然后,使用npm install命令安装项目所需要的依赖包,安装完成之后,可以使用npm run dev或npm run build命令运行electron-vue模版应用程序,运行效果如下图所示。

aaURz2Y.png!mobile

Electron源码目录

Electron 的源代码主要依据 Chromium 的拆分约定被拆成了许多部分。为了更好地理解源代码,您可能需要了解一下 Chromium 的多进程架构。Electron源码目录结构和含义具体如下:

平时开发时,需要重点关注的就是src、package.json和appveyor.yml目录。除此之外,其他需要注意的目录如下:

应用工程目录

使用electron-vue模版创建的Electron工程结构如下图。

3UzuMjr.jpg!mobile

和前端工程的项目结构类似,Electron项目的目录结构如下所示:

对于开发者来说, 90% 的工作都是在 src 中完成,src 中的文件目录如下。

jiANFnU.jpg!mobile

Electron应用程序分成三个基础模块:主进程、进程间通信和渲染进程。

【主进程】

Electron 运行 package.json 的 main 脚本(background.js)的进程被称为主进程。在主进程中运行的脚本通过创建web页面来展示用户界面。一个 Electron 应用总是有且只有一个主进程。

【渲染进程】

由于 Electron 使用了 Chromium 来展示 Web 页面,所以 Chromium 的多进程架构也被使用到。每个 Electron 中的 Web 页面运行在它自己的渲染进程中。在普通的浏览器中,Web页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。然而 Electron 允许用户在 Node.js 的 API 支持下可以在页面中和操作系统进行一些底层交互。

【主进程与渲染进程通信】

主进程使用 BrowserWindow 实例创建页面。每个 BrowserWindow 实例都在自己的渲染进程里运行页面。当一个 BrowserWindow 实例被销毁后,相应的渲染进程也会被终止。主进程管理所有的Web页面和它们对应的渲染进程。每个渲染进程都是独立的,它只关心它所运行的 Web 页面。

src目录结构

在Electron目录中,src会包包含main和renderer两个目录。

main目录

main目录会包含index.js和index.dev.js两个文件。

渲染进程

renderer是渲染进程目录,平时项目开发源码的存放目录,包含assets、components、router、store、App.vue和main.js。

综合示例

1,网易云音乐

electron-vue-cloud-music是一款使用Electron+Vue+Ant Design Vue技术开发跨平台桌面应用。

下载链接:

https://github.com/xiaozhu188/electron-vue-cloud-music

具有如下特点:

以下是部分运行效果:

BNjInuz.png!mobilevMF3Eba.png!mobile

2,qq音乐播放器

qq音乐播放器基于 electron-vue 开发的音乐播放器,界面模仿QQ音乐,使用的技术栈electron-vue+vue+vuex+vue-router+element- UI。可以使用如下的方式来运行项目。

部分运行效果如下图。

RVNVby.png!mobile

iaymmaE.png!mobile

阅读原文:   最新 3625页大厂面试题 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK