luckyyang / shellinabox

shellinabox for website
Other
0 stars 0 forks source link

https://www.nitrous.io/ #1

Open happypeter opened 10 years ago

happypeter commented 10 years ago

大家看看 https://www.nitrous.io/ 上的这个动画视频,这个集成开发环境中,拥有:

综上,我觉得这个方案比我们的 shellinabox 的方案要好的多。所以我建议:放弃原来的咱们的 shellinabox+tmux+vim 的方案,改用 nitrous 的方案。

@luckyyang 和 @limingth 的意见?

luckyyang commented 10 years ago

https://github.com/happypeter/aka/issues/53

Cloud9 Editor 一站式解决所有的问题,我最近正尝试玩一玩呢

limingth commented 10 years ago

我的意见是 No,理由很简单:不要重复造轮子,毛豆网的目标和核心价值不是去做一个 WebIDE。

如果 nitrous.io 做的足够好,我们就设法集成,或者有一天看看能否和他们合作,由他们来提供 WebIDE 的技术支撑。

@happypeter 毛豆网未来最有价值的部分,是 ppweb 的用户和形成的学习数据,而不是 classroom 的结对编程方案。技术上的门槛,将会是多人视频的流畅性和共享桌面的虚拟化技术,如果我们有钱有时间,就在这2个方面多投入一些。

BTW: 转发一封之前 nitrous.io 回复我的关于他们的 webIDE 能否嵌入的邮件。我其实和 peter 一样,也觉得 nitrous 的方案很酷,不过我觉得人家好就用人家的,干嘛非要自己做一个呢。

image

luckyyang commented 10 years ago

如果按照现有的shellinabox+tmux+vim 方案,我们以后的修改所花费的时间可能是巨大的,而且得到的结果可能也不是很理想。现在又不能很好的解决多个老师同时上课的问题,未来的方案目前也不是很清晰。

反观Cloud9 Editor,已经很多网站都在用,nitrous的IDE的所有功能这里都有,包括聊天功能,协作功能,甚至可以看到对方打开了什么文件。github的ace编辑器就是源自于这里。

当然,我们现在可以不用马上做决定干掉shellinabox,我可以抽出一点时间研究下Cloud9 Editor的集成。做个对比,就比较清楚了。

limingth commented 10 years ago

即便是 shellinabox ,在现在国内所有做在线教育的网站中,都是非常超前的。 很多我的在硅谷的同学看到后,也觉得能在浏览器里面用 ssh 就已经很酷了。

如果说到未来的方案,一定是 虚拟机 + 共享桌面,老师的开发环境和学生的学习环境, 都是基于 cloud 提供的虚拟机加共享桌面,也就是程序员真实使用的开发环境。

无论是 nitrous.io 还是其他的 WebIDE 方案,我认为都只是一个暂时的替代方案, 理由是真正的程序员都是不使用这些环境做开发的,而是用本地开发环境,学生也应如此, 更何况还有像 Xcode/VC++/ARM Realview/PhotoShop/Maya/AutoCAD 等开发工具根本无法移植。

随着网络宽带的普及,远程桌面的速度得到优化和解决,虚拟机的价格便宜到白菜价, 那时才是大同世界的在线学习体验,只需要一个浏览器接入,其他的都交给毛豆网。

在 2014年6月9日 下午9:48,Liujiyang notifications@github.com写道:

如果按照现有的shellinabox+tmux+vim 方案,我们以后的修改所花费的时间可能是巨大的,而且得到的结果可能也不是很理想。现在又不能很好的解决多个老师同时上课的问题,未来的方案目前也不是很清晰。

反观Cloud9 Editor,已经很多网站都在用,nitrous的IDE的所有功能这里都有,包括聊天功能,协作功能,甚至可以看到对方打开了什么文件。github的ace编辑器就是源自于这里。

当然,我们现在可以不用马上做决定干掉shellinabox,我可以抽出一点时间研究下Cloud9 Editor的集成。对个对比,就比较清楚了。

