程序知識(shí):小程序和應(yīng)用程序的區(qū)別、小程序的九種類型
發(fā)布時(shí)間:2020-10-12閱讀次數(shù):3655
小程序(Applet)和應(yīng)用程序有什么區(qū)別?
以下是應(yīng)用程序與小程序不同的主要方式:
Applet與應(yīng)用程序不同,旨在嵌入到HTML頁(yè)面中。
當(dāng)用戶訪問包含小程序的HTML頁(yè)面時(shí),小程序的代碼將傳輸?shù)接脩舻腜C。應(yīng)用程序不是這種情況。
要顯示小程序,Java虛擬機(jī)(JVM)是必需的。JVM可能是Web瀏覽器插件或獨(dú)立的運(yùn)行時(shí)環(huán)境。在applet的生命周期中,用戶系統(tǒng)上的JVM會(huì)生成applet類型的副本并執(zhí)行多個(gè)功能。應(yīng)用程序不需要JVM。
Applet受Web瀏覽器實(shí)施的嚴(yán)格安全法規(guī)的約束。小程序的隱私性通常被稱為沙箱安全,將小程序等同于一個(gè)在操場(chǎng)上玩耍的孩子,并有嚴(yán)格的指導(dǎo)方針。
應(yīng)用程序是不需要Web瀏覽器的可執(zhí)行應(yīng)用程序。小程序是微型應(yīng)用程序,旨在僅嵌入到HTML網(wǎng)頁(yè)中。如果沒有瀏覽器,它們將無(wú)法運(yùn)行。
Java應(yīng)用程序包具有完整的網(wǎng)絡(luò)和文件系統(tǒng)訪問權(quán)限。小程序無(wú)法訪問本地磁盤和網(wǎng)絡(luò)。他們只被允許訪問特定于瀏覽器的服務(wù)。
小程序的類型
您可以將小程序分為以下幾類:
1.Java小程序
如前所述,applet通常是用Java構(gòu)建的,可以將其插入HTML頁(yè)面以在Internet上使用。在這種情況下,它們通常被稱為插件。在互聯(lián)網(wǎng)的早期,它們經(jīng)常被用來在網(wǎng)站上生成交互式按鈕、清單、表格和其他小動(dòng)畫。
由于在線程序的復(fù)雜性不斷增加以及JavaScript、C++和其他腳本語(yǔ)言的興起,Java小程序最終變得過時(shí)了。到2015年,大多數(shù)瀏覽器開發(fā)人員要么取消了對(duì)Java插件的支持,要么宣布了這樣做的計(jì)劃。在構(gòu)建私有或自定義Web體驗(yàn)(如Intranet)時(shí),它們可能仍然相關(guān)。
2.IFTTT小程序
在IFTTT的上下文中,小程序指的是使用兩個(gè)服務(wù)之間的集成的自動(dòng)化。IFTTT applets由提示和響應(yīng)組成——它們指示Applet開始運(yùn)行,而action表示applet操作的結(jié)果。在IFTTT之初(大約2010年),小程序被稱為自動(dòng)化配方。
小程序現(xiàn)在可以包含多個(gè)操作(“如果這個(gè),那么那個(gè),等等”)和/或依賴檢查(“如果這個(gè),那么那個(gè)”)。IFTTT通過使用標(biāo)準(zhǔn)編程邏輯使某些SaaS觸發(fā)的事件能夠觸發(fā)另一個(gè)云服務(wù)中的響應(yīng)來實(shí)現(xiàn)這一點(diǎn)。通過創(chuàng)建這些觸發(fā)器和操作,非技術(shù)最終用戶可以自動(dòng)執(zhí)行普通任務(wù)。
與Java小程序不同,IFTTT小程序的工作是完全黑盒化的,內(nèi)部類、函數(shù)、方法、對(duì)象等是不可見的。這使非技術(shù)用戶更容易訪問它們。
3.圣杯小程序
Grail是一種免費(fèi)、跨平臺(tái)、開源的Web瀏覽器,使用Python開發(fā)。它支持所有標(biāo)準(zhǔn)的Internet協(xié)議和類似于Netscape或Internet Explorer的功能。該瀏覽器允許創(chuàng)建Python小程序。因此,Grail小程序只是駐留在服務(wù)器中并在客戶端計(jì)算機(jī)上啟動(dòng)的Python代碼片段。
如果HTML頁(yè)面提到Python類,Grail可以立即在客戶端系統(tǒng)上下載并執(zhí)行Python代碼(applet)。Grail applet的目標(biāo)與Java applet的目標(biāo)相同。
4.本地小程序
這是一種特定于Java小程序的小程序。本地小程序創(chuàng)建并保存在本地系統(tǒng)上。當(dāng)HTML文件包含本地小程序時(shí),網(wǎng)頁(yè)不需要從Internet獲取數(shù)據(jù)。代碼中的文件名或路徑名指定或定義它。
5.遠(yuǎn)程小程序
不同的開發(fā)人員(而不是用戶)創(chuàng)建和開發(fā)遠(yuǎn)程小程序。它駐留在連接到Internet的遠(yuǎn)程計(jì)算機(jī)上或可在該計(jì)算機(jī)上訪問。主系統(tǒng)必須連接到互聯(lián)網(wǎng)才能在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行小程序。要識(shí)別和加載遠(yuǎn)程applet,用戶需要知道applet的統(tǒng)一資源定位器(URL)。
6.基于網(wǎng)絡(luò)和移動(dòng)的小程序
當(dāng)通過Web瀏覽器使用而無(wú)需重新編譯程序時(shí),小程序可能會(huì)發(fā)生很大變化。這是通過HTML實(shí)現(xiàn)的,包括較新的版本,如HTML5。當(dāng)從瀏覽器的HTML頁(yè)面內(nèi)部調(diào)用程序時(shí),從HTML代碼內(nèi)部發(fā)送多個(gè)參數(shù)是可行的。此方法可以跨多個(gè)網(wǎng)站對(duì)單個(gè)小程序進(jìn)行簡(jiǎn)單定制。
移動(dòng)設(shè)備以截然不同的方式使用小程序。許多設(shè)備都具有一個(gè)軟件基礎(chǔ),使小程序能夠獨(dú)立于其他應(yīng)用程序運(yùn)行。該技術(shù)提供與典型解決方案相同級(jí)別的安全性和可移植性,而無(wú)需單獨(dú)的軟件容器。
7.簽名小程序
已簽名的小程序有一個(gè)驗(yàn)證過程,瀏覽器必須使用遠(yuǎn)程、獨(dú)立的證書頒發(fā)機(jī)構(gòu)服務(wù)器來驗(yàn)證該過程。一旦簽名被驗(yàn)證并且本系統(tǒng)的用戶已經(jīng)批準(zhǔn),簽名的applet可以獲得進(jìn)一步的許可并且變得等同于傳統(tǒng)的獨(dú)立應(yīng)用程序。這樣做的理由是小程序的創(chuàng)建者已經(jīng)被識(shí)別,并將對(duì)任何故意傷害負(fù)責(zé)。簽名的小程序在設(shè)計(jì)上是安全的,但它們可能會(huì)獲得對(duì)用戶系統(tǒng)的不正當(dāng)訪問權(quán)限。
8.自簽名小程序
自簽名小程序已由開發(fā)人員簽名。如果程序員不受信任,他們可能構(gòu)成安全風(fēng)險(xiǎn)。這就是當(dāng)自簽名小程序請(qǐng)求授權(quán)時(shí)瀏覽器會(huì)發(fā)出警告的原因。通常,這些證書僅在發(fā)布前的開發(fā)階段使用。大多數(shù)小程序創(chuàng)建者會(huì)要求第三方簽名以確保小程序的消費(fèi)者安全。
9.未簽名的小程序
由于沒有授權(quán)實(shí)體,未簽名的小程序有嚴(yán)重的局限性。例如,他們無(wú)法訪問本地文件系統(tǒng)、系統(tǒng)屬性、本機(jī)代碼或外部命令。applet的框架將另外包含一個(gè)標(biāo)頭,用于標(biāo)識(shí)applet的不可信任性。未簽名的小程序可能會(huì)嘗試下載惡意軟件。但是,他們無(wú)法執(zhí)行攻擊,只能將這些文件保存在臨時(shí)文件存儲(chǔ)文件夾中。
靈集科技打造本地生活類小程序
十種軟件開發(fā)模型整理
軟件開發(fā)公司的UI/UX設(shè)計(jì)師是什么?有啥區(qū)別?
云醫(yī)互聯(lián)SASS解決方案
九大類企業(yè)管理軟件助力企業(yè)數(shù)字化轉(zhuǎn)型
智慧醫(yī)療:創(chuàng)新驅(qū)動(dòng),引領(lǐng)醫(yī)療健康未來
企業(yè)為什么要做定制化的軟件,找哪家公司好?
內(nèi)蒙古網(wǎng)站建設(shè),打開大眾對(duì)您的“第一印象”
開發(fā)企業(yè)官網(wǎng)有什么作用??jī)?nèi)蒙古網(wǎng)站建設(shè)總結(jié)了兩點(diǎn)
全面分析小程序商城