我所理解的OpenSocial

2021-08-24 19:45:34 字數 3004 閱讀 4470

昨天在google參加了opensocial的講座,通過三位opensocial工程師的精彩演講,我對這個東西有了一些簡單的理解。下面就把我所理解的opensocial,也算是筆記整理在這裡。

1、為什麼會有opensocial?

當前社會是乙個網路的社會,當前的網路是乙個社會性的網路,sns遍地開花到處都是。我們可以在上面和朋友分享喜怒哀樂、共同馳騁疆場。

忽然有一天,我們在乙個不起眼的小**上里發現了乙個不但有趣而且實用的應用,於是就迫不及待的通過email、簡訊、彩信、開心、人人、facebook等各種能利用的方式告訴好友,希望與他分享。可是好友充滿興趣和期待的輸入**,瀏覽器中並沒有出現期望的應用,而是出現了乙個**和一句彬彬有禮的提示語:「xx**歡迎您的到來,如果您想繼續使用,請註冊」。朋友的熱情一下從100oc降到了32.1oc,因為他知道這個註冊要浪費他寶貴的5分鐘,當然是在一切順利沒有敲錯鍵盤的情況下。然而,老天總是愛與人開玩笑,id已經被註冊、兩次輸入密碼不一致這些錯誤開始出現。朋友開始忿忿不平,嘴裡念念有詞,「每次都讓註冊,每次都改id,我哪記得住這麼多名字!!」熱情驟降至-123oc,繼而忿然離去。

opensocial的出現在一定程度上會緩解這種狀況,因為所有支援opensocial的**,之間的使用者都是可共享的。當然這個共享,並不是說**之間的資料可以相互copy,而是使用者在乙個支援opensocial**a上註冊後,那麼在另乙個支援opensocial**b上就可以使用a上的使用者名稱登入。在該使用者授權的情況下,甚至可以獲取a中的好友、活動等多種資訊。(有人會問:a憑什麼就讓b獲取自己的使用者,那可是好不容易聚集起來的呀??)

在當前sns盛行的情況,各種網頁遊戲或者應用(開心農場、榮光醫院、陽光牧場等等等...)為這些sns聚集人氣有著不可磨滅的功勞。當然作為應用的開發者,也賺得盆滿缽滿。

但是作為軟體開發人員都知道,軟體的研發是乙個激動人心的事情,可是重複的開發工作卻是令人極度反感的。那麼現在網頁上的各種應用要部署到不同的**就面臨著這種尷尬費力的局面。因為不同的**,都有不同開發平台,提供的api也不一樣,所以應用開發者重複性的勞動就在所難免了。

但是有了opensocial,情況就發生了變化。如果你開發的應用使用了opensocial,那麼就可以在那些支援opensocial的**隨意安裝(這是技術上,至於人家是否願意讓你安裝,還要看你的應用是否有吸引力了。)

可能看到這裡大家都有有很多疑問,我也是有不少疑問,那麼接著說吧。

2、opensocial是乙個網際網路標準嗎?

網際網路標準?這個說法,太「抬舉」它了。它只不過是一系列的api集合。opensocial只是為**、應用的開放互聯提供乙個便利的工具,至於是否使用,如何使用,那就是**管理者與應用開發者之間的事情了。當然了,如果以後大部分的sns都支援了opensocial,它也就自然而然的成為了標準。

如今opensocial api支援兩種形式的客戶端:gadgets 和restful,因此應用既可以嵌入網頁中也可以單獨執行在桌面上。更令人興奮地是,opensocial也已經支援在移動平台上使用,opensocial的開發者說,至少在android和iphone平台上測試沒有問題。

3、opensocial為加速**開發嗎?

這是作為乙個開發者我提出的問題。因為在整個演講中我好像並沒有看到,這些api可以為**的開發提供多大的便利。回過頭來看第乙個問題,可以發現opensocial要解決問題的是統一應用和sns之間的介面,同時也為了方便使用者使用。換個角度想,也就是為**最大程度的挽留住了遊客,讓他實實在在地成為**的使用者。當然這有個前提,那就是使用者曾經在支援opensocial的**註冊過,而你的**恰好也支援opensocial。

