2010-08-04 33 views
3

我有一個社交網站的想法,我將在我的空閒時間單獨工作。如何開始構建新的社交網絡?

我的目標是:

  • 得到介紹給Web開發
  • 提高我的技能(編程語言,框架,可擴展的架構,...)我個人的樂趣,並提高我的簡歷
  • 如果我意識到它可以成功,就可以將項目轉變爲創業公司,或者如果他們未來能夠使用我從其他創意中學到的知識。

所以我想問問你,如果你能給我關於以下幾點(或任何其他點)建議:

  • 教程
  • 編程語言和框架(我不介意學習新的)
  • 架構
  • 硬件(我需要爲開發,測試,CI許多機器,...或者是我的2GB的MacBook Pro足夠了)
  • 源控制,CI,測試
  • 我應該從哪部分開始?客戶端,數據庫,...?
+1

這是您在網頁開發中的第一課。你打字的和現在看到的不一樣,是嗎?編輯你的問題。查看標記語法的頁面右側。編輯你的問題,讓它看起來不錯。 – 2010-08-04 22:16:41

+2

這是您在Web開發中的第二課。 「我不介意學習新的)」。什麼?你的意思是「新」,如「從未使用過的新語言」?或者你的意思是「新」,如「新對我」?如果你的意思是「對我而言是新的」,我們應該如何知道你的新東西?猜測?什麼是「CI」? – 2010-08-05 00:30:48

+0

*持續集成*將是我的猜測。 – bakkal 2010-08-05 00:37:33

回答

6

要在規模上創建一個新的社交網絡,您可能想到的是一項巨大而龐大的任務。它通常不會是'網站開發'的練習,它可能是一個'協作,經驗豐富的網站開發'大師班' - 無論如何要正確實施它。

看起來,要想跳出一步,想到語言錯過了軟件設計所需的幾個非常重要的步驟 - 尤其是考慮到語言和平臺的有效選項數量。最好從思考一些系統設計開始:用戶,用例,可能是一系列實體/ ERM設計;在此之後的某個點您可能會考慮後端存儲。考慮用戶負載,用戶體驗,可擴展性和功能集,您可以開始評估語言和平臺。

這就是說,每當我有一個想法,我認爲很酷我通常只做快速原型週期;但對於社交網站這樣巨大的事物來說,重構將變得越來越困難,尤其是如果只是你在團隊中。

很顯然,我對此一發不可收拾,試圖暗示有很多想法可以完成。我的實際建議是 - 抓取大量紙張,儘可能地從高層次開始(例如,用戶將與之交互的不同屏幕) - 在紙上解決問題(例如勾畫出物體的狀態),以及從小開始/目標低開始。最好有一個簡單的文本和照片通訊系統(說實話,要得到拋光完成和運作良好,這本身就是一個壯舉),工作比一個隨意的破壞越野擴展配置文件系統與消息,照片畫廊,'牆「系統,團體等。

這裏有很多美味的技術,比如RoR,但是對於一個項目來說,仍然會有很多研究和頭腦靈活的時刻。因此,具有一定的整體項目範圍將有助於保持事物的正確性和可管理性,就像在編碼之前進行任何規劃一樣。

只是一些思考。

2

語言:您可以查看Groovy for web dev。

但是,如果你不想提高你的簡歷, Java + JSF看起來也不錯。

源控制:GIT

您應該將開發機上做一個測試數據庫,並開始做一些簡單的屏幕使用Groovy訪問數據。

我個人非常喜歡Groovy,但是在專業上我在J2EE大型Weblogic服務器上使用Java + JSF框架。

是的,不是很... Groovy。

0

我一定會用Ruby on Rails。 Ruby語言非常棒,Rails框架非常適合這類東西。有一個學習曲線,但它是值得的!你在Mac上這樣很好,因爲它已經有了Ruby和Rails,並且你可以使用TextMate。

好的地方開始將是Ruby on Rails網站。至於學習Ruby,我肯定會推薦why's (poignant) guide to Ruby

作爲一個方面說明,我不建議走下「社交網絡」的道路。已經有一些瘋狂的社交網絡,這可能是一個比你意識到的更大的工作。在開始之前閱讀this

我也認爲,如果您計劃只有在「意識到它可以成功」時才「將項目轉變爲創業公司」,這將是一個很大的錯誤,可能錯過了一次機會。你應該進入該項目與一個堅實的業務(或至少是市場營銷)的計劃,否則失敗。

0

回答這個問題: 「如何開始構建新的社交網絡?」

我會建議去外面和一些真實的人交談。

在閱讀完您的問題的其餘部分,特別是關於將您的想法轉變爲創業公司的部分之後,我會再說一遍:走出去與一些真實的人交談。你不會單獨坐在家裏,只是坐在家裏與使用者交談,但如果你想在現實世界中與其他開發人員一起討論你的想法,你或許有一天能夠在社交網絡中挖掘一個利基景觀。

1

教程

隨意選擇任意Web開發教程。認真。從Oracle,IBM或HP開始。他們都很好。閱讀東西。沒關係。

編程語言和框架(我不介意學習新的)

折騰了一枚硬幣。認真。如果你什麼都不知道,選擇任何語言。如果你已經知道一種語言,那就使用它。用您已知的語言找到一個框架。

他們都很好。這完全是拋硬幣。有這麼多選擇的原因是因爲這個事實:他們都很好。

架構

什麼?

硬件(我需要爲開發,測試,CI,很多機器...或者是我的2GB的MacBook Pro足夠了)

這是無法解釋的。是的,你需要一臺電腦。任何電腦。你還需要知道什麼?你沒有語言,工具,框架或概念。所以硬件似乎有點不成熟。

源控制,CI,檢測

是。

我應該從哪一部分開始?客戶端,數據庫,...?

數據永遠持續,因此數據庫必須先到達。

1

編程語言:php

嘗試創建自己的框架。請記住,它必須快速且最小限度地運行社交網絡。

你可能想看看所謂的PDO爲PHP。也;你需要一個數據庫捕捉系統(f.ex.Maccached)。

標準也是一件好事,試圖實現它們。下面是一些例子:

  • Activitystrea.ms
  • Portablecontacts
  • 的OAuth
  • 的OpenSocial
  • FOAF
  • 的OpenID
  • XMPP
  • 名片
  • XRD
  • RDF
  • RSS/ATOM

有一些項目繼續創建新的社交網絡,你所得到其中:

  • Onesocialweb
  • Noserub
  • 散居

你可能想檢查一下。特別是Diaspora可能會很有趣。如果您創建新的社交網絡,則可能希望添加對用戶的支持,以使用他們自己的Diaspora服務器來託管他們的聯繫信息。

關於教程:我提到的谷歌的東西。這些東西大部分都是足夠的。玩得開心創造和學習:)