联络聊天

关注公众号 jb51net

关闭
Wey(基于node.js的快速聊天工具) v0.3.0 免费绿色版

Wey(基于node.js的快速聊天工具) v0.3.0 免费绿色版

热门排行

简介

Wey是一款开源的基于node.js编写的一个支持多种服务的聊天客户端,虽然目前只能处理slack。不过对于一些需要在工作上与团队交流项目的开发人员来说还是相对比较有用。ui是使用Yue library的本地ui,目前该软件尚且还存在部分bug,需要后期更新修正。

软件特色

Wey是遵循以下原则开发的,最终的目标是提供一个快速强大的聊天应用。

几乎所有东西都使用本机UI。

在需要定制UI的情况下,应该使用yulibrary的本地UI部件创建Wey的大部分部分,并手动绘制。

HTML是我们的朋友

Webview是一个很好的工具,只要我们明智地使用它。为了呈现丰富的Slack信息,HTML是最好的工具。

在Wey中显示的HTML页面应该是静态的,以获得最佳性能,在页面中使用JavaScript必须是最小的。我们不应该使用任何外部的CSS或JavaScript库/框架,每个风格和动画都必须手写。

最小的依赖关系

在添加依赖项时要小心,只需要使用小的和没有大量依赖项的第三方模块。

隐藏聊天服务提供者的详细信息。

虽然Wey目前只支持Slack,但它在路线图上增加了对更多服务的支持,未来我们将支持插件添加任意服务。

为了实现这一点,我们必须确保视图和控制器只能在模型的公共接口上操作,所有内部实现都必须从外部隐藏。

分离的消息

Wey支持多个不同类型的窗口来读取消息,因此视图应该只作为模型的用户,而不应该管理模型。

在Wey中创建视图非常快,打开一个新窗口几乎和显示隐藏窗口一样快。用户可以关闭所有窗口并在后台运行Wey,同时还能快速打开新窗口。

正确卸载

虽然JavaScript有垃圾收集,但当不小心引用对象在一起时,仍然很容易导致内存泄漏。在Wey中的视图经常被重载(例如交换帐户和关闭窗口),所以在卸载视图时确保所有事件订阅都是分离的非常重要。

贡献

请限制300行以下的pull请求的大小,否则很难检查代码。如果您有一个大的特性要添加,请考虑将它拆分为多个pull请求。

只要您遵循GPLv3许可证,就会鼓励您使用这个项目,甚至开发基于这个项目的商业应用程序。

性能瓶颈

在Wey中,大部分时间都花在了网络上,特别是在从Slack获取渠道信息的时候,而性能通常受到Slack的api的限制。

大多数操作都是通过web API完成的。

在有实时消息传递API的情况下,最常见的操作只能通过web API来完成,即通过发送HTTPS请求,而且速度非常慢。

消息不包含用户信息

我们从Slack所获得的消息历史不包括完整的用户信息,它只有用户id。因此,为了呈现消息,我们必须首先拉用户列表。

但是,某些松散的团队拥有超过20k的用户,而且不可能下载所有用户的信息并缓存它们。由于这个呈现消息变成了异步工作,每当遇到一个未打开的用户ID时,我们必须等待并拉出用户的信息,然后才能呈现消息。

对于大型团队来说,我们通常使用的缓存超过10k用户,使用一个巨大的JavaScript对象,并占用大量内存。

大家还下载了