忽然想到,原來加入opensocial不但不會加速開發,反而需要增加工作量。因為你要為那些api提供資料支援,使其真正可用。不過opensocial的開發工程師,打消了我的這個念頭,他們說,從給某些**做技術支援的經驗來看,支援這些api也就是需要一周左右的時間。可以接受。

4、opensocial安全嗎?

如果支援opensocial的**可以從另外乙個支援opensocial的**獲取使用者資訊,那麼會不會導致使用者的私人資訊的丟失?這個擔心完全是多餘,因為**之間的資料的提取都要經過使用者的手動確認。而opensocial本身也有自己的認證方式來保證安全。

5、兩個競爭關係的**為什麼會共享使用者?

可能這是乙個涉及到商業上的問題。

我以前一直沒有想明白這個事情,剛才忽然想到了wto。那麼opensocial是不是可以看做wto呢?開放是必然的趨勢,設定壁壘只會導致競爭環境惡化。至於是否會實現opensocial所期望的那種形式,我們拭目以待吧。

6、有了opensocial,即使很傳統的**也可以變的社會化。而好的應用自然會得到很多sns的青睞,那麼**會不會同質化呢?

忽然想到了「山寨」這個名詞,最初應該是從因為模仿名牌產品而來的。而一味模仿跟風的後果最終是死路一條,除非在模仿中有了創新的點子。

要想在競爭中獲得一席之地,就需要有自己的閃光點。可能剛開始沒有辦法避免模仿,但是模仿中不斷創新才是出路。如今隨著開心農場火遍大江南北,而一些並非定位「休閒類」**也紛紛新增,讓我感覺心中有些不容易接受。

在和opensocial工程師聊天時談到了這點問題。在以前傳統模式下,很小眾的使用者需求很容易被忽略,即使有很好的主意,因為老闆認為產出和投入不成正比,也會被很自然的否決。但是如今在opensocial的支援下,已經出現了很多小眾的應用。關於小眾或者專業人員需求也應該是乙個發展趨勢。

這是腦海中,忽然又想到了乙個問題:將來是不是會有一種型別**,什麼都不做,就是用來儲存使用者最基本的資訊。使用者只需要在那些**上註冊一下就可以使用所有支援opensocial的**。而那些sns就可以關注自己的領域,專心做好業務。當然應用開發者也會更加專注應用的開發,關注更加專業的需求。

看起來opensocial是為使用者、**所有者、應用開發者提供了乙個構建更美好網際網路的工具。可是要實現是這個目標,前提就是第乙個單詞open。需要open的不僅僅是**的資料,更是經營者的思想!

open!open!!open!!! 開放,開放,再開放!

我所理解的前端

轉眼間,在鵝廠的實習已經過去三個多月,涉及到實習生轉正留用的考核流程也逐步開始了。帶著一堆疑問,以及自己實習期間的心得體會,與導師暢談了一番。他作為資深前端工程師,就前端領域及我個人未來的職業規劃等方面分享了他自己的經驗。這次與導師的溝通讓我受益匪淺,現簡單總結如下。前端知識學習路線 首先,當然是就...

我所理解的陣列

陣列 一 一維陣列 1 陣列的建立 陣列顧名思義是含有相同元素的集合,類似我們高中數學所學習的集合 例如int arr 10 char arr1 2 float arr2 3 double arr3 5 注意 切記 這個中要給常量,不能使用變數。2 陣列的初始化 初始化是指 在陣列的建立同時並賦予合...

我所理解的團隊

對於團隊這個概念,我小時候的理解就是像國家體育隊這樣的團體,例如籃球隊,或者足球隊等。各個運動員在團體中相互發揮自己的優勢,從而使整個隊伍能發揮出最好的實力。而在我讀大學的時候,我選擇了軟體這個專業,從這個專業中我了解到軟體實際工作中,軟體開發也是乙個非常講究團隊概念的乙個工作。只有擁有出色的團隊,...