零基礎(chǔ)學(xué)編程:10 分鐘寫個下載軟件(下載編程的軟件)
先說要求:
1、不超過 10 句代碼。
2、無任何復(fù)雜步驟,不需要手動下載配置任何東西。
3、一鍵生成獨立 EXE 文件,打包后僅 2MB 多。
4、調(diào)用強大的下載組件 aria2 ,自動優(yōu)化配置,自動設(shè)置 UPnP 端口轉(zhuǎn)發(fā)。
5、調(diào)用漂亮且容易使用的 AriaNg 實現(xiàn)前端界面。
首先,打開 aardio 創(chuàng)建空白工程:
粘貼以下代碼到 main.aardio 文件:
import win.ui;var winform = win.form(text="aria下載器");//啟動 aria2 import process.aria2;process.aria2().startServer(); //創(chuàng)建瀏覽器import web.view;var wb = web.view(winform); //打開網(wǎng)頁前端import web.ariaNg; wb.go( web.ariaNg.defaultUrl );//顯示主窗口winform.show(3);win.loopMessage();
點擊『保存 Ctrl S』按鈕:
然后按『運行 F5 』按鈕,就可以自動配置好擴展庫,并且啟動程序。
運行效果:
按 F7 發(fā)布為 EXE 文件。
注意 aria2 要小寫,Aria2 是錯的。aardio 兼容 64 位 或 32 位 aria2 ,可以任意替換不需要更改代碼。
關(guān)于發(fā)布 EXE,說一件小事。
因為有用戶問小狼毫不支持 ImTip 的事,我就去看了一下發(fā)現(xiàn)小狼毫項目主頁的最新版已經(jīng)解決了這個問題。
本想下載試一下,但下載時誤報被干掉了。然后下載到信任目錄,安裝時又報安裝的 EXE 是病毒,太累就沒再弄了。
網(wǎng)上可以看到很多不同編程語言開發(fā)的軟件都大量出現(xiàn)類似的誤報問題。就不說別的,著名的界面庫 Sciter 官網(wǎng)上下載 Sciter.dll 好幾次都被當病毒干掉,這還只是 DLL 文件,何況你是 EXE ?
這個問題困擾了很多開發(fā)者,但解決這個問題并不難。
容易讓人迷惑的地方:
不同編程語言生成的 EXE 出現(xiàn)誤報的規(guī)律可能不同,例如 C 寫個空白程序可能真沒誤報 —— 就好比一個人不穿衣服自然沒人懷疑他口袋里有什么。
現(xiàn)在有很多基于虛擬機的語言生成 EXE 自然不能去對比 C 寫的裸 EXE,誤報會更早出現(xiàn) —— 但這并不是壞事。
無論什么編程語言,只要實現(xiàn)了一定的功能,只要有了那么一點點用戶量,不會需要太久,誤報就來了。
舉個實際的例子,如果你用 C 寫個 WubiLex,ImTip 你還能不去過白,不發(fā)生誤報嗎?這是不可能的!
但 aardio 寫的 WubiLex ,即使有開機自啟、管理權(quán)限、替換系統(tǒng)文件這些功能 —— 仍然可以通過系統(tǒng)殺毒軟件的檢測,安全無誤報。
這很簡單。
可以看看 aardio 開始頁的教程,提交過白操作非常簡單。
提交以后還誤報?改點代碼再提交一下,基本都能過。
一般只要過系統(tǒng)自帶的殺毒軟件就足夠了。
不要介意在掃毒平臺上看到某個很少人用的殺毒軟件的出現(xiàn)誤報了,除了程序員自己,或者這些掃毒平臺,普通用戶很少有動力折騰這些殺毒軟件了。
在軟件主頁寫很長的誤報聲明,卻不去做一下簡單的提交清除誤報,這基本上只會把普通用戶嚇跑。
如果只是自用那就更簡單,aardio 生成 EXE 會自動設(shè)置信任路徑,不會有這些問題。