我是CS学生,我在应用软件(java / c ++)方面有很多经验,但在网络开发方面却很少。所以,我决定建立一种视频共享网站(为了体验和乐趣)。
知道,你有建议学习的资源(网络文章,书籍......)吗?我知道标记的东西(html / css),但真的不知道很多php,javascript,(ruby / python / etc?)。另外,对于我正在尝试的任务,哪种语言最适合?我有兴趣自己开发视频播放器,除非这对任务来说太难了。谢谢!
答案 0 :(得分:1)
你说你知道标记,而且你知道app dev,所以我对你想要学到的东西感到有些困惑。当你说视频播放器时,它的哪一部分意味着什么?自定义flash,html5,silverlight播放器?
为了您的目的,将您的要求简化为可消化的帆船。
对于初学者来说,暂时忘掉视频播放。首先建立一个只分享视频文件链接的网站。
通过这样做,您将必须构建一个支持多个用户的持久数据的后端,并构建一个datadriven的站点(即您的视频链接列表)。
您之前已经编写了应用程序。因此,开始为您的网站编写类,以完成大部分繁重的工作或存储和检索视频文件。某些类的输入可能是视频文件内存流或字节数组,输出可能是物理文件路径。
这就是一个网站,一个前端。您的所有前端都会接受网址,使用核心类来执行网址要求的任何操作,然后返回一些HTML。就是这样。
当你来自OO背景时,我建议使用.NET。那里有十亿资源,它是静态类型的(我个人喜欢),框架为你做了很多网页。
如果您不喜欢M $,可以尝试Mono,它是.NET的开源实现,否则当您完成Java时,我会寻找Java Web框架。
请记住,您的核心代码可以是常规Java库。您的Java Web框架代码只是使用您的库来重试数据,然后使用该数据将html推送回浏览。该框架将处理所有url web东西....所以基本上所有会发生的是一个url只会在你的控制器中调用某个方法。
如果您不确定Controller的含义...查找并学习MVC模式。它不是Web上下文所独有的,但非常有用,更好的框架实现了模式。
一旦你建立了你的网站并分享了实际视频文件的链接......那么这只是改变你的观点的一种情况(参见MVC模式)。请记住,播放器毕竟只是一个前端元素。
答案 1 :(得分:0)
你最熟悉哪种语言?这是发展方面最重要的因素,因为很难用新语言进行开发。我使用Python + PyQt4
进行编码,但我甚至无法使用Qt4 + C++
制作基本的“Hello World”。
我提倡使用Python和众多Web框架之一(Flask,Django,Web.py等),因为语法非常易读且易于修改。
以下是我的图书馆管理网站的一大段代码示例,使用Flask作为Web框架和使用SQLAlchemy进行数据库集成的Python编写:
@app.route('/view/<book_id>')
def view_book(book_id):
book = Book.query.filter_by(id = book_id).first()
Book.query.filter_by(id = book_id).update({'views': book.views + 1})
db.session.commit()
return render_template('view.html', book = book)
但这只是我个人的偏好。我可以想象Ruby on Rails执行相同的任务,但PHP不在IMO中。它对于快速修改和快速开发来说太复杂和笨拙。
答案 2 :(得分:0)