我是一名CS学生,我在应用软件(java/c++)方面有很好的经验,但在web开发方面却很少。所以,我决定做一个视频分享网站(为了体验和乐趣)。
知道了这一点,有没有什么资源(网络文章,书籍..)你建议学习的东西是什么?我知道标记的东西(html/css),但对php、javascript (ruby/python/etc?)了解不多。另外,哪种语言最适合我正在尝试的任务?我对自己开发视频播放器很感兴趣,除非这绝对是一项太难的任务。谢谢!
发布于 2011-05-09 10:01:09
你说你知道标记,你知道app dev,所以我对你到底想学什么有点迷惑。你说的视频播放器,指的是哪一部分?一个自定义的flash,html5,silverlight播放器?
我的建议
简化您的前端
为了你的目的,把你的需求简化成一些容易理解的垃圾。
对于初学者来说,暂时忘记视频播放吧。首先,创建一个只共享视频文件链接的站点。
通过这样做,你将不得不建立一个后端,支持跨多个用户持久化数据,并建立一个数据驱动的网站(即你的视频链接列表)。
核心逻辑或你的网站不需要知道它是一个网站
你以前写过应用,对吧。因此,开始为您的站点编写类,这些类执行大部分繁重的任务,或者存储和检索视频文件。某些类的输入可能是视频文件内存流或字节数组,输出可能是物理文件路径。
你已经有了你的类,把前端放在它上面
这就是一个网站的全部,一个前端。你所有的前端都会接受url,使用你的核心类来做任何url请求的事情,然后返回一些html。就这样。
什么语言/框架?
如果你有面向对象的背景,我建议你使用.NET,有十亿的资源,它是静态类型的(我个人喜欢),框架为你做了很多web代码。
如果你不喜欢M$,你可以试试Mono,它是.NET的一个开源实现,否则就像你已经做过的那样,我会寻找一个Java web框架。
请记住,您的核心代码可以是常规的Java库。您的Java web框架代码将使用您的库来重试数据,然后使用这些数据将html推送回浏览器。框架将处理所有url web内容...所以本质上所发生的一切就是一个url只会调用你的控制器中的某个方法。
MVC。学学吧。
如果你不确定我所说的控制器是什么意思...查找并学习MVC模式。它不是web上下文所独有的,而是非常有用的,并且更好的框架实现了该模式。
实际的视频播放器
一旦你建立了你的网站并分享了到实际视频文件的链接...然后这只是一个改变视图的例子(参见MVC模式)。记住,播放器毕竟只是一个前端元素。
发布于 2011-05-09 09:38:27
你最熟悉的语言是什么?当涉及到开发时,这是最重要的因素,因为很难用一种新的语言进行开发。我用Python + PyQt4编写代码,但我甚至不能用Qt4 + C++做一个基本的"Hello World“。
我推荐Python和众多web框架(Flask、Django、Web.py等)中的一种,因为它的语法非常易读,而且修改起来也很简单。
下面是我的库管理站点的示例代码块,使用Python语言编写,使用Flask作为web框架,使用SQLAlchemy进行数据库集成:
@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是不可能的。对于快速修改和快速开发来说,它太复杂和笨重了。
发布于 2011-05-09 10:03:01
如果你想走PHP路线,从项目中获得尽可能多的经验,那么你所需要的就是php,一个数据存储引擎(任何支持的数据库客户端)和smarty。视频播放器是客户端脚本,或者您可以选择HTML5 <video>标记。如果你想对视频做些什么或者检查文件头,我建议你使用ffmpeg。
https://stackoverflow.com/questions/5931631
复制相似问题