時常閱讀網路新聞的你,可曾想過這些編輯、評論與分享的功能背後,是什麼樣的科技嗎?美國著名新聞網站 《The Huffinton Post》 即將升級他們的系統,就讓我們趁機一窺網路新聞背後的科技!

  • 因應行動上網普及化,《The Huffinton Post》重新設計平台

自 2005 年以來,《The Huffinton Post》使用的是稱為 MT(Movable Type)的寫作系統,並且在工程師不斷優化後,成為非常好用的工具。雖然 MT 不會自動生出文章,卻能在競爭激烈的網路世界中,提供作者極大的優勢。

儘管如此,就網路應用程式而言,八年也已經太久了,MT 就目前的科技水準而言也已經過時。因此,《The Huffinton Post》決定以更現代的技術,做出新版本的 MT,以符合現代人 24 小時隨時使用行動裝置上網的習慣,也必須能夠負荷接下來八年讀者們每天所提供的成千上萬的影片、推特,以及「讚」。

就在去年初,《The Huffinton Post》聚集了軟體工程師、產品經理與編輯組成了一個小組來製作下一代的 MT,代號「雅典娜」。其中一位名叫 Kailuo Wang 的組員不但是工程師,還是攝影師兼部落客。他的一句話成為了「雅典娜」的核心精神:

「忘掉那些別人強塞進你腦袋的 coding 原則吧!你只需要一項原則來寫出好的編碼:對團隊中其他的工程師抱有同理心。」

  • 《HuffPost》程式設計的新選擇: MongoDB、Scala 和 AngularJS

在過去,《The Huffinton Post》的文章、新聞及影片等都是藉由 PHP、MySQL、HTML 與 JavaScript 程式語言而生,但這些技術都已經跟不上時代。MySQL 是最棒的資料庫系統之一,但雅典娜小組希望能更簡單處理複雜的 21 世紀網路新聞:要有相關圖片、影片、推特,和內嵌的 Facebook 評論。

因此最後決定使用可以彈性儲存檔案文件的新資料庫系統 MongoDB,不必再像 MySQL 一樣必須要大量的 front planning 跟 modeling 才能把一則新聞跟一堆檔案放在一起。

PHP 程式語言和 MySQL 一樣都是現代網路的重要組成元素,Facebook、HuffPost 和全球數以千計的網站都是用 PHP。然而,為了要服務大量使用者,卻不能太操工程師,因此雅典娜小組放棄 PHP,選擇了一個新的程式語言:Scala 以及它的 Play framework。

Scala 是個相對新的程式語言,擁有許多現代的設計,並且以受過千錘百鍊的 Java 為基礎而成。換句話說,Scala 不但可以有 Java 的表現與穩定性,也能讓工程師寫出更簡單卻耐用的編碼。

JavaScript 雖然十分強大且被廣泛使用,但卻同時擁有許多缺點,因此雅典娜小組選擇以 AngularJS 來「馴服」JavaScript 和 HTML。AngularJS 不但能延伸 HTML 的語彙,還能加強 JavaScript,讓網頁和伺服器上的資料能夠保持自動同步。使用 AngularJS 也符合「同理心」的目標,因為不需要寫太多的編碼,也不用一直費心維護。

  • 「同步編輯」功能,提升編輯效率

使用新系統後,若有兩位《The Huffinton Post》編輯想要同時修改一則新聞,就不必再 email 兩邊寄來寄去,或是用 Google Doc 寫完後還必須轉換檔案。

只要他們登入雅典娜系統,當 A 編開始編輯一篇關於林書豪的新聞,而 B 編中途也點開同一篇新聞時要加入編輯時,A 編的螢幕右下角就會有訊息提示 B 編也加入編輯同一則新聞了。這時,雙方就可以同時在自己的螢幕上編輯,也可以看見對方所做的更動即時反映在自己的螢幕上。

目前雅典娜已到了測試階段,很快地大家就可以見識到更新、更快且更人性化的  《The Huffinton Post》!

(資料來源:HuffingPost;圖片來源:Joe in DC , CC Licensed)