— Reply to this email directly or view it on GitHub https://github.com/luckyyang/shellinabox/issues/1#issuecomment-45573515.

Ming Li

happypeter commented 10 years ago

我的意见是 No,理由很简单:不要重复造轮子,毛豆网的目标和核心价值不是去做一个 WebIDE。

直接上手抄袭,确实不是很帅得行为。那这里我支持 @limingth 的这个决定:暂时不集成一个 WebIDE 进来。

将会是多人视频的流畅性和共享桌面的虚拟化技术

这个指的是 webrtc 和 novnc 吗? @limingth

novnc 确实是很牛的,我非常的期待。如果真的 novnc 能够不卡,那么 shellinabox 的这个方案也没有太大意义了,它有的功能,novnc 都有。

所以,这里我支持的一个做法:

上面我的想法,@limingth 是否同意?

happypeter commented 10 years ago

奇怪,我刚才做楼上回复的时候,居然没有刷出: https://github.com/luckyyang/shellinabox/issues/1#issuecomment-45574456 这个来。嘻嘻

无论是 nitrous.io 还是其他的 WebIDE 方案,我认为都只是一个暂时的替代方案, 理由是真正的程序员都是不使用这些环境做开发的,而是用本地开发环境,学生也应如此,

这个我的理解恰恰相反,cloudIDE 给我的感觉是未来的趋势,我自己不敢说是开发高手,但是我对 vim+git+sublime 等本地开发环境的配置绝对是神经质级的,但是如果未来 cloudIDE 发展的更完美一些,我照样很有动力放弃本地的一些配置自由,迁移过去。

随着网络宽带的普及,远程桌面的速度得到优化和解决,虚拟机的价格便宜到白菜价, 那时才是大同世界的在线学习体验,只需要一个浏览器接入,其他的都交给毛豆网。

这个我非常赞同。

好,还是不要谈伟大愿景了,回来还是聊这个实际问题:

shellinabox 的研发是继续,还是暂时放放,等咱们 novnc 那边的结果? @limingth 给个明确地肯否意见吧

luckyyang commented 10 years ago

直接上手抄袭,确实不是很帅得行为。那这里我支持 @limingth 的这个决定:暂时不集成一个 WebIDE 进来。

抄袭nitrous么?不用啊,现有的开源webIDE就可以解决啊。

happypeter commented 10 years ago

@luckyyang 那挺好的。不过,看 @limingth 的意见是先弄 novnc,这个我也同意,因为 novnc 如果真的能跑顺,确实能提供比 WebIDE 更多的功能。

所以,咱们还是先猛攻 novnc 吧。 PS. novnc 要在今明两年内克服国内的网络条件,实际上是非常有挑战性的事情。

luckyyang commented 10 years ago

目前的目标是要实现 多对 师生 同时 结对 编程,noVNC现在只能做到 结对

所以我这边会一边优化novnc,一边研究别的方案

happypeter commented 10 years ago

@luckyyang 明白了,有道理

limingth commented 10 years ago

我的意见:

  1. 用 shellinabox 的方案作为默认界面,最近3个月内,这个方案足够满足我们做 demo 和对外发布的需要
  2. 三个月内,用 webrtc 来支持老师的桌面共享(速度会比 noVNC 快,但学生无法互动),@wzhan12 负责这方面的技术实现
  3. 年底之前,能够优化 noVNC 或者找到同类替换方案,满足速度要求,达到实用水平。 @luckyyang 和 @limingth 负责

我不建议放弃 shellinabox 的理由是:

  1. 当前要把屏幕共享做到不卡,技术上有相当难度,也会耗费很多时间。 webssh 的优点就是足够快,而且足以使用编程教学中的很多技术(c/c++/java/shell/python/ruby 等),可以满足当前的需要。
  2. 如我上次所说,webssh 这个技术已经足够超前,在我们 Linux 编程领域能够有足够的用户把我们的商业模式做出来。 年底前,我们围绕这个技术要服务好第一批用户,吸引一批 Linux 上的高手来使用这个平台,我认为足以证明平台的价值了。

