Chrome擴展開發(Gmail附件管理助手)系列之〇——概述


目錄:
 

 

零、為什么會有這一套博文

  2014年底雖然已經基本完成GmailAssist這一chrome擴展開發(當時也是作為軟件工程課程的實踐項目),但該擴展程序對於郵箱內郵件數目較多(大約五位數的數量級上)的情況,就很難正常工作了,這顯然不是一個合格的軟件,當時雖然終期驗收順利“交差”了,但這個軟件的“不合格”卻一直是我的一個心病。經過一年的學習,盡管對於前端開發的知識沒有什么更進一步的掌握,但對軟件工程的思想等等有了比起當時來說更深一層的認識。同時,當時雖然是一定程度上遵循敏捷開發的原則來進行的開發,但代碼結構仍然比較混亂,因此最近計划對其進行一次完整的重構,同時修復bug、提升該擴展的性能。
當時在進行開發時,我幾乎完全沒有前端開發的經驗,從HTML、js的最基本語法開始邊學邊實現了該擴展的開發,當時偷懶沒有及時把知識、技巧包括開發途中走的彎路梳理並記錄下來。現在想重構時,發現很多東西都得從頭再梳理,因此決定在此次重構過程中,把Gmail API、chrome擴展、郵件格式、OAuth2認證等相關的知識整理成文字,加深自己理解、記憶的同時,也期待這套文章能對准備進行有關這些方面開發的開發者有所幫助。
如果你對GmailAssist感興趣,可以在chrome商店中搜索“Gmail助手”或者“GmailAssist”,或者直接訪問https://chrome.google.com/webstore/detail/gmail-attachment-manager/lchiijlphndndjfgecehgmkjbdohndjd來試用它。如果你對源碼感興趣,歡迎在GitHub上查看它的源碼:https://github.com/IceSuger/Gmail_Plugin。(寫這篇文章時,重構還沒完成,所以github上暫時還是一坨爛代碼...2016.1.11)

一、用戶需求

  用戶的Gmail中附件很多,分散在各個郵件中,希望能有一款插件,通過它來統一查看、批量下載、在建立新郵件時從中批量選擇附件並插入,而不必手動搜索並下載重新上傳。

二、目標功能


  開發開始之前,有必要搞清楚我們具體要實現的每一個功能(否則開發過程沒有清晰的目標,就很難進行)。那么,我們的插件需要擁有的幾項基本的功能如下:

  1. 能夠獲取並顯示用戶郵箱里的全部附件;
  2. 能夠單獨下載列出的附件中的某個;
  3. 能夠在要發送的草稿中插入列表中的某個附件。

  在這些基本的功能上,我們可以通過一次次迭代來完善功能,讓用戶更好地使用這個插件。具體點來說,進一步還要有(其中的一些是開發過程中才想到的或者根據用戶反饋而追加的):

  1. 在附件列表中顯示該附件對應的郵件標題、時間等郵件信息;
  2. 對附件列表進行按不同關鍵詞(包括附件名稱、附件大小、郵件時間等)的排序;
  3. 獲取附件列表時,允許用戶通過輸入指定一個更小的搜索范圍;
  4. 對獲取到的附件列表,允許用戶通過輸入來過濾掉不需要的條目;
  5. 允許用戶通過復選框來勾選多個附件,實現批量操作;
  6. 實現中文、英文兩種版本。

三、要完成開發需要哪些知識

  有了一個大致的目標,就該進一步考慮如何實現了。首先的想法是我們要開發一個chrome擴展,那chrome擴展的開發的基本知識以及基本的前端開發知識(至少是HTML、javascript、CSS的常用語法)是需要的。其次,搜索后得知Gmail有着一套官方的比較成熟的API,供開發者調用。接下來了解到開發針對Gmail的第三方插件,需要通過OAuth2獲得用戶的授權,那么OAuth2的基本原理也需要了解。
因此這套博文會有如下內容:[chrome擴展開發基礎知識及一些小tips和陷阱提醒。Gmail API的簡單介紹、包括tips和陷阱提醒。對OAuth2的理解。chrome擴展的i18n方法和技巧。]

其中每篇我都結合GmailAssist的具體開發過程來寫,因為很多知識點有具體例子的話,寫起來和讀起來都會更容易。chrome擴展,其實就是一個針對chrome瀏覽器的插件,因此后文中我會混用“插件”、“擴展”、“擴展程序”這幾個名詞。另外,因為比較具體,所以有些東西的介紹可能並不全面,我會在介紹它們時附上更完整的文檔等的地址,方便大家進一步了解相關內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM