如何实现跨平台云文本编辑器
3月6日,《Hello,World公开课》首次公开课,我们非常荣幸邀请到了腾讯TVP,日行一课联合创始人兼CTO李艺老师来到开课吧直播间,与同学们一起交流,如何打造一款跨平台云文本编辑器。
需求与解决方案介绍
在分析整个项目需求与解决方案时,李艺老师讲到,我们要在富文本编辑器中实现Markdown语法,因为每一家平台的富文本编辑器风格迥异,而Markdown语法可以最大限度减少差异,在多个平台实现风格统一。
第二点,既然是跨平台项目,我们当然是希望可以在多个平台可以访问,所以云端保存的功能是必不可少的,
最后,对于文本编辑器,肯定是要涉及到图片的,因为每个图片的size都很大,如果单独自己购买云存储空间,不是很好的解决方案,所以我们要使用到图床,将免费的仓库做成图床上传,将上传地址传递到云端数据库保存。
搭建Electron项目
在分析完整个项目的解决方案后,接下来是全程的代码演示与实操环节,直播现场,有许多学员关心Vue是如何与Electron协同开发的。
所以在搭建完Electron项目后,李艺老师通过vue-cli-plugin-electron-builder这个插件来讲解Vue与Electron是如何协同开发的,并现场演示如何实现一键发布到第三方平台功能
云环境讲解
既然是跨平台项目,当然少不了云环境的参与,本次项目我们使用的是腾讯云的服务,通过如何新建云环境,查看环境ID,登录授权,API密钥管理等多个模块,李艺老师手把手的带着大家熟悉疼腾讯云环节的使用方法和注意事项。
Electron线程协作
Electron经常用到的有两个主要线程,ipcMain和ipcRenderer,也就是我们常说的主线程和渲染线程,这两个线程之间不能直接进行数据交互与调用。
所以,在这个项目中,我们要利用到web-message与app-message这两个模块,利用事件监听与异步代码转同步的原理来实现线程间的通信。
多平台一键发布
最后,李艺老师通过全程代码演示如何通过WebMessage调用主线程来实现多平台一键发布功能,并现场调试,如何在腾讯云数据库中查找保存过的数据。
讲师介绍
腾讯云最具价值专家(TVP),《小程序从0到1:微信全栈工程师一本通》作者,拥有近20年互联网软件研发经验,曾是北京协同创新研究院人工智能项目负责人,Adobe中国15位社区管理员之一,目前是日行一课联合创始人兼CTO
《Hello,World公开课》是由开课吧推出面向广大开发工程师的免费加餐课,我们希望能搭建起一座桥梁,将业内的最热门的技术,最好的解决方案一起打包免费送给你。无论你是初入职场的应届生,还是准备升职加薪的职场精英,相信这里都有你需要的内容。
新兴技术的风口纷至沓来,现存超过80%岗位未来可能通过机器解放生产力,这也意味着一种新生活形态的到来,数字化人才便是拥抱该变化的一支尖刀部队。
开课吧整合全球知名高校、IT和互联网企业一线师资及实战项目,面向广大的数字化管理人才、专业人才和应用人才,提供Java、Web前端、数据分析、Python、人工智能、产品、运营、智能物联、短视频直播等热门学科的体系化在线实战赋能和进阶课程。通过直播、录播视频、AI互动剧本、在线编程实验室、场景互动课件、综合测试等不同的教学形态,满足不同行业用户不同阶段的多元化学习需求,并提供完善的人才服务,帮助用户实现职业提升、专业进阶和可持续成长。