换句话说,懂Linux,会 shell 操作,能用 vi/emacs 编辑器做开发的这个圈子,将会是最早一批的师资来源。

在 2014年6月10日 上午12:05,Peter Wang notifications@github.com写道:

我的意见是 No,理由很简单:不要重复造轮子,毛豆网的目标和核心价值不是去做一个 WebIDE。

直接上手抄袭,确实不是很帅得行为。那这里我支持 @limingth https://github.com/limingth 的这个决定:暂时不集成一个 WebIDE 进来。

将会是多人视频的流畅性和共享桌面的虚拟化技术

这个指的是 webrtc 和 novnc 吗? @limingth https://github.com/limingth

novnc 确实是很牛的,我非常的期待。如果真的 novnc 能够不卡,那么 shellinabox 的这个方案也没有太大意义了,它有的功能,novnc 都有。

所以,这里我支持的一个做法:

  • 放弃 shellinabox 的研究,全力攻克 novnc
  • 当然,如果最终我们拿不下 novnc,再回来考虑 WebIDE 和 shellinabox

上面我的想法,@limingth https://github.com/limingth 是否同意?

— Reply to this email directly or view it on GitHub https://github.com/luckyyang/shellinabox/issues/1#issuecomment-45580354.

Ming Li

happypeter commented 10 years ago

@limingth 很有道理,@luckyyang 对于 webIDE 的思考也有道理。

但是不管怎么样,能再 web 页面中使用 shell,是咱们一致的目标。

所以,我支持 luckyyang 先看看 nitrious 或是 cloud9 中得 shell 部分的实现。

咱们的 shellinabox 里现在最恶心的部分就是 tmux 带来的那些点点,看看有没有方法抛开 tmux。

happypeter commented 10 years ago

用 shellinabox 的方案作为默认界面

这个赞同,毕竟 ppweb 上也要有可以 demo 给大家的东西。

但是 shellinabox 的进一步的研发调试工作,都在这个独立的 repo 中进行,搭建独立的 demo 网站,这样比较干净利落。

limingth commented 10 years ago

@happypeter tmux 应该是有源码的,最差情况下我们可以重新编译 tmux 源码,生成一个新的 tmux ,不输出 . 点点

另外, http://blog.xeonxu.info/blog/2012/11/04/shi-yong-tmuxgai-jin-zhong-duan-ti-yan/ 上提到了一本书,应该可以通过配置 conf 来解决这个问题。@luckyyang 看看是否有办法?

再不济,把默认进入shell 就启动 tmux 的脚本注释掉,进入 shell 后,改为由老师手工启动,那么影响面会小一些。

李明

在 2014年6月10日 下午4:55,Peter Wang notifications@github.com写道:

@limingth https://github.com/limingth 很有道理,@luckyyang https://github.com/luckyyang 对于 webIDE 的思考也有道理。

但是不管怎么样,能再 web 页面中使用 shell,是咱们一致的目标。

所以,我支持 luckyyang 先看看 nitrious 或是 cloud9 中得 shell 部分的实现。

咱们的 shellinabox 里现在最恶心的部分就是 tmux 带来的那些点点,看看有没有方法抛开 tmux。

— Reply to this email directly or view it on GitHub https://github.com/luckyyang/shellinabox/issues/1#issuecomment-45687034.

Ming Li

luckyyang commented 10 years ago

咱们的 shellinabox 里现在最恶心的部分就是 tmux 带来的那些点点,看看有没有方法抛开 tmux。

tmux的作用就是结对,如果我们有个sublime的编辑器支持协作编辑就可以解决这个问题了

我目前还是不建议在shellinabox上投入太多的精力,如果从结对编程角度来考虑:

用shellinabox来进行命令行的讲解我认为是它最好的应用方式了,讲解代码还是用sublime+协作编辑的方式更好。

对于多个老师同时上课的问题:

所以我下面的努力方向:

shellinbox我暂时不想投入精力去改进