欢迎访问灵集科(kē)技有(yǒu)限公司
0471-4953016 nmgjoin@sina.com

程序知识:小(xiǎo)程序和应用(yòng)程序的區(qū)别、小(xiǎo)程序的九种类型

发布时间:2024年02月28日    阅读次数:304

  小(xiǎo)程序(Applet)和应用(yòng)程序有(yǒu)什么區(qū)别?


  以下是应用(yòng)程序与小(xiǎo)程序不同的主要方式:


  Applet与应用(yòng)程序不同,旨在嵌入到HTML页面中。


  当用(yòng)户访问包含小(xiǎo)程序的HTML页面时,小(xiǎo)程序的代码将传输到用(yòng)户的PC。应用(yòng)程序不是这种情况。


  要显示小(xiǎo)程序,Java虚拟机(JVM)是必需的。JVM可(kě)能(néng)是Web浏览器插件或独立的运行时环境。在applet的生命周期中,用(yòng)户系统上的JVM会生成applet类型的副本并执行多(duō)个功能(néng)。应用(yòng)程序不需要JVM。


  Applet受Web浏览器实施的严格安全法规的约束。小(xiǎo)程序的隐私性通常被称為(wèi)沙箱安全,将小(xiǎo)程序等同于一个在操场上玩耍的孩子,并有(yǒu)严格的指导方针。


  应用(yòng)程序是不需要Web浏览器的可(kě)执行应用(yòng)程序。小(xiǎo)程序是微型应用(yòng)程序,旨在仅嵌入到HTML网页中。如果没有(yǒu)浏览器,它们将无法运行。


  Java应用(yòng)程序包具有(yǒu)完整的网络和文(wén)件系统访问权限。小(xiǎo)程序无法访问本地磁盘和网络。他(tā)们只被允许访问特定于浏览器的服務(wù)。


