我对社交网络网站有所了解,我将在空闲时间单独处理它。
我的目标是:
所以我想问你是否可以就以下几点(或其他任何要点)给我建议:
答案 0 :(得分:6)
要创建一个新的社交网络,您可能正在考虑的规模是一项庞大而巨大的任务。它通常不是“网络开发的介绍”练习,它将是一个“协作,经验丰富的网络开发大师级”练习 - 无论如何都要正确地实现它。
似乎跳过去思考语言缺少了软件设计所需的一些非常重要的步骤 - 特别是考虑到语言和平台的有效选项数量。最好先考虑一些系统设计:用户,用例,也许是一系列实体/ ERM设计;在那之后您可以考虑后端存储。考虑用户负载,用户体验,可扩展性和功能集,您可以开始权衡语言和平台。
那说每当我有一个想法我认为很酷我通常会做快速原型制作周期;但对于像社交网站一样庞大的东西,重构将变得越来越困难,特别是如果只是你在团队中。
显然,我正在试图建议有很多想法要做。我的实际建议是 - 抓住一堆纸,尽可能地勾勒出来,从高层开始(比如,用户将与之交互的不同屏幕) - 在纸上解决问题(例如勾画出物体的状态),以及开始小/瞄准低开始。最好是拥有一个带有文本和照片的简单消息传递系统(说实话,要获得完美的结果并且运行良好,这本身就是一项壮举)的工作而不是随意破坏的带有消息传递的扩展配置文件系统,照片画廊,'墙'系统,团体等。
那里有很多美味的技术,例如RoR,但是项目的深度仍然会有很多研究和令人头疼的时刻。因此,拥有一定程度的整体项目范围将有助于保持正常和可管理的状态,以及在编码之前进行任何规划。
只是一些值得思考的东西。!
答案 1 :(得分:2)
语言:您可以查看Groovy for web dev。
但是,如果你不想提高你的简历; Java + JSF看起来也不错。
来源控制:GIT
您应首先在开发计算机上执行测试数据库,然后使用Groovy执行一些简单的屏幕来访问数据。
我个人非常喜欢Groovy,但是在专业上我在J2EE大型Weblogic服务器上使用Java + JSF框架。
是的,不是很...... Groovy。
答案 2 :(得分:1)
教程
随机选择任何Web开发教程。认真。从Oracle,IBM或HP开始。他们都很好。阅读某些内容。什么都没关系。
编程语言和框架(我不介意学习新的)
抛硬币。认真。如果你什么都不知道,选择任何语言。如果您已经了解某种语言,请使用该语言。找到您已经掌握的语言的框架。
他们都很好。这正是一个抛硬币。有这么多选择的原因是因为这个事实:他们都很好。
架构
什么?
硬件(我需要很多机器来开发,测试,CI,......或者我的2GB MacBook Pro是否足够)
这是无法解释的。是的,你需要一台电脑。任何电脑。你还需要知道什么?您没有语言,工具,框架或概念。所以硬件似乎有点为时过早。
源代码控制,CI,测试
是
我应该从哪个部分开始?客户端,数据库,......?
数据永远存在,所以数据库必须先行。
答案 3 :(得分:1)
编程语言:php
尝试创建自己的框架。请记住,运行社交网络必须快速且极简。
您可能想要查看一些名为PDO for php的内容。也;你需要一个数据库捕获系统(f.ex. Memcached)。
标准也是一件好事,试图实现它们。以下是一些例子:
有些项目正在创建新的社交网络,其中包括:
您可能想要查看它们。特别是散居可能很有趣。如果您创建新的社交网络,您可能希望添加对用户的支持,以使用他们自己的Diaspora服务器来托管他们的联系信息。
关于教程:我提到的谷歌的东西。关于它的大部分都有足够的东西。享受创造和学习的乐趣:)
答案 4 :(得分:0)
我肯定会选择Ruby on Rails。 Ruby语言很棒,Rails框架非常适合这种东西。有一个学习曲线,但它是值得的!你在Mac上这样很好,因为它已经有了Ruby和Rails,你可以使用TextMate。
好的起点是Ruby on Rails网站。至于学习Ruby,我肯定会推荐why's (poignant) guide to Ruby。
作为旁注,我不建议走“社交网络”路径。已经有一些疯狂的社交网络,它可能比你意识到的更重要。在开始之前阅读this。
我认为,只有当你“意识到它可以成功”时,如果你打算“将项目转变为创业公司”,那将是一个很大的错误,可能会错失良机。您应该通过可靠的业务(或至少是营销)计划进入项目,否则您将失败。
答案 5 :(得分:0)
回答这个问题: “如何开始建立一个新的社交网络?”
我建议去外面和一些真人交谈。
在阅读完其余的问题后,特别是关于将你的想法变成创业公司的部分,我会再说一遍:到外面去和一些真实的人交谈。你不打算独自坐在家里与stackoverflow用户聊天,但如果走出去与现实世界中的其他开发者讨论你的想法,你可能有一天能够在社交网络中开辟一个利基市场景观。