现在是晚上9点。 我到工作室,打开电脑。 现在是时候放松一下了。 我从BandCamp上的一位艺术家那里购买了新版本,并将其保存到我的NAS中。 那NAS离我80公里。 幸运的是,NAS的制造商开发了一个方便的Web界面来播放音乐。
不幸的是,该Web界面本身就是一个野兽,索引缓慢,大型图书馆令人恐惧。 远不方便。
- NOVOS CANAIS。 NOVOS DESAFIOS
- Erstream和Daion在SportsPro OTT峰会上
- 您是否会担心是否定期在线流式传输内容?
- go90与YAK电影合作并跳舞,将观众带入地下舞蹈世界
- 媒体流入门
但是,等等,此NAS运行Linux。 当然可以安装另一个应用程序来流式传输世界各地的音乐吗?
我可以。 MPD,Ampache,koel:很多可能性。 但是通常,它们要么需要快速的CPU或大量的RAM,要么需要花费一些时间进行配置。 哦,我喜欢一个光滑的界面,看上去有点……抛光了吗? 具有多用户支持! 没有闪光灯! 有个人播放列表! 但是我想看看服务器上的其他用户在听什么! 哦,它也应该很快!
是时候去画板了。
我从哪里开始? 我应该使用PHP,Python还是Node.js? 我一直在考虑这个想法很长时间了,而对于其他一些项目,无论如何我最近都处于Node.js的思维模式中,所以我会坚持下去。
首先,我们定义API路由。 它们需要哪些变量,它们返回什么,如何运行。 然后我们编写该API。 接下来,是Web界面。 我想在浏览器中呈现所有内容,以确保服务器仅需提供API,文件和一些静态文件。 另外,该API应该会在将来为服务器开发移动应用程序或替代Web界面。
那么,我应该使用哪个堆栈?
- Node.js
- 哈皮
- 书架
- SQLite的
- Vue
- Plyr(尚不确定,正在寻找其他选择)
快进到今天:API正在运行,Web界面的服务没有任何问题:基础已经准备就绪。 让我们开始设计该Web界面。 目前,它看起来像这样,我认为看起来已经非常不错:
进入主界面!
Web界面加载大约需要两秒钟。 它会加载Vue,Plyr,样式表和一些图像。 之后,唯一的通信将是与API。 它作为单页应用程序运行:导航时无刷新页面! 这将带来流畅的用户体验,这一点至关重要。
大! 下一个是什么?
现在,必须做出一些有关用户界面的决定。 看看上面的“艺术家”面板。 您想要一个简单的艺术家名单吗? 还是紧随艺术家下方列出的专辑? 还是艺术家图像网格? 还是别的东西?
我期待您的意见! 如果您对如何显示项目有任何想法,可以随时发表评论,甚至更好,请发送另一个示例的屏幕截图,这样我就知道您想要哪种界面。
这个博客上即将发布的帖子将涉及很多方面:用户界面,源代码,业务模型,基准测试等等。