| 項目 | 內容 |
|---|---|
| 課程班級博客鏈接 | 班級博客鏈接 |
| 這個作業要求鏈接 | 作業要求鏈接 |
| 我的課程學習目標 | 1.了解目前被廣泛使用的基於源代碼版本管理軟件Git的項目管理工具,明白他們之間的區別和聯系 2.了解調研並試用廣泛使用的源代碼集成開發工具軟件 3.使用typora進行MarkDown格式博客的本地編輯和實時預覽 |
| 這個作業在哪些方面幫助我實現學習目標 | 1.結果上網查閱資料和調研,明白了各種項目管理工具,並掌握了他們之間的聯系 2.使用了下載的源代碼集成開發工具軟件 3.了解並使用了typora工具 |
任務1:調研源代碼版本管理軟件
GitHub
簡介
- GitHub 是第一個供“用Git進行版本控制系統的軟件開發項目”使用的基於Web的代碼托管服務,是目前全球最大的開源社交編程及代碼托管網站。
- GitHub除了基本的服務以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜(報表)、代碼片段分享(Gist)等功能。
基本功能
- 作為一個分布式的版本控制系統,在Git中並不存在主庫這樣的概念,每一份復制出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合並。
- GitHub可以托管各種git庫,並提供一個web界面,但它與外國的SourceForge、Google Code或中國的coding的服務不同,GitHub的獨特賣點在於從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出並將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向項目負責人申請代碼合並。已經有人將GitHub稱為代碼玩家的MySpace。
- 在GitHub進行分支就像在Myspace(或Facebook)進行交友一樣,在社會關系圖的節點中不斷的連線。
- GitHub項目本身自然而然的也在GitHub上進行托管,只不過在一個私有的,公共視圖不可見的庫中。開源項目可以免費托管,但私有庫則並不如此。Chris Wanstrath,GitHub的開發者之一,肯定了通過付費的私有庫來在財務上支持免費庫的托管這一計划。
- 通過與客戶的接洽,開發FamSpam,甚至是開發GitHub本身,GitHub的私有庫已經被證明了物有所值。任何希望節省時間並希望和團隊其它成員一樣遠離頁面頻繁轉換之苦的人士都會從GitHub中獲得他們真正想要的價值。
- 在GitHub,用戶可以十分輕易地找到海量的開源代碼。
團隊協作流程
前期工作
- 在 Github 上創建 organization
- 邀請隊友加入 organization 並創建 team
- 建立團隊項目倉庫,在設置中將 team 的權限設置為 read
- 創建開發分支,讓隊友 fork 到個人倉庫
正式使用流程
- clone 項目到本地
- 添加 REMOTE 關聯到團隊遠程倉庫
- 切換到 dev 分支
- 提交commit到自己的遠程倉庫
- 和團隊遠程保存同步
- push 到自己的遠程倉庫 & 請求 pull request 到團隊遠程
GitLab
簡介
GitLab 是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自托管的 Git 項目倉庫,可通過 Web 界面進行訪問公開的或者私人項目。
應用特點
1.Web框架使用RubyonRails。
2.基於MIT代碼發布協議。
3.需要gitolite協同工作。
團隊協作流程
- 加入群組
- 拉取項目,建立分支
- 開發:發布任務、編寫代碼、提交代碼並備注、回復任務、結束任務
- wiki
- 代碼重用
BitBucket
簡介
BitBucket 是 2008 年創建的源代碼托管網站,采用 Mercurial 和 Git 作為分布式版本控制系統,同時提供免費賬戶和商業計划。2010 年被 Atlassian 收購,與 Atlassian 的其他服務(Git GUI SourceTree、HipChat、Cloud9)順利集成,主要面向慈善企業和企業用戶/其主要市場是大型企業。
特點
- 無限制的私有倉庫個數
- 無限制的磁盤空間
- 同時支持https/ssh
- Bug 跟蹤
- 項目Wiki
- API 支持
- 靈活的權限控制
- 可自定義域名
- RSS 修改記錄輸出
- 自定義下載
GitHub、Gitlab、Bitbucket之間的異同
不同點:
哪個是開源的服務或產品
在這四家代碼托管服務,只有 GitLab 有一個開源代碼版本。GitLab 社區版的源代碼也開放在他們的網站上。
GitHub 以開源友好而聞名,並且擁有最大數量(19.4M +)的開源項目但其本身不是開源的。
Bitbucket也不是開源的,但在購買托管服務的方案中提供了「產品定制」的功能。
Coding 同樣也不是開源的,不過 ,9 月中旬 Coding 宣布開放 WebIDE 的源代碼。
開源與協作,誰是最優之選
GitHub,GitLab,Bitbucket 和 Coding 都具有「發現」功能。除了 GitLab,每個都提供了「follow」功能。Coding 允許開發者在個人配置文件中添加自定義標簽,方便找到其他相同興趣的開發者。
在協作上,GitHub 是開源協作方面的首當其沖的選擇。目前 GitHub 擁有全世界最大數量的公共開源項目,全球頂級科技公司( Google / Apple/ Facebook/ Twitter/ Microsoft/Alibaba/ Tencent)紛紛加入 GitHub ,全球頂級開源項目(Linux/ Nodejs/ Swift/ Ruby / Docker)都優先選擇在 GitHub 上開源,這里還有全球頂級編程大牛貢獻代碼。這里不僅僅是專業開發人員的交友樂園,也聚集了很多對軟件開發感興趣的人學習。甚至,一個活躍的 GitHub 賬號也能成為理想工作的敲門磚。
導入的代碼倉庫類型
某種意義上,分布式版本控制系統決定了選擇哪個代碼存儲服務,Bitbucket 在這方面脫穎而出,因為這是唯一同時支持 Mercurial.
Coding,GitHub 和 Bitbucket 支持導入基於多個不同 VCS 的 repos,而 GitLab 只支持 Git。
毫無疑問,Git 是目前最受歡迎的 VCS,但如果你正在使用 Mercurial 或 SVN 存儲庫,那么遷移至 GitLab 可能會很復雜。GitLab 提供了簡單方便的方式,用於從 GitHub 或其他平台上導入代碼倉。
GitHub 支持:
- 導入Git,SVN,HG,TFS.
GitLab 支持:
- 導入Git.
- 更容易從其他服務導入GitHub,Bitbucket,Google code,Fogbugz。
Coding 支持:
- 導入Git,SVN,HG.
Bitbucket支持:
- 導入Git,CodePlex,Google Code,HG,SourceForge,SVN。
小結論
- 如果你想要一個免費開源的解決方案,GitLab 也許比較吸引人;
- 如果你正在開發一個開源項目想取得更多的關注,那 GitHub 毫無疑問是第一選擇;
- 如果你想要免費的私有庫,並在使用 Atlassian 的其他產品(例如:Confluence,Jira, SourceTree…),代碼托管在 Bitbucket 絕對用起來會很爽;
- 如果你想要免費私有代碼倉庫,想獲得更多的中文支持或正在使用 Coding WebIDE,Coding 明顯更適合。
相同點:
- 拉取請求
- 代碼審查
- 內聯編輯
- 問題跟蹤
- Markdown支持
- 雙向認證
- 高級權限管理
- 托管的靜態網頁
- 功能豐富的API
- Fork / Clone Repositories
- 代碼段
- 第三方集成
任務2:調研並試用廣泛使用的源代碼集成開發工具軟件(Integrated Development Environment,IDE)
MyElipse
簡介
MyEclipse,是在Eclipse 基礎上加上自己的插件開發而成的功能強大的企業級集成開發環境,主要用於Java、Java EE以及移動應用的開發。在最新版本的MyEclipse中,配合CodeMix使用支持也十分廣泛,尤其是對各種開源產品和主流開發框架的支持相當不錯。目前已支持PHP、Python、Vue、Angular、React、Java、Java EE等語言和框架開發。
功能特色
MyEclipse 是一個十分優秀的用於開發Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數據庫鏈接工具等多項功能。可以說MyEclipse是幾乎囊括了所有主流開源產品的專屬eclipse開發工具。
Visual Studio
簡介
Microsoft Visual Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。並且,Visual Studio是最流行的Windows平台應用程序的集成開發環境。最新版本為 Visual Studio 2019 版本,基於.NET Framework 4.8 。
功能特色(以VS 2008為例)
Visual Studio 2008 在三個方面為開發人員提供了關鍵改進:
- 快速的應用程序開發
- 高效的團隊協作
- 突破性的用戶體驗
- Visual Studio 2008 提供了高級開發工具、調試功能、數據庫功能和創新功能,幫助在各種平台上快速創建當前最先進的應用程序。
- Visual Studio 2008 包括各種增強功能,例如可視化設計器(使用 .NET Framework 3.5 加速開發)、對 Web 開發工具的大量改進,以及能夠加速開發和處理所有類型數據的語言增強功能。Visual Studio 2008 為開發人員提供了所有相關的工具和框架支持,幫助創建引人注目的、令人印象深刻並支持 AJAX 的 Web 應用程序。
- 開發人員能夠利用這些豐富的客戶端和服務器端框架輕松構建以客戶為中心的 Web 應用程序,這些應用程序可以集成任何后端數據提供程序、在任何當前瀏覽器內運行並完全訪問 ASP NET應用程序服務和 Microsoft 平台。
程序開發
為了幫助開發人員迅速創建先進的軟件,Visual Studio 2008 提供了改進的語言和數據功能,例如語言集成的查詢 (LINQ),各個編程人員可以利用這些功能更輕松地構建解決方案以分析和處理信息。
Visual Studio 2008 還使開發人員能夠從同一開發環境內創建面向多個 .NET Framework 版本的應用程序。開發人員能夠構建面向 .NET Framework 2.0、3.0 或 3.5 的應用程序,意味他們可以在同一環境中支持各種各樣的項目。
用戶體驗
Visual Studio 2008為開發人員提供了在最新平台上加速創建緊密聯系的應用程序的新工具,這些平台包括 Web、Windows Vista、Office 2007、SQL Server 2008 和Windows Server 2008。對於 Web,ASP NET AJAX 及其他新技術使開發人員能夠迅速創建更高效、交互式更強和更個性化的新一代 Web 體驗。
高效的團隊協作
Visual Studio 2008 提供了幫助開發團隊改進協作的擴展的和改進的服務項目,包括幫助將數據庫專業人員和圖形設計人員加入到開發流程的工具。
HBuilderX
功能特色
輕巧、極速
- 10M的綠色發行包。
- C++架構,啟動速度、大文檔打開速度、編碼提示,都極速響應。
強大的語法提示
- 一流的ast語法分析能力,語法提示精准、全面、細致,轉到定義、重構完善。
專為vue打造
- 提供比其他工具更優秀的vue支持。
- 大幅提升你的vue開發效率。
markdown優先
- HX是唯一一個新建文件默認類型是markdown的編輯器,也是對md支持最強的編輯器,你甚至可以直接粘貼表格、圖片進來。
- 對於技術人員,我們強烈建議你以后不要使用記事本了,用markdown來替代txt。
高效極客操作
- HBuilderX對字處理提供了更崇高的支持。
- 更強大的多光標、智能雙擊、選區管理...讓文字處理的效率大幅提升。比如你可以簡單的選中想要處理的多端文字區塊,方便的同時注釋掉不同行的一對tag或if塊首尾行。
PyCharm
簡介
PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。
功能特色
編碼協助
- 其提供了一個帶編碼補全,代碼片段,支持代碼折疊和分割窗口的智能、可配置的編輯器,可幫助用戶更快更輕松的完成編碼工作。
項目代碼導航
- 該IDE可幫助用戶即時從一個文件導航至另一個,從一個方法至其申明或者用法甚至可以穿過類的層次。若用戶學會使用其提供的快捷鍵的話甚至能更快。
代碼分析
- 用戶可使用其編碼語法,錯誤高亮,智能檢測以及一鍵式代碼快速補全建議,使得編碼更優化。
Python重構
- 有了該功能,用戶便能在項目范圍內輕松進行重命名,提取方法/超類,導入域/變量/常量,移動和前推/后退重構。
支持Django
- 有了它自帶的HTML,CSS和 JavaScript編輯器 ,用戶可以更快速的通過Django框架進行Web開發。此外,其還能支持CoffeeScript, Mako 和 Jinja2。
支持Google App引擎
- 用戶可選擇使用Python 2.5或者2.7運行環境,為Google App引擎進行應用程序的開發,並執行例行程序部署工作。
集成版本控制
- 登入,錄出,視圖拆分與合並--所有這些功能都能在其統一的VCS用戶界面(可用於Mercurial, Subversion, Git, Perforce 和其他的 SCM)中得到。
圖形頁面調試器
- 用戶可以用其自帶的功能全面的調試器對Python或者Django應用程序以及測試單元進行調整,該調試器帶斷點,步進,多畫面視圖,窗口以及評估表達式。
集成的單元測試
- 用戶可以在一個文件夾運行一個測試文件,單個測試類,一個方法或者所有測試項目。
可自定義&可擴展
- 可綁定了 Textmate, NetBeans, Eclipse & Emacs 鍵盤主盤,以及 Vi/Vim仿真插件。
Android studio
簡介
Android Studio 是谷歌推出的一個Android集成開發工具,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。
功能特色
1、優化小貼士:在主體中打開你的應用,點擊小貼士,會得到這樣的建議:為你的應用開發平板電腦版本。
2、應用翻譯服務:允許開發者直接在開發主體中獲得專業的翻譯。上傳你的需求,選擇翻譯,其會顯示翻譯方和價格,並在一周內發回譯本。
3、推薦跟蹤:允許開發者找出最有效的廣告
4、營收曲線圖:向開發者展示其應用營收,以國家進行划分
5、試用版測試和階段性展示:開發者可以對應用進行測試,然后向測試用戶推出,測試結果不會對外公布。當一個版本的測試結束,開發者可以向特定比例用戶推出
NetBeans
簡介
NetBeans包括開源的開發環境和應用平台,NetBeans IDE可以使開發人員利用Java平台能夠快速創建Web、企業、桌面以及移動的應用程序,NetBeans IDE已經支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等開發語言。
功能特點(以IDE 8.0為例)
- Java SE 8 嵌入式支持
- Java ME 8 嵌入式支持
- 增強的 HTML 5 支持
- 支持JavaFX 新GUI編程體系
- 支持創建匿名inner class
- NetBeans IDE 8.0 新增功能和重要功能頁上列出了其他增強功能。
IntelliJ IDEA
簡介
DEA 全稱 IntelliJ IDEA,是java編程語言開發的集成環境。IntelliJ在業界被公認為最好的java開發工具,尤其在智能代碼助手、代碼自動提示、重構、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費版只支持Java,Kotlin等少數語言。
功能特色
- 智能的選取
在很多時候我們要選取某個方法,或某個循環或想一步一步從一個變量到整個類慢慢擴充着選取,IDEA就提供這種基於語法的選擇,在默認設置中Ctrl+W,可以實現選取范圍的不斷擴充,這種方式在重構的時候尤其顯得方便。 - 豐富的導航模式
IDEA提供了豐富的導航查看模式,例如Ctrl+E顯示最近打開過的文件,Ctrl+N顯示你希望顯示的類名查找框(該框同樣有智能補充功能,當你輸入字母后IDEA將顯示所有候選類名)。在最基本的project視圖中,你還可以選擇多種的視圖方式。 - 歷史記錄功能
不用通過版本管理服務器,單純的IDEA就可以查看任何工程中文件的歷史記錄,在版本恢復時你可以很容易的將其恢復。 - JUnit的完美支持
- 對重構的優越支持
IDEA是所有IDE中最早支持重構的,其優秀的重構能力一直是其主要賣點之一。 - 編碼輔助
Java規范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用進行任何的輸入就可以實現代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。 - 靈活的排版功能
基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因為它支持排版模式的定制,你可以根據不同的項目要求采用不同的排版方式。 - XML的完美支持
xml全提示支持:所有流行框架的xml文件都支持全提示,誰用誰知道。
Code::Blocks
簡介
Code::Blocks 是一個開放源碼的全功能的跨平台C/C++集成開發環境。 Code::Blocks是開放源碼軟件。Code::Blocks由純粹的C++語言開發完成,它使用了著名的圖形界面庫wxWidgets(3.x)版。對於追求完美的C++程序員,再也不必忍受Eclipse的緩慢。
功能特點
- 雖然Code::Blocks從一開始就追求跨平台目標,但是最初的開發重點是Windows平台,從06年3月21日版本:1.0 revision 2220開始,Code::Blocks在它的每日構建中正式提供GNU/Linux版本,這樣 Code::Blocks在1.0發布時就成為了跨越平台的C/C++IDE,支持Windows和GNU/Linux。由於它開放源碼的特點,Windows用戶可以不依賴於VS. NET,編寫跨平台C++應用。
- Code::Blocks提供了許多工程模板,這包括:控制台應用、DirectX應用、動態連接庫、FLTK應用、GLFW應用、Irrlicht工程、OGRE應用、OpenGL應用、QT應用、SDCC應用、SDL應用、SmartWin應用、靜態庫、Win32 GUI應用、wxWidgets應用、wxSmith工程,另外它還支持用戶自定義工程模板。在wxWidgets應用中選擇UNICODE支持中文。
- Code::Blocks支持語法彩色醒目顯示,支持代碼完成,支持工程管理、項目構建、調試。
- Code::Blocks支持插件,包括代碼格式化工具AStyle;代碼分析器;類向導;代碼補全;代碼統計;編譯器選擇;復制字符串到剪貼板;調試器;文件擴展處理器;Dev-C++DevPak更新/安裝器;DragScroll,源碼導出器,幫助插件,鍵盤快捷鍵配置,插件向導;To-Do列表;wxSmith;wxSmith MIME插件;wsSmith工程向導插件;Windows7外觀。
- Code::Blocks具有靈活而強大的配置功能,除支持自身的工程文件、C/C++文件外,還支持AngelScript、批處理、CSS文件、D語言文件、Diff/Patch文件、Fortan77文件、GameMonkey腳本文件、Hitachi匯編文件、Lua文件、MASM匯編文件、Matlab文件、NSIS開源安裝程序文件、Ogre Compositor腳本文件、Ogre Material腳本文件、OpenGL Shading語言文件、Python文件、Windows資源文件、XBase文件、XML文件、nVidia cg文件。識別Dev-C++工程、MS VS 6.0-7.0工程文件,工作空間、解決方案文件。
- Code::Blocks基於wxWidgets開發,正體現了wxWidgets的強大。以前Borland C++Builder X宣稱基於wxWidgets開發跨平台、兼容性好、最優秀的C++ IDE環境,但沒有實現;讓我們拭目以待。國內的Code::Blocks愛好者和跨平台開發員應該盡快建立中文Code::Blocks網站,提供Code::Blocks中文化支持,促進Code::Blocks在國內的發展。
任務3:使用typora進行MarkDown格式博客的本地編輯和實時預覽