小(xiǎo)程序和应用(yòng)程序的區(qū)别


  小(xiǎo)程序的类型


  您可(kě)以将小(xiǎo)程序分(fēn)為(wèi)以下几类:


  1.Java小(xiǎo)程序


  如前所述,applet通常是用(yòng)Java构建的,可(kě)以将其插入HTML页面以在Internet上使用(yòng)。在这种情况下,它们通常被称為(wèi)插件。在互联网的早期,它们经常被用(yòng)来在网站上生成交互式按钮、清单、表格和其他(tā)小(xiǎo)动画。


  由于在線(xiàn)程序的复杂性不断增加以及JavaScript、C++和其他(tā)脚本语言的兴起,Java小(xiǎo)程序最终变得过时了。到2015年,大多(duō)数浏览器开发人员要么取消了对Java插件的支持,要么宣布了这样做的计划。在构建私有(yǒu)或自定义Web體(tǐ)验(如Intranet)时,它们可(kě)能(néng)仍然相关。


  2.IFTTT小(xiǎo)程序


  在IFTTT的上下文(wén)中,小(xiǎo)程序指的是使用(yòng)两个服務(wù)之间的集成的自动化。IFTTT applets由提示和响应组成——它们指示Applet开始运行,而action表示applet操作的结果。在IFTTT之初(大约2010年),小(xiǎo)程序被称為(wèi)自动化配方。


  小(xiǎo)程序现在可(kě)以包含多(duō)个操作(“如果这个,那么那个,等等”)和/或依赖检查(“如果这个,那么那个”)。IFTTT通过使用(yòng)标准编程逻辑使某些SaaS触发的事件能(néng)够触发另一个云服務(wù)中的响应来实现这一点。通过创建这些触发器和操作,非技术最终用(yòng)户可(kě)以自动执行普通任務(wù)。


  与Java小(xiǎo)程序不同,IFTTT小(xiǎo)程序的工作是完全黑盒化的,内部类、函数、方法、对象等是不可(kě)见的。这使非技术用(yòng)户更容易访问它们。


  3.圣杯小(xiǎo)程序


  Grail是一种免费、跨平台、开源的Web浏览器,使用(yòng)Python开发。它支持所有(yǒu)标准的Internet协议和类似于Netscape或Internet Explorer的功能(néng)。该浏览器允许创建Python小(xiǎo)程序。因此,Grail小(xiǎo)程序只是驻留在服務(wù)器中并在客户端计算机上启动的Python代码片段。


  如果HTML页面提到Python类,Grail可(kě)以立即在客户端系统上下载并执行Python代码(applet)。Grail applet的目标与Java applet的目标相同。


  4.本地小(xiǎo)程序


  这是一种特定于Java小(xiǎo)程序的小(xiǎo)程序。本地小(xiǎo)程序创建并保存在本地系统上。当HTML文(wén)件包含本地小(xiǎo)程序时,网页不需要从Internet获取数据。代码中的文(wén)件名或路径名指定或定义它。


  5.遠(yuǎn)程小(xiǎo)程序


  不同的开发人员(而不是用(yòng)户)创建和开发遠(yuǎn)程小(xiǎo)程序。它驻留在连接到Internet的遠(yuǎn)程计算机上或可(kě)在该计算机上访问。主系统必须连接到互联网才能(néng)在遠(yuǎn)程计算机上执行小(xiǎo)程序。要识别和加载遠(yuǎn)程applet,用(yòng)户需要知道applet的统一资源定位器(URL)。


  6.基于网络和移动的小(xiǎo)程序


  当通过Web浏览器使用(yòng)而无需重新(xīn)编译程序时,小(xiǎo)程序可(kě)能(néng)会发生很(hěn)大变化。这是通过HTML实现的,包括较新(xīn)的版本,如HTML5。当从浏览器的HTML页面内部调用(yòng)程序时,从HTML代码内部发送多(duō)个参数是可(kě)行的。此方法可(kě)以跨多(duō)个网站对单个小(xiǎo)程序进行简单定制。


  移动设备以截然不同的方式使用(yòng)小(xiǎo)程序。许多(duō)设备都具有(yǒu)一个软件基础,使小(xiǎo)程序能(néng)够独立于其他(tā)应用(yòng)程序运行。该技术提供与典型解决方案相同级别的安全性和可(kě)移植性,而无需单独的软件容器。


  7.签名小(xiǎo)程序


  已签名的小(xiǎo)程序有(yǒu)一个验证过程,浏览器必须使用(yòng)遠(yuǎn)程、独立的证书颁发机构服務(wù)器来验证该过程。一旦签名被验证并且本系统的用(yòng)户已经批准,签名的applet可(kě)以获得进一步的许可(kě)并且变得等同于传统的独立应用(yòng)程序。这样做的理(lǐ)由是小(xiǎo)程序的创建者已经被识别,并将对任何故意伤害负责。签名的小(xiǎo)程序在设计上是安全的,但它们可(kě)能(néng)会获得对用(yòng)户系统的不正当访问权限。


  8.自签名小(xiǎo)程序


  自签名小(xiǎo)程序已由开发人员签名。如果程序员不受信任,他(tā)们可(kě)能(néng)构成安全风险。这就是当自签名小(xiǎo)程序请求授权时浏览器会发出警告的原因。通常,这些证书仅在发布前的开发阶段使用(yòng)。大多(duō)数小(xiǎo)程序创建者会要求第三方签名以确保小(xiǎo)程序的消费者安全。


  9.未签名的小(xiǎo)程序


  由于没有(yǒu)授权实體(tǐ),未签名的小(xiǎo)程序有(yǒu)严重的局限性。例如,他(tā)们无法访问本地文(wén)件系统、系统属性、本机代码或外部命令。applet的框架将另外包含一个标头,用(yòng)于标识applet的不可(kě)信任性。未签名的小(xiǎo)程序可(kě)能(néng)会尝试下载恶意软件。但是,他(tā)们无法执行攻击,只能(néng)将这些文(wén)件保存在临时文(wén)件存储文(wén)件夹中。