Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
ava IDE 工具提供了大量的方法來根據你的獨特需求和偏好創建一個編程環境。
? 來源:linux.cn ? 作者:Daniel Oh ? 譯者:Xingyu.Wang ?
(本文字數:2583,閱讀時長大約:4 分鐘)
通過簡化程序員的工作, Java 框架可以使他們的生活更加輕松。這些框架是為了在各種服務器環境上運行各種應用程序而設計開發的;這包括解析注解、掃描描述符、加載配置以及在 Java 虛擬機(JVM)上啟動實際的服務等方面的動態行為。控制這么多的任務需要更多的代碼,這就很難降低內存占用、加快新應用的啟動時間。無論如何,據 TIOBE 指數 ,在當今使用的編程語言中 Java 一直排名前三,擁有著 700 萬到 1000 萬開發者的社區。
有這么多用 Java 編寫的代碼,這意味著有一些很好的集成開發環境(IDE)可供選擇,可以為開發人員提供有效地編寫、整理、測試和運行 Java 應用程序所需的所有工具。
下面,我將按字母順序介紹五個我最喜歡的用于編寫 Java 的開源 IDE 工具,以及如何配置它們的基本功能。
BlueJ 為 Java 初學者提供了一個集成的教育性 Java 開發環境。它也可以使用 Java 開發工具包(JDK)開發小型軟件。各種版本和操作系統的安裝方式都可以在 這里 找到。
在筆記本電腦上安裝 BlueJ IDE 后,啟動一個新項目,點擊 項目(Project)菜單中的 新項目(New Project),然后從創建一個 新類(New Class)開始編寫 Java 代碼。生成的示例方法和骨架代碼如下所示:
BlueJ IDE screenshot
BlueJ 不僅為學校的 Java 編程課的教學提供了一個交互式的圖形用戶界面(GUI),而且可以讓開發人員在不編譯源代碼的情況下調用函數(即對象、方法、參數)。
Eclipse 是桌面計算機上最著名的 Java IDE 之一,它支持 C/C++、JavaScript 和 PHP 等多種編程語言。它還允許開發者從 Eclipse 市場中的添加無窮無盡的擴展,以獲得更多的開發便利。 Eclipse 基金會 提供了一個名為 Eclipse Che 的 Web IDE,供 DevOps 團隊在多個云平臺上用托管的工作空間創建出一個敏捷軟件開發環境。
可以在這里下載 ;然后你可以創建一個新的項目或從本地目錄導入一個現有的項目。在 本文 中找到更多 Java 開發技巧。
Eclipse IDE screenshot
IntelliJ IDEA CE(社區版) 是 IntelliJ IDEA 的開源版本,為 Java、Groovy、Kotlin、Rust、Scala 等多種編程語言提供了 IDE。IntelliJ IDEA CE 在有經驗的開發人員中也非常受歡迎,可以用它來對現有源碼進行重構、代碼檢查、使用 JUnit 或 TestNG 構建測試用例,以及使用 Maven 或 Ant 構建代碼。可在 這里 下載它。
IntelliJ IDEA CE 帶有一些獨特的功能;我特別喜歡它的 API 測試器。例如,如果你用 Java 框架實現了一個 REST API,IntelliJ IDEA CE 允許你通過 Swing GUI 設計器來測試 API 的功能。
IntelliJ IDEA screenshot
IntelliJ IDEA CE 是開源的,但其背后的公司也提供了一個商業的終極版??梢栽?這里 找到社區版和終極版之間的更多差異。
NetBeans IDE 是一個 Java 的集成開發環境,它允許開發人員利用 HTML5、JavaScript 和 CSS 等支持的 Web 技術為獨立、移動和網絡架構制作模塊化應用程序。NetBeans IDE 允許開發人員就如何高效管理項目、工具和數據設置多個視圖,并幫助他們在新開發人員加入項目時使用 Git 集成進行軟件協作開發。
這里 下載的二進制文件支持 Windows、macOS、Linux 等多個平臺。在本地環境中安裝了 IDE 工具后,新建項目向導可以幫助你創建一個新項目。例如,向導會生成骨架代碼(有部分需要填寫,如 // TODO 代碼應用邏輯在此),然后你可以添加自己的應用代碼。
VSCodium 是一個輕量級、自由的源代碼編輯器,允許開發者在 Windows、macOS、Linux 等各種操作系統平臺上安裝,是基于 Visual Studio Code 的開源替代品。其也是為支持包括 Java、C++、C#、PHP、Go、Python、.NET 在內的多種編程語言的豐富生態系統而設計開發的。Visual Studio Code 默認提供了調試、智能代碼完成、語法高亮和代碼重構功能,以提高開發的代碼質量。
在其 資源庫 中有很多下載項。當你運行 Visual Studio Code 時,你可以通過點擊左側活動欄中的“擴展”圖標或按下 Ctrl+Shift+X 鍵來添加新的功能和主題。例如,當你在搜索框中輸入 “quarkus” 時,就會出現 Visual Studio Code 的 Quarkus 工具,該擴展允許你 在 VS Code 中使用 Quarkus 編寫 Java :
VSCodium IDE screenshot
Java 作為最廣泛使用的編程語言和環境之一,這五種只是 Java 開發者可以使用的各種開源 IDE 工具的一小部分。可能很難知道哪一個是正確的選擇。和以往一樣,這取決于你的具體需求和目標 —— 你想實現什么樣的工作負載(Web、移動應用、消息傳遞、數據交易),以及你將使用 IDE 擴展功能部署什么樣的運行時(本地、云、Kubernetes、無服務器)。雖然豐富的選擇可能會讓人不知所措,但這也意味著你可能可以找到一個適合你的特殊情況和偏好的選擇。
你有喜歡的開源 Java IDE 嗎?請在評論中分享吧。
via: opensource.com
作者: Daniel Oh 選題: lujun9972 譯者: wxy 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
知道關于HTML5開發工具大家了解多少,如今參加HTML5培訓的小伙伴已經知道先看該機構的HTML5學習路線圖了解大致內容了,但是對于HTML5開發工具的學習與使用小伙伴又了解多少呢?本篇文章扣丁學堂小編就給讀者分享一下HTML5培訓必備的HTML5開發工具。
扣丁學堂HTML5培訓必備的HTML5開發工具:
1、hbuilder
hbuilder是DCloud推出的一款支持HTML5的Web開發IDE??欤荋Builder的最大優勢,通過完整的語法提示和代碼輸入法、代碼塊等,大幅提升HTML、js、css的開發效率。同時,它還包括最全面的語法庫和瀏覽器兼容性數據。
2、代碼編輯器(Notepad++)
Notepad++ 程序員必備的文本編輯器,軟件小巧高效,支持27種編程語言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等,推薦各位下載使用。Notepad++ 可完美地取代微軟的記事本。
3、Dreamweaver CS6
Dreamweaver CS6 是世界頂級軟件廠商Adobe推出的一套擁有可視化編輯界面,用于制作并編輯網站和移動應用程序的網頁設計軟件。由于它支持代碼、拆分、設計、實時視圖等多種方式來創作、編寫和修改網頁,對于初級人員,你可以無需編寫任何代碼就能快速創建Web頁面。其成熟的代碼編輯工具更適用于Web開發高級人員的創作!
CS6新版本使用了自適應網格版面創建頁面,在發布前使用多屏幕預覽審閱設計,可大大提高工作效率。改善的 FTP 性能,更高效地傳輸大型文件?!皩崟r視圖”和“多屏幕預覽”面板可呈現 HTML5 代碼,更能夠檢查自己的工作。
4、高級文本編輯器(Sublime Text)
Sublime Text很贊的代碼編輯器,界面設置非常人性化,左邊是代碼縮略圖,右邊是代碼區域,你可以在左邊的代碼縮略圖區域輕松定位程序代碼的位置,高亮色彩功能非常方便編程工作。
5、MyEclipse
MyEclipse,是十分優秀的用于開發Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。
6、EditPlus(文本編輯器)
EditPlus是一款為Internet準備的、運行于Windows下的32位文本、html編輯器, 同時也是程序員們非常喜愛的編輯器。你完全可以用它代替Windows筆記本,它也為許多網頁高手和程序員提供便利。
7、Adobe Edge
目前還處于預覽階段的Adobe Edge 是用HTML5、CSS、Java開發動態互動內容的設計工具。內容可以同時兼容移動設備和桌面電腦。Edge的一個重要功能是Web工具包界面,方便確保頁面在不同瀏覽器中的架構一致性,此外Edge還將整合TypeKit這樣的字體服務。
動畫和圖形可以添加到HTML元素中,程序也能通過Edge自身的代碼片段庫或者Java代碼進行擴展。動畫可以在獨立的時間線上進行嵌套,還能實現互動功能。符合可以服用并通過API和代碼片段控制。通過Edge設計的內容可以兼容iOS和Android設備,也可以運行在火狐、Chrome、Safari和IE9等主流瀏覽器。
8、Adobe Dreamweaver CS6
Adobe Dreamweaver CS6作為一個web設計軟件,提供了對HTML網站和移動程序的可視化編輯界面。其Fluid Grid 排版系統整合CSS樣式表功能,提供自適應版面的跨平臺兼容性。開發者可以完全實現web設計的可視化操作,無需為代碼所困。
用戶不但還能在Live View中預覽,還提供多屏幕預覽功能。開發者可以通過MultiScreen預覽面板查看HTML5內容的渲染效果。Live View通過WebKit渲染引擎支持HTML5。
9、DevExtreme性能最優的跨平臺移動應用開發框架
DevExtreme是專為你的移動世界精心準備的,一個跨平臺開發的HTML5/JS框架,可以構建iOS、Android、Tizen和Windows Phone 8應用程序,是Visual Studio開發人員開發跨平臺移動產品的優選工具。
10、Edge Animate CCEdge Animate CC可以讓你很輕松的為現代Web設計交互式和生動地HTML內容。
11、mobl
mobl 是一個新的開源的編程語言,主要用于加速手機應用的開發,mobl可方便構建手機Web應用程序,包括 iOS、Android 和其他支持HTML5 技術的手機。
Mobl使用一種與Java非常類似的腳本語言實現了靜態類型的推斷語言。該語言擁有以下頂級結構: 實體(entities)、類型(types)、函數(functions)、控件(controls)、屏幕(screens)、樣式(styles )和設備(services)。實體是在本地存儲中持久化的數據元素,而類型是一種供我們使用的不穩定的數據。函數與那些定義在Java以及能夠調用Java代碼的語言中的函數類似等。
12、Lungo 最佳HTML5移動框架
Lungo是一款基于HTML5的開發框架,專為想要設計、構建和共享跨設備應用的開發者而準備。支持開放的Web標準,如HTML5、CSS3和Java;支持手機、電視以及桌面設備。擁有強大的Java API:開發webAPP應用有很多種方式,而不是一味的優化。Lungo提供了一個強大的API,這樣你可以完全掌控自己的webAPP應用程序。
以上就是小編簡單為大家介紹的扣丁學堂HTML5培訓必備的HTML5開發工具,希望對HTML5開發技術感興趣的小伙伴多多了解。對HTML5開發技術感興趣的小伙伴可以參加扣丁學堂的HTML5培訓,扣丁學堂不僅有專業的老師和與時俱進的課程體系,還有大量的HTML5視頻教程供學員觀看學習,想要HTML5視頻教程的小伙伴快聯系扣丁學堂的咨詢老師領取吧。扣丁學堂H5技術交流群:559883758。
【關注微信公眾號獲取更多學習資料】
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。為了擴展軟件的功能,Adobe公司為開發者提供了兩種方式來增加軟件的功能:分別是插件(Plugin)和擴展(Extension)。去年利用官方提供的SDK開發過兩款Premiere插件,分別用于導入自定義格式的多媒體文件和視頻流預覽。近來體驗了一下Adobe Extension的開發。
Adobe Plugin一般用于提供更靠近底層的功能。官方出于效率的考慮,提供的插件SDK是基于C++語言的。而Adobe Extension則偏向與提供上層應用的擴展,在Adobe CS時代是采用的Flash形式實現的。在Adobe CC時代則提供了HTML5實現,這使得開發者們可以接口HTML5, CSS3, Javascript甚至是NodeJS來開發。因為Adobe在PremierePro里面嵌入了CEF,可以高效的解析渲染HTML5、運行Nodejs程序。而Nodejs則能實現系統功能的調用,簡直不要太叼!在這篇文章中,我大概總結了一下使用HTML5來開發一款Adobe擴展的心路歷程。
我們要做的一款擴展非常簡單,如下圖所示:
這是國外一家知名的視頻素材交易網站Pond5開發的一款PremierePro擴展,它可以讓用戶在Pr中登陸網站、下載預覽素材、購買高清素材、自動導入視頻或自動替換視頻。使得用戶無需額外打開瀏覽器登陸網站操作,極大的提高了用戶的使用體驗。類似的還有shutterstock開發的插件:
Adobe官方基于eclipse推出了一個用于開發Adobe Html5 Extension的IDE。因此,我們按如下流程先來配置下開發環境:
下載 Eclipse,最好是3.6或更高版本,以及Extension Builder
安裝Adobe Premiere Pro CC 2014/2015.
配置elicpse的“target application”和"Service Manager"
打開調試模式:在注冊表中添加 'PlayerDebugMode'字段
配置結束,到這里可以利用eclipse生成extension的模板工程了。生成的模板工程非常簡單,面板里面只有一個默認的按鈕:
manifest.xml文件
Adobe Html5 Extension的開發,最重要的一個文件就是manifest.xml。這個文件描述了這個extension的基本信息,以便Adobe宿主程序能夠正常識別加載。其大體內容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ExtensionManifest ExtensionBundleId="com.example.helloworld" ExtensionBundleName="Hello world" ExtensionBundleVersion="1.0" Version="4.0">
<ExtensionList>
<Extension Id="com.example.helloworld.extension" Version="1.0"/>
</ExtensionList>
<ExecutionEnvironment>
<HostList>
<Host Name="PHXS" Version="[14.0,14.9]"/>
</HostList>
<LocaleList>
<Locale Code="All"/>
</LocaleList>
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="4.0"/>
</RequiredRuntimeList>
</ExecutionEnvironment>
<DispatchInfoList>
<Extension Id="com.example.helloworld.extension">
<DispatchInfo>
<Resources>
<MainPath>./index.html</MainPath>
</Resources>
<UI>
<Type>Panel</Type>
<Menu>Hello world</Menu>
<Geometry>
<Size>
<Height>400</Height>
<Width>400</Width>
</Size>
</Geometry>
</UI>
</DispatchInfo>
</Extension>
</DispatchInfoList>
</ExtensionManifest>
其中,BundleName, BundleId, BundleVersion由開發者來定,一般就是按照正常的版本迭代來確定。最重要的是HostList和RequiredRuntimeList這兩個標簽的內容。HostList里面確定了這個extension支持哪些宿主程序(如PremierePro, After Effects等等)。下面的代碼指明了多個宿主程序都可以加載:
<HostList>
<Host Name="PPRO" Version="[7.0, 10.0]" />
<Host Name="PHSP" Version="[14.0, 16.0]" />
<Host Name="PHXS" Version="[14.0, 14.9]" />
</HostList>
這里只支持Photoshop Extended,其Host ID對應為PHXS,其他宿主程序的Host ID及版本如下:
注意到Version使用了一個方括號的形式[14.0, 14.9],這表明這個extension支持版本14.0-14.9的Photoshop Extended ,高于這個版本或者低于這個版本的Photoshop Extended是不會加載這個extension的。但是,如果要指定某版本以上的所有版本都支持該如何指定?比如要支持2014以上的PremierePro CC,如何指定這個Version呢?只寫上最低版本號即可:
<HostList>
<Host Name="PPRO" Version="7.0" />
<Host Name="PHSP" Version="14.0" />
<Host Name="PHXS" Version="14.0" />
<Host Name="IDSN" Version="9.0"/>
<Host Name="ILST" Version="17.0" />
</HostList>
另外,就是RequiredRuntimeList這個標簽了。這個標簽指定了運行時的CEP版本。所謂的CEP是Common Extensibility Platform的簡稱,它提供了一個核心服務集,便于開發者執行Extendscript代碼、探查宿主程序的環境變量、處理extension與host之間發送的事件。在之前這個服務集叫做 Creative Suite Extensible Services,簡稱CSXS。因此,在一些配置文件中仍然可以看到CSXS這個縮寫。CEP最初版本為4.x,發展至今已經有5個大版本了,最新的版本為8.x,支持最新的Adobe CC 2018宿主程序。
如上圖,如果我們要支持初代CC版本的宿主程序的話,RequiredRuntime的Version就要設置為4.0。否則是無法正常加載extension的。此外,如果想在擴展中訪問文件系統的話,還得指定額外一些參數:
<CEFCommandLine>
<Parameter>--allow-file-access</Parameter>
<Parameter>--allow-file-access-from-files</Parameter>
<Parameter>--enable-nodejs</Parameter>
</CEFCommandLine>
禁用簽名驗證
我們在開發的時候,需要隨時調整extension的代碼。而Adobe宿主程序對于那些沒有簽名的extension,是置之不理不會加載的。因此,我們需要把調試模式打開,這樣開發的時候就不必對擴展進行簽名了:
在mac上,打開~/Library/Preferences/com.adobe.CSXS.6.plist這個文件并增加一行,鍵名為PlayerDebugMode,類型為 "String",值設置為"1".
在Windows上, 打開注冊表項:HKEY_CURRENT_USER/Software/Adobe/CSXS.6,增加一項名為PlayerDebugMode, 類型為 "String", 值為 "1"的鍵值對.
注意:如果宿主程序的版本不同,對應的文件可能也不同。比如CC2017,就要把上面對應部分改成 "CSXS.7"
chrome調試
chrome調試工具有助于觀察extension的輸出、探查extension的DOM結構,對于調試起著非常大的幫助。啟用chrome調試工具也很簡單,在extension文件夾的根目錄創建一個名為.debug的文件,寫入下述內容:
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionList>
<Extension Id="com.pond5.marketplace">
<HostList>
<Host Name="PHXS" Port="8000"/>
<Host Name="IDSN" Port="8001"/>
<Host Name="AICY" Port="8002"/>
<Host Name="ILST" Port="8003"/>
<Host Name="PPRO" Port="8004"/>
<Host Name="PRLD" Port="8005"/>
<Host Name="FLPR" Port="8006"/>
<Host Name="AUDT" Port="8007"/>
</HostList>
</Extension>
</ExtensionList>
這個列表說明了調試不同的宿主程序時用的端口不一樣。以Pond5為例,其.debug文件內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionList>
<Extension Id="com.pond5.ppro">
<HostList>
<!-- Premiere -->
<Host Name="PPRO" Port="8089" />
</HostList>
</Extension>
</ExtensionList>
指定調試Premiere的extension時,端口為8089。如下圖所示:
CEP緩存清理
開發的時候,有可能需要禁止CEF對web內容緩存,可以直接手動刪除掉如下位置中extension對應的文件夾:
Windows: C:\Users\USERNAME\AppData\Local\Temp\cep_cache\
Mac: /Users/USERNAME/Library/Logs/CSXS/cep_cache
當然,也有Adobe的開發者說指定CEF參數<Parameter>--disable-application-cache</Parameter>來禁用CEF緩存,不過我嘗試過好像不起作用。
Extension文件夾
Extension存放的位置有分兩種,系統范圍的和用戶個人的。系統范圍安裝Extension的話,Extension文件會存放在如下位置:
On Mac,: /Library/Application Support/Adobe/CEP/extensions
On Windows: C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
這樣,當前系統的所有用戶都可以加載這個Extension了。也可以僅僅安裝給當前用戶使用,其位置如下:
On Mac: ~/Library/Application Support/Adobe/CEP/extensions
On Windows: C:\AppData\Roaming\Adobe\CEP\extensions
簽名打包
發布Extension的時候,需要對整個包進行簽名。這里需要用到ZXPSignCmd這個工具,在官方網站上可以下載。首先,要進行簽名我們需要一個數字證書。這個證書我們可以從第三方證書簽發機構購買,這需要一定的經費。也可以做一個自簽名的證書,對extension進行簽名。我們就按照后面一種方式來走個流程:
./ZXPSignCmd -selfSignedCert <countryCode> <stateOrProvince> <organization> <commonName> <password> <outputPath.p12>
./ZXPSignCmd -selfSignedCert US Washington myOrganization "John Smith" myPassword myCertificate.p12
這樣會在當前目錄下生成一個自簽名證書,然后我們可以用這個證書簽名打包了:
./ZXPSignCmd -sign <inputDirectory> <outputZxp> <p12> <p12Password>
./ZXPSignCmd -sign HelloWorld/ HelloWorld.zxp myCertificate.p12 myPassword
ZXPSignCmd工具簽名時會在extension目錄下生成一個META-INF文件,里面存放這次簽名的信息。然后,工具會將整個目錄打包壓縮成一個*.zxp文件。這就是我們最終需要發布的擴展文件了。^_^
Pond5和Shutterstock的套路分析
通過仔細分析Pond5和shutterstock的實現,我們可以總結下這種類型的擴展的一般執行邏輯:
(1)在宿主程序中打開extension面板,通過”窗口-擴展“可以找到已加載的擴展
(2)Extension的腳本會分析用戶是否是第一次使用。如果是第一次,讓用戶選擇視頻素材要保存的位置,這個一般通過彈出對話框實現。用戶選擇的位置信息,一般通過xml文件持久化存在用戶家目錄中。用戶如果不是第一次使用擴展的話,就直接加載家目錄中的xml文件解析了。
(3)用戶點擊了某個視頻素材,開啟下載。這個過程一般可通過nodejs實現。不過,要設置好下載回調函數。
(4)下載成功后執行回調函數,把下載好的視頻文件導入到宿主程序中。這個步驟則是調用extendscript腳本實現。具體腳本編寫可以參考這里。
參考這個套路,實現了類似Pond5和Shutterstock的Adobe Extension:
http://labs.adobe.com/technologies/extensionbuilder3/
http://davidderaedt.github.io/CC-Extension-Builder-for-Brackets/
https://www.adobe.com/exchange/em_download/
https://github.com/Adobe-CEP/Samples
https://forums.adobe.com/thread/2010424
https://forums.adobe.com/message/8133214#8133214
https://blogs.adobe.com/cssdk/2014/06/adobe-extension-builder-and-creative-cloud-2014.html
http://www.adobe.com/devnet/creativesuite/samples.html
http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/cs-extension-builder/pdfs/CC_Extension_SDK.pdf
http://www.adobe.com/devnet/creativesuite/articles/a-short-guide-to-HTML5-extensions.html
http://www.adobe.com/devnet/creativesuite/articles/hybrid-extensions.html
http://labs.adobe.com/downloads/extensionbuilder3.html
作者:24K純開源
出處:http://www.cnblogs.com/csuftzzk/
*請認真填寫需求信息,我們會在24小時內與您取得聯系。