化繁為簡(jiǎn)的五種碼農(nóng)必備工具
譯文【51CTO.com快譯】不知您是否已經(jīng)發(fā)現(xiàn):那些以任務(wù)為中心的軟件開發(fā)工作,會(huì)比獨(dú)立的研究式開發(fā)復(fù)雜得多。針對(duì)軟件產(chǎn)品的開發(fā)會(huì)涉及到從對(duì)于軟件概念的透徹理解、到開發(fā)、以及測(cè)試和部署產(chǎn)品等諸多方面。常言道:工欲善其事,必先利其器。可見(jiàn),開發(fā)工具已成為了軟件開發(fā)過(guò)程中必不可少的組成部分。本文將向您介紹當(dāng)前軟件開發(fā)市場(chǎng)上頗具影響力的五種化繁為簡(jiǎn)的碼農(nóng)必備工具。它們分別是:
- GitHub Actions
- DeployPlace
- ExBrain
- QueryPie
- AutomatedApi
雖然這些工具分別有著不同的特性和用途,但是它們有著一個(gè)共同的目標(biāo):消除軟件開發(fā)過(guò)程中牽扯到的復(fù)雜性,讓各種層次的開發(fā)人員能夠享受到開發(fā)過(guò)程所帶來(lái)的樂(lè)趣。
GitHub Actions(https://github.com/features/actions)
GitHub是軟件開發(fā)生態(tài)系統(tǒng)中一個(gè)家喻戶曉的名字。它通過(guò)提供Git,來(lái)實(shí)現(xiàn)對(duì)托管軟件開發(fā)的版本控制。GitHub提供了各種不同服務(wù)特性的工具,它們旨在為軟件產(chǎn)品的研發(fā)過(guò)程增加靈活性,而GitHub Actions正是其中的一款。
GitHub Actions允許您為應(yīng)用程序開發(fā)特有的管道,以創(chuàng)建自定義的邏輯。籍此,您可以編寫出獨(dú)立于其他任務(wù)的代碼,并將它們組合成為功能強(qiáng)大、且易于實(shí)現(xiàn)的工作流??梢?jiàn),使用GitHub Actions的最終目標(biāo)是:讓您能夠以自動(dòng)化的方式為應(yīng)用程序賦能,并最終將其從GitHub移植到生產(chǎn)環(huán)境中。
如今,我們經(jīng)常需要將敏捷開發(fā)里涉及到的持續(xù)集成(CI)和持續(xù)部署(CD)過(guò)程,輕松地整合到自己的應(yīng)用程序中。而GitHub Actions正好可以對(duì)各種事件進(jìn)行預(yù)先定義。在某項(xiàng)活動(dòng)發(fā)生時(shí),它能夠根據(jù)預(yù)定來(lái)觸發(fā)相應(yīng)的操作。當(dāng)然,您也就不必再去考慮是否需要手工去執(zhí)行某項(xiàng)任務(wù)了。
GitHub Actions的一種典型用例是:在將應(yīng)用推送到GitHub后,自動(dòng)創(chuàng)建一個(gè)動(dòng)作來(lái)構(gòu)建代碼,并將其最終部署到生產(chǎn)環(huán)境中。顯然,此類操作節(jié)省我們?cè)诿看瓮扑椭?,手?dòng)部署代碼的時(shí)間。另一個(gè)典型用例則是:在推動(dòng)了一次代碼審核之后,系統(tǒng)會(huì)為團(tuán)隊(duì)里的其他成員設(shè)置自動(dòng)化的郵件操作。
目前,GitHub Actions處于Beta階段,您可以通過(guò)鏈接:https://github.com/features/actions/signup,來(lái)注冊(cè)并使用其相應(yīng)的功能。在不久的將來(lái),它會(huì)通過(guò)不斷的迭代,來(lái)逐步完善自己。
DeployPlace(https://deployplace.com/)
尚處于起步階段的Deployplace,通過(guò)構(gòu)建各種工具,來(lái)幫助用戶部署自己的軟件產(chǎn)品。無(wú)論用戶所面對(duì)的環(huán)境有多么復(fù)雜,這款工具都能夠在應(yīng)用程序的部署過(guò)程中發(fā)揮不俗的作用。
Deployplace能夠支持Kotlin、Java、以及Scala應(yīng)用程序的部署,而且能夠通過(guò)提供實(shí)時(shí)的編輯器,以方便用戶監(jiān)視和控制軟件部署過(guò)程中涉及到的每一個(gè)步驟。
作為一款實(shí)用的部署工具,DeployPlace通過(guò)支持CI/CD,來(lái)幫助用戶實(shí)現(xiàn)DevOps、以及保障網(wǎng)站的穩(wěn)定性。您只需要添加應(yīng)用程序的CI、以及服務(wù)器的詳細(xì)信息,即可完成相關(guān)的配置工作。此處的CI包括:GitlabCI、CircleCI、TravisCI、BambooCI和Jenkins等。
當(dāng)然,對(duì)于那些不想?yún)⑴c到應(yīng)用程序部署過(guò)程中的開發(fā)人員來(lái)說(shuō),DeployPlace也是非常實(shí)用的。用戶可以僅專注于編寫代碼和開發(fā)程序功能,DeployPlace則可以保證以最高標(biāo)準(zhǔn)來(lái)實(shí)施應(yīng)用的部署。因此,對(duì)于那些希望在部署服務(wù)時(shí)能夠化繁為簡(jiǎn)的DevOps工程師來(lái)說(shuō),DeployPlace絕對(duì)是一款超棒的工具助手。
據(jù)說(shuō),DeployPlace在推出之際會(huì)向前100名用戶提供特別的折扣。因此,您可以訂閱他們的相關(guān)郵件,以獲取發(fā)布信息。
ExBrain(https://exbrain.app/)
ExBrain也是一款能夠幫助開發(fā)人員提高代碼質(zhì)量、改進(jìn)工作能力的新興工具。眾所周知,由于工作內(nèi)容,乃至項(xiàng)目變更的原因,開發(fā)人員需要經(jīng)常更換使用不同的代碼庫(kù)。而熟悉新的代碼庫(kù)卻往往是一項(xiàng)艱巨的任務(wù)。有了ExBrain構(gòu)建工具,開發(fā)人員能夠更全面地了解代碼庫(kù),并盡快找到其對(duì)應(yīng)的適用場(chǎng)景。
實(shí)際上,ExBrain從事的工作是將代碼庫(kù)拆分為較小的塊,并將其轉(zhuǎn)換為閃卡(flashcards)。籍此,您能夠以更為自然的方式,快速地了解代碼庫(kù)中的不同類、方法、以及不同的特性。
此外,通過(guò)ExBrain提供了一種能夠跟蹤已掌握閃卡的方法,您可以在全面掌控代碼庫(kù)的同時(shí),持續(xù)跟蹤其完成進(jìn)度。
因此,為了盡量減少后續(xù)可能產(chǎn)生的各種障礙,對(duì)于那些代碼庫(kù)的新手而言,他們可以通過(guò)花費(fèi)一定的時(shí)間去使用ExBrain的閃卡,來(lái)熟悉目標(biāo)代碼庫(kù)及其模式。
同樣,您可以通過(guò)訂閱他們的相關(guān)郵件,來(lái)獲悉ExBrain的發(fā)布日程,以便及時(shí)地使用上這款功能強(qiáng)大的工具。
QueryPie(https://www.querypie.com/)
類似大家較為熟悉的數(shù)據(jù)庫(kù)處理工具—SQLGate(https://www.sqlgate.com/),QueryPie的設(shè)計(jì)宗旨也是為了讓用戶能夠“像做餡餅一樣容易地”查詢數(shù)據(jù)庫(kù)。
類似于PyCharm和IntelliJ IDEA,QueryPie擁有強(qiáng)大的跨平臺(tái)IDE。用戶可以輕松地將其工作在諸如PostgreSQL、MySQL、MariaDB等數(shù)據(jù)庫(kù)上。因此,您完全可以通過(guò)同一款工具,來(lái)查詢目標(biāo)應(yīng)用程序所連接的不同數(shù)據(jù)庫(kù),而無(wú)需根據(jù)數(shù)據(jù)庫(kù)的不同去調(diào)換工具。
同時(shí),QueryPie也具有其他方面的特性,包括:對(duì)象信息面板、搜索功能、SQL自動(dòng)完成、以及對(duì)于多個(gè)數(shù)據(jù)庫(kù)的聯(lián)合查詢。無(wú)論是數(shù)據(jù)工程師、數(shù)據(jù)管理員、還是后端開發(fā)人員,都能夠通過(guò)QueryPie,來(lái)輕松有效地管控不同復(fù)雜程度的數(shù)據(jù)庫(kù)。
目前,QueryPie已經(jīng)過(guò)對(duì)外發(fā)布,您可以通過(guò)鏈接:https://www.querypie.com/download,來(lái)免費(fèi)下載并使用它。
AutomatedApi(https://automatedapi.com/)
類似上述提到的DeployPlace和ExBrain,AutomatedApi也是一款全新的工具。通過(guò)構(gòu)建后端服務(wù),它能夠協(xié)助用戶在服務(wù)器端自動(dòng)執(zhí)行各種例行、且單調(diào)的任務(wù)。
由于AutomatedApi提供了一種存儲(chǔ)應(yīng)用數(shù)據(jù)的方法,因此您只需要直接調(diào)用和訪問(wèn)數(shù)據(jù)便可,而不必?fù)?dān)心其背后的工作方式。無(wú)需從頭開始創(chuàng)建新的API,用戶完全可以通過(guò)設(shè)置AutomatedApi,即可讓其按需存儲(chǔ)數(shù)據(jù)、并連接到相應(yīng)的服務(wù)上。因此,您可以將更多的時(shí)間花在那些更為重要的其他任務(wù)之上。通過(guò)構(gòu)建RESTful類型的API,AutomatedApi在確保安全的同時(shí),能夠有效地防止數(shù)據(jù)泄露。
此外,為了能夠在客戶端流暢地顯示各類數(shù)據(jù),前端開發(fā)人員可以通過(guò)簡(jiǎn)單的安裝和配置AutomatedApi,來(lái)構(gòu)建應(yīng)用程序及其API,而無(wú)需具備后端開發(fā)人員的技能。
目前,AutomatedApi仍處于封閉的Beta階段,您同樣可以通過(guò)鏈接https://automatedapi.com/Identity/Account/Register,來(lái)獲悉它的最新進(jìn)展。
結(jié)論
通常,業(yè)界許多軟件開發(fā)工具在有針對(duì)性地去解決某類問(wèn)題的同時(shí),往往會(huì)帶來(lái)其本身的復(fù)雜性,并增加開發(fā)人員的技術(shù)學(xué)習(xí)負(fù)擔(dān)。而上述介紹的五類工具,不但能夠讓碼農(nóng)的工作化繁為簡(jiǎn),而且其學(xué)習(xí)曲線也并不“陡峭”。當(dāng)然,其中的一些工具尚未完全發(fā)布、或有待改進(jìn)。讓我們拭目以待,并通過(guò)各種試用與體驗(yàn),讓它們真正成為自己工作流程中的一部分吧。
原文標(biāo)題:Five Upcoming Tools for Software Developers that Will Definitely Rock the Market,作者: Max Shash
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】