精华内容
下载资源
问答
  • 列出3种动态页面技术的开发语言
    千次阅读
    2021-01-06 13:47:18

    文本转载自:php问题解决处理–一个IT实时问答系统–快速解决你的任何IT问题,无需等待!—www.itbaiduwang.com
    网站技术主要包括Web服务器技术和网页设计技术两部分。网页设计技术主要有静态网页技术和动态网页技术。静态网页设计制作技术一般采用静态的HTML语言,另外用到JavaScript、图片制作、CGI编程和CSS等技术,后来发展为动态交互网页技术,如ASP,PHP,JSP,Flash,XML。和WebServices等技术。

    网页的设计工具目前较流行的有Macromedia公司的三个软件:Dreamweaver,Fireworks和Flash,微软公司Office软件中的FrontPage等网页设计工具。

    1.ASP技术

    ASP(Active Server Pages)是由微软创建的Web应用开发标准,ASP服务器已经包含在IIS服务器中,ASP服务器将Web请求转入解释器中,在解释器中将所有ASP的Script进行分析,然后执行,同时可以创建C[)M对象以完成更多的功能,ASP中的Script是VBScript。

    ASP的基本工作原理是:当用户申请一个*.asp主页时,Web服务器响应该HTTP请求,调用ASP引擎,解释被申请文件。当遇到任何与ActiveXScripting兼容的脚本(如VBScript和JavaScript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中台有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访问数据库的操作。ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成符合HTML语言的主页,去响应用户的请求。所有相关的发布工作由Web服务器负责。

    2.PHP技术

    PHP(Personal Home Page)是目前最流行的服务器脚本语言之一。它运行在Web服务端,根据用户请求或服务器端的数据产生动态网页,具有很强的数据库访问能力。它的执行效率要高于普通的CGI程序,能比CGI或者Perl更快速地执行动态网页。

    如果创建了一个PHP应用程序,实际上相当于创建了一个PHP脚本文件。在服务器将输出信息发送到客户端之前,网络服务器会率先将文件中的PHP语言进行加工处理。在一个PHP文件内,标准的HTML编码会被直接送到浏览器上,而内嵌PHP程序却是先被网络服务器解释执行。如果是标准输出的话,输出信息也将作为标准的HTML而被送至浏览器。

    PHP是一种完全开放源代码的免费软件。

    3.JSP技术

    JSP(Java Server Page)是由Sun Micro Systems公司倡导、许多公司参与,一起建立的一种动态网页技术标准。在传统的网页HTML。文件中加入Java程序片段(Scriptlet)和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。

    JSP构建的网站操作系统可以选用Unix,Linux或Windows平台,Web服务器可以选择商业平台,也可以使用如Apache和Tomcat等免费的服务器软件,后台数据库可恨据实际情况选择Oracle,Sybase,DB2或Informax等。

    4.Flash技术

    F1ash是美国的Macromedia公司于1999年6月推出的优秀网页动画设计软件,它是一种交互式动画设计工具,使用它可以将音乐、声效、动画以及富有新意的界面融合在—作出高品质的网页动态效果。

    5.XML技术

    可扩展标记语言(eXtensible Markup Language,简称为XML),是用来对信息进行自我描述而设计的一种新语言。使用XML的用户可以定义无穷的标记来描述文档中的任何数据元素,将文档的内容组织成丰富的完整的信息体系。XML具有四大特点:便于存储的数据格式、可扩展性、高度结构化以及方便的网络传输,这些特点为我们创建开放、高效、可扩展、个性化的Web应用提供了一个崭新的起点。

    更多相关内容
  • 常用的4种动态网页技术

    万次阅读 2016-04-16 22:14:06
    1. 常用的4种动态网页技术 1.1. CGI CGI(Common Gateway Interface,公用网关接口)是较早用来建立动态网页的技术。当客户端向Web服务器上指定的CGI程序发出请求时,Web服务器会启动一个新的进 程执行某些CGI...

    1.   常用的4种动态网页技术

    1.1. CGI

    CGI(Common Gateway Interface,公用网关接口)是较早用来建立动态网页的技术。当客户端向Web服务器上指定的CGI程序发出请求时,Web服务器会启动一个新的进 程执行某些CGI程序,程序执行后将结果以网页的形式再发送回客户端。

      CGI的优点是它可以用很多语言编写,如 C 、C++ 、VB和Perl语言。在语言的选择上有很大的灵活性。最常用的CGI开发语言为Perl。

      CGI的主要缺点是维护复杂,运行效率也比较低。这主要由以下几方法原因造成:

    “  CGI程序以独立的进程运行,当多个用户要与服务器建立连接时,服务器需要为每个用户响应创建一个CGI程序进程。

    “  CGI程序不是常驻内存的,因此,当频繁访问CGI程序时,会导致大量的磁盘I/O操作。

    “  编写访问数据库的程序比较复杂。

    (CGI在嵌入式web中应用:

    一、由于需要在网页中操作I/O口和舵机等硬件,所以要用到CGI(通用网关接口)技术,即在网页中调用位于服务器中的CGI程序,然后在CGI程序中调用具体的硬件操作。CGI在网页中通常是通过表单的action值调用的,如:

        <form   action= "xxx.cgi "  method=post>

    在表单提交时,就会执行xxx.cgi程序。

    二、 cgi程序执行完毕后通常会返回一新网页,但是有时候我们并不期望这么做,我们希望cgi只执行交给它的任务,并且保持调用它的原网页不变。CGI的输出 形式是固定的,通常有三类,以不同的输出头标记:Content-type,Location, 和Status. 其中的Status有就可以实现我们要的效果:只执行规定的程序,其他不做任何变化。一个简单的Bourne Shell版的cgi程序如下:

       #!/bin/sh

        do_something

        echo "Status: 204 No Response"

        echo

        exit 0

    三、有时候我们需要当javascript在满足一定条件时自动调用CGI程序,而不需要网页上的鼠标点击按钮,下面的程序就可以实现自动提交表单,从而触发CGI程序:

        <script language=javascript>

               document.form1.submit();

        </script>

    1.2. PHP

    PHP(Personal Home Pages)是一种服务器端的嵌入HTML的脚本语言,可以运行于多种平台。它借鉴C语言、Java语言和Perl语言的语法,同时具有自己独特的语法。

      由于PHP采用Open Source方式,它的源代码公开,使得它可以不断有新东西加入,形成庞大的函数库,以实现更多的功能。PHP几乎支持现在所有的数据库。

      PHP的缺点是没有像JSP和ASP那样对组件的支持,扩展性较差。

    1.3. JSP

    JSP(Java Server Pages)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。JSP与服务器端的脚本语言JavaScript不一样。JSP是 在传统的静态页面中加入Java程序片段和JSP标记,构成JSP页面,然后再由服务器编译和执行。

      JSP主要的优点如下:

    “  JSP支持绝大部分平台,包括Linux系统,Apache服务器也提供了对JSP的服务,使得JSP可以跨平台运行。

    “  JSP支持组件技术,可以使用JavaBeans开发具有针对性的组件,然后添加到JSP中以增加其功能。

    “  作为Java开发平台的一部分,JSP具有Java的所有优点,这包括“一次编写,处处运行”。

    JSP的主要缺点是编写JSP程序时比较复杂,开发人员往往需要对Java及其相关的技术比较了解。

    1.4. ASP

    ASP(Active Server Pages)是微软公司提供的开发动态网页的技术,具有开发简单、功能强大等优点,ASP使生成Web动态内容及构造功能强大的Web应用程序的工作变得 十分简单。例如,要收集表单中的数据时,只需要将一些简单的指令嵌入到HTML文件中,就可以从表单中收集数据并进行分析处理。对于ASP,还可以便捷地使用ActiveX组件来执行复杂的任务,比如连接数据库以检索和存储信息。

      对于有经验的程序开发人员,如果已经掌握了一门脚本语言,如VBScript、JavaScript或Perl,而且已经了解使用ASP的方法。只要安 装了符合ActiveX脚本标准的相应引擎,就可以在ASP页中使用任何一种脚本语言。ASP自身带有VBScript和JavaScript两种脚本引 擎。从软件的技术层面看,ASP有如下的特点:

    “  无需编译 ASP脚本嵌入到HTML当中,无需编译或链接即可直接解释执行。

    “   易于生成  使用常规文本编辑器(如Windows下的记事本)即可进行ASP页面的设计。

    “   独立于浏览器  用户端只要使用可解释常规HTML代码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,不需要通过从服务器下载ASP页面。

    “  面向对象  在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX服务器组件来扩充功能。

    “  与任何ActiveX脚本语言兼容  除了可使用VBScript和JavaScript进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其他脚本语言。

    “   源程序码不会外漏 ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会外漏。

     

    展开全文
  • 常用的三种动态网页语言

    万次阅读 2006-04-22 21:47:00
    目前,最常用的三种动态网页语言有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。 简介: ASP全名ActiveServerPages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的...
    目前,最常用的三种动态网页语言有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。

    简介:

    ASP全名ActiveServerPages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Javascript)作为自己的开发语言。
    PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点( http://www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

    JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是JSP,JavaServerPage。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

    三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

    技术特点

    ASP:
    1.使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
    2.无须compile编译,容易编写,可在服务器端直接执行。
    3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
    4.与浏览器无关(BrowserIndependence),客户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。ActiveServerPages所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
    5.ActiveServerPages能与任何ActiveXscripting语言兼容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(ComponentObjectModel)对象。
    6.可使用服务器端的脚本来产生客户端的脚本。
    7.ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。可以使用VisualBasic、Java、VisualC++、COBOL等程序设计语言来编写你所需要的ActiveXServerComponent。

    PHP:
    1?数据库连接
    PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。

    JSP:
    1?将内容的产生和显示进行分离
    使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

    2?强调可重用的群组件
    绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者EnterpriseJavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。

    3?采用标识简化页面开发

    Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。

    通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

    JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。

    由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。

    作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。

    应用范围
    ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难。

    PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。

    JSP同PHP3类似,几乎可以执行于所有平台。如WinNT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

    性能比较

    有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。

    在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。

    数据库测试中,三者分别对Oracle8进行1000次Insert,Update,Select和Delete:JSP需要13秒,PHP需要69秒,ASP则需要73秒。

    前景分析

    目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。

    采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

    ASP和JSP则没有以上缺陷,ASP可以通过MicrosoftWindowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和TranscationServer获得结构支持;JSP可以通过SUNJava的JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。

    三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务ApplicationServer,而且声言不再开发传统软件。

    总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。

    从性能和功能上来说JSP>PHP>ASP,但ASP.net比其中的任何一个都要强大很多,因为那些语言只停留在脚本范畴之内,ASP.net是地地道道的程序语言,并拥有人类有史以来最庞大的类库,使得ASP.net几乎可以轻松实现任何常见的希望获取的功能,你甚至可以通过它在网页上直接进行图像处理、音频编辑、视频压缩等等传统应用程序可以干的事情
    展开全文
  • 快速入门 使用之前 在开始使用 ThingJS 之前,需要先了解Javascript,我们假设您已经掌握JS。...您可通过以下三方式创建项目: 选择菜单区域的“文件 - 新建项目”选项 点击工具栏“新建”图标,图标如右...

    快速入门

    使用之前

    在开始使用 ThingJS 之前,需要先了解Javascript,我们假设您已经掌握JS。

    创建项目

    创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,为保证项目的正确保存及运行,请您在账号登录之后再创建项目。您可通过以下三种方式创建项目:

    选择菜单区域的“文件 - 新建项目”选项

    点击工具栏“新建”图标,图标如右图所示:

    使用快捷键“Ctrl+P”

    编辑项目

    在线开发为用户提供了相应的快捷代码和官方示例,如果你正在用 ThingJS在线开发页面,可以通过以下两种方式来编辑项目:

    点击在线开发页面菜单区域的快捷代码选项中的子项,编辑区将自动插入相应代码

    选择在线开发官方示例中的其中任意一个示例,点击相应示例,编辑区将显示相应代码

    后续操作详见 在线开发 - 应用开发 - 在线开发

    保存项目

    可通过以下四种方式保存项目:

    选择菜单区域的“文件 - 保存”选项

    点击工具栏“保存”图标,图标如右图所示:

    使用快捷键“Ctrl+S”

    运行项目

    在线开发环境提供了以下几种方式运行项目:

    使用快捷方式“Ctrl+R/Enter”或点击工具栏中的“运行”图标,3d容器区域将运行编辑器相应的代码。图标如右图所示:

    选择菜单区域的“工具 - 设置”选型,出现的设置面板,点击开启“自动保存执行”

    界面介绍

    在线开发页面左边显示官方示例及用户创建并保存的项目,中间的编辑器则显示您已打开项目或文件的内容,而右侧主要显示项目运行之后的3D场景。

    界面区域

    菜单栏:对项目或项目文件操作的快捷入口,包括文件、快捷代码、资源、工具、项目、视图及帮助七个子项

    项目列表:官方提供的示例代码及用户项目的集合,其中用户项目只有登录之后才会显示

    工具栏:对菜单栏的图标化显示

    状态栏:用户项目、文件或官方示例的状态显示

    编辑器:当前打开项目的内容

    3D容器:项目运行后的场景可视化显示

    项目打印日志:项目运行输出的日志

    项目导航显隐切换:左侧项目列表显示/隐藏

    文件位置:当前打开项目/文件的路径

    申请建模: ThingJS平台提供的模型(设施设备、建筑外观等)定制服务,每个模型800元起。需填写相应资料发出申请,ThingJS平台会有专人联系并沟通服务细节。

    请求协助:为协助ThingJS用户快速入门,ThingJS平台可提供用户特定项目的框架代码开发服务。该服务可为用户快速构建符合项目基本需求的3D可视化框架代码资源(包括源码、3D模型、贴图、数据等),用户的技术团队可在此基础上快速上手,大幅提高3D可视化项目成功基础。

    充值:魔豆充值,包括两种充值方式:支付宝和微信支付。充值之后的魔豆可用于购买VIP、VIP续费或项目部署的付费。

    升级VIP:普通用户可通过支付宝、微信支付或魔豆支付三种方式升级为VIP。

    个人信息栏:用户名和用户头像

    容器浮动:点击“浮动”图标,3D容器将以浮动层的方式显示

    最大化预览:场景最大化预览

    在线咨询:ThingJS在线支持入口

    编辑器拖拽:调节编辑器及3D容器的宽度比

    主要功能介绍

    菜单栏

    在线开发环境的菜单栏位于头部左侧区域,主要由以下几部分构成:

    文件:对在线开发环境中用户的项目及文件进行的操作,主要包括新建项目、新建文件、保存及运行。详细介绍请参照 在线开发 - 菜单导航 - 文件管理

    快捷代码:为提高项目开发效率,ThingJS提供了的功能模块,点击快捷代码中的内容,编辑器将插入对应功能的代码。也可通过点击工具栏中的快捷代码图标进行相应操作。详细介绍请参照 在线开发 - 菜单导航 - 快捷代码

    资源:在线开发环境为用户提供的包括模型、园区、地图、图表、界面、动态背景灯及用户上传的多种资源集合。详细介绍请参照 在线开发 - 菜单导航 - 资源管理

    工具:主要包括场景信息、场景效果、拾取坐标、自定义模型和设置。详细介绍请参照 在线开发 - 菜单导航 - 场景工具

    项目:针对用户已开发项目进行的分享、部署及更新操作。详细介绍请参照 在线开发 - 菜单导航 - 项目管理

    视图:通过切换日志、3D容器和目录(项目列表)的显隐状态以及切换视图风格改变在线开发环境的界面布局。详细介绍请参照 在线开发 - 菜单导航 - 视图管理

    帮助:提供了快捷键的详细介绍以及ThingJS平台其他相关页面的快捷入口。详细介绍请参照 在线开发 - 菜单导航 - 帮助

    项目列表

    项目列表主要位于在线开发环境的左侧,主要包括官方示例和用户项目。可通过点击列表上方的“官方”和“我的”切换官方和个人项目:

    当切换至官方示例时,在列表标题下方的输入框搜输入相关内容可搜索相应的官方示例,点击相应示例,编辑器将显示对应代码,点击运行图标,右侧3D容器将显示示例对应的场景,用户可对编辑器内的示例代码修改并保存为个人项目。

    注:新增的示例右侧会显示一个新增标记(

    ),VIP专栏中的所有示例仅针对VIP用户开放。

    切换个人项目时,选中其中任一项目,右键选择“打开项目”,编辑器和3D容器将分别显示该项目的内容及场景,且项目及项目下的文件将显示在“当前项目”目录下。用户可编辑修改当前项目及项目下的文件。

    注意事项:

    用户只有在注册并登录 ThingJS 网站后,才能新建和保存项目,否则“我的项目”列表将不会出现在左侧导航栏中

    工具栏

    工具栏图标说明如下:

    图标图标说明

    新建项目:创建一个空项目,用户可在编辑器器内添增加或修改项目内容

    保存项目:保存当前处于编辑状态的文件

    执行项目:运行当前处于编辑状态下的项目或示例,右侧3D容器将显示对应场景

    项目分享:分享当前处于编辑状态的项目或示例

    模型:显示模型资源面板,面板中的模型资源由ThingJS提供的官方模型及用户选择或上传的模型构成

    园区:显示园区资源面板,面板中的园区资源由用户上传或CamBuilder同步过来的园区场景构成

    地图:显示地图资源面板,该面板中的地图资源是用户在CityBuilder创建的地图

    图表:显示园区资源面板,该面板中的图表模板由ThingJS平台提供

    界面:显示界面资源面板,该面板主要为ThingJS平台提供的Widget 面板组件的快捷方式

    动态背景:显示动态背景面板,该面板中的背景模板由ThingJS提供

    快捷代码:显示快捷代码面板,该面板是在线开发为提升用户的开发效率所提供的大量常用功能代码块的集合

    场景信息:显示场景信息(当前运行项目或示例对应场景的一系列信息)

    场景效果:显示场景效果面板,该面板内开关和按钮可调节3D容器场景的灯光、 后期、动态天空、雾等特效等场景效果

    状态栏

    介于编辑器与工具栏中间,用来显示已打开的项目、文件或示例。当在线开发环境中已经存在一个已打开的用户项目时,点击其他的示例或项目文件,将作为参考文件在状态栏中打开,点击之后的状态栏显示如下:

    编辑器

    在线开发中的编辑器用来查询、修改项目或文件的内容,支持支持自动拼写和快捷键操作。详情请参照 在线开发 - 应用开发 - 在线开发

    3D容器

    显示编辑器内代码运行之后的场景及效果

    项目打印日志

    若3D容器场景对应的项目文件或示例中含有类似于:console.log(obj)的代码块,在线开发环境右侧下方的项目打印区域将输相关信息

    场景搭建

    ThingJS平台为用户提供了以下两种方式搭建场景:

    通过CamBuilder客户端搭建3D场景

    通过CityBuilder城市地图搭建3D场景

    CamBuilder

    通过客户端下载需要以下几个步骤:

    通过ThingJS官网下载3D园区搭建工具,在出现的下载详情面板中点击下载按钮

    下载后可登陆账号,点击工具下的「用户手册」可查看使用教程

    将场景导出上传或同步至ThingJS平台

    选择园区资源下的场景进行开发

    后续操作详见 在线开发 - 菜单导航 - 资源管理 - 园区

    CityBuilder

    在“地图”资源面板中点击“新建地图”

    在出现的弹出面版中输入地图名称,点击“下一步”

    选择“一键城市”和“上传数据”中的任一选项。若选择“上传数据”,地图面板将同时新增一个地图资源;若选择“一键城市”,需选择“城市范围”和“模板”并点击“下一步”,待数据下载完成之后,点击“进入编辑”,地图面板将新增一个地图资源

    选择地图资源下的地图进行开发

    后续操作详见 在线开发 - 菜单导航 - 资源管理 - 地图

    在线开发

    在线编辑器支持自动拼写,输入一个字符(串),若存在该字符(串),则编辑器将出现所匹配的内容,点击选择所需代码,如下图所示:

    编辑区域内右键可调出快捷工具菜单,按下鼠标右键,点击选择下图所示的工具:

    快捷键操作如下表所示;

    快捷键快捷键说明

    Ctrl + F查找

    Ctrl + H查找替换

    Ctrl + [  、 Ctrl + ]代码行缩进

    Ctrl + C复制当前选中内容

    Ctrl + X剪切当前选中内容

    Ctrl + V在光标处插入剪贴板的内容,并替换任何所选内容,只有在剪切或复制了内容之后,才能使用此快捷键

    Shift + Alt + F代码格式化

    Alt + Up  、 Alt + Down上下移动一行

    Alt + Shift + 鼠标左键多行编辑(列编辑)(鼠标右键更改所有匹配项)

    Ctrl + Delete删除光标右侧的所有字

    Ctrl + U回退上一个光标操作

    Ctrl + K后Ctrl + 0折叠所有区域代码

    Ctrl + K后Ctrl + J展开所有折叠区域代码

    选中注释代码块 Ctrl+ /代码块注释

    Home移动到行首

    End移动到行尾

    Ctrl + F12转到定义

    Alt + F12速览定义

    Shift + F12查找所有定义

    Ctrl + End移动到文件结尾

    Ctrl + Home移动到文件开头

    Ctrl + Shift + Enter在当前行上方插入一行

    编辑器内按下 F1 键,调出快捷功能列表,用户可按需选择下图所示的功能:

    在线编辑器支持插入常用代码块,降低学习门槛。将鼠标移至菜单栏中“快捷代码”或者点击工具栏“快捷代码”图标(

    ),将出现常用代码块,点击快捷代码按钮,则可在编辑器中插入对应功能的代码。

    为方便用户开发,在线开发环境提供了资源引用的快捷入口。如引用“模板资源”步骤下:

    点击工具栏“模型”图标(

    在出现的模型资源面板中双击要引用的模型

    编辑器区域快速插入相应代码

    点击工具栏“执行项目”图标(

    ),模型将出现在右侧3D容器内的场景中

    其他资源引用操作详见 在线开发 - 菜单导航 - 资源管理

    在线调试

    ThingJS 在线开发环境中可以通过在代码里加入 “debugger” 关键字进行调试,调试步骤如下:

    在代码中加入 “debugger” 关键字

    F12 打开浏览器控制台

    点击按钮运行代码

    在浏览器控制台中查看断点位置

    F12 调试

    和普通页面调试方法一样,直接打开 F12 在 Sources 里 找到 debug.js文件,在里面打断点即可调试,调试步骤如下:

    F12键调出浏览器控制台可以查看在线开发环境相关信息

    点击选择“Sources - Page”

    选择Top目录下的ifId(about:blank) - (no - domain -debug.js)

    在浏览器控制台的debug.js文件点击断点行数

    点击在线开发工具栏“执行项目”图标(

    数据对接

    ThingJS平台目前提供以下四种方法进行数据对接:

    Ajax

    JSONP

    WebSocket

    MQTT

    Ajax 方式对接

    Ajax 数据对接

    Ajax 的本质是通过浏览器的 XMLHttpRequest 对象向服务器发送 HTTP 请求,得到服务器返回的数据后进行数据处理的数据交互方式。

    对于原生的 Ajax 来说,包括以下几个步骤:

    创建 XMLHttpRequest 实例;

    发出 HTTP 请求;

    接收服务器传回的数据;

    处理数据,更新页面。

    在 ThingJS 在线开发环境中,内置了 JQuery 库,可以直接使用 JQurey 封装的 Ajax 方法进行数据对接,例如:

    $.ajax({'url':"http://3dmmd.cn:83/getMonitorDataById",//Ajax请求服务的地址'type':"GET",//请求方式 "POST" 或 "GET",默认为 "GET"'dataType':"json",//服务返回的数据类型,推荐使用标准JSON数据格式//发送到服务器的数据'data':{'id':89757},//请求成功后的回调函数'success':function(data){console.log(data);// 处理返回的数据},//请求失败时调用的函数 有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象'error':function(xhr,status,error){console.log(xhr);},});

    关于跨域

    浏览器出于安全考虑,有同源策略(same-origin policy),所谓“同源”指的是“三个相同”:

    协议相同;

    域名相同

    端口相同

    对于 ThingJS 在线开发环境所发布的 3D 页面而言,其协议是 https:// ,域名是 www.thingjs.com ,端口是 80 (默认端口可以省略),如果协议、域名或者端口有一个不同就是跨域,Ajax 请求就会失败。

    在开发工具 Network 中可查看请求情况,下图展示了跨域相关报错:

    因此,要在 ThingJS 在线环境中请求用户自己服务器上的静态资源数据或数据服务,或者其他网站的数据服务,就需要解决跨域问题。

    注意事项

    如果是访问用户上传到 ThingJS 网站的静态 json 数据资源则不存在跨域问题。

    Ajax 请求跨域解决方案

    对于在 ThingJS 在线开发环境中开发,我们推荐以下方案解决跨域问题:

    CORS;

    CORS 是一个 W3C 标准,全称是 “跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨域的服务器,发出 XMLHttpRequest 请求,从而解决了 Ajax 跨域请求数据的问题。

    对于前端而言,整个 CORS 通信过程,由浏览器自动完成。对于开发者来说,前端代码与普通 Ajax 代码完全一样。实现 CORS 的关键是后端,需在服务端设置 response 响应头(header)的 Access-Control-Allow-Origin 属性就可以开启 CORS。该属性表示哪些域名可以访问资源,如果设置通配符则表示所有网站都可以访问资源,例如:

    "Access-Control-Allow-Origin","*"//所有网站都可访问// 仅ThingJS网站能访问// "Access-Control-Allow-Origin","http://www.thingjs.com"

    如果 CORS 请求不是简单的跨站请求,如:

    使用GET或POST以外的HTTP请求方法(PUT DELETE等);

    请求的Content-Type 不属于以下三种之一:

    application/x-www-form-urlencoded;

    text/plain;

    multipart/form-data;

    发送了自定义的请求头信息(如Token数据)。

    那么还需根据实际情况,在服务器的响应头中设置 Access-Control-Allow-Headers 和Access-Control-Allow-Methods 相关属性值,例如:

    浏览器 Ajax 请求为:

    $.ajax({'headers':{"token":'31415926'// 请求头中带上了token数据},'url':"http://localhost:3000/getDataByIds",'type':"POST",//发送数据到服务器时所使用的内容类型。默认是:"application/x-www-form-urlencoded" 但此方式无将复杂的 JSON 组织成键值对形式//因此设置 contentType 为'application/json; charset=utf-8',这种类型是文本类型'contentType':'application/json; charset=utf-8','dataType':"json",//发送到服务器的数据 由于contentType设置为'application/json; charset=utf-8',这里需将json对象转为字符串后发送'data':JSON.stringify({'ids':[1,2,3]}),'success':function(data){console.log(data);}});

    则服务端需要设置:

    //配置允许的请求方式,如果写 * 则都允许"Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS";//配置允许的自定义请求头,如果写 * 则都允许"Access-Control-Allow-Headers","Content-Type,Token"

    查看示例

    对于 ThingJS 在线开发环境所发布的 3D 页面而言,其协议是 https:// ,域名是 www.thingjs.com ,端口是 80 (默认端口可以省略),如果协议、域名或者端口有一个不同就是跨域,Ajax 请求就会失败。

    在开发工具 Network 中可查看请求情况,下图展示了跨域相关报错:

    因此,要在 ThingJS 在线环境中请求用户自己服务器上的静态资源数据或数据服务,或者其他网站的数据服务,就需要解决跨域问题。

    注意事项

    如果是访问用户上传到 ThingJS 网站的静态 json 数据资源则不存在跨域问题。

    $.ajax({'url':"http://3dmmd.cn:83/getMonitorDataById",//Ajax请求服务的地址'type':"GET",//请求方式 "POST" 或 "GET",默认为 "GET"'dataType':"json",//服务返回的数据类型,推荐使用标准JSON数据格式//发送到服务器的数据'data':{'id':89757},//请求成功后的回调函数'success':function(data){console.log(data);// 处理返回的数据},//请求失败时调用的函数 有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象'error':function(xhr,status,error){console.log(xhr);},});

    JSONP对接

    JSONP 的基本原理就是利用 script 标签没有跨域限制的特点,通过 script 标签向服务器请求数据;服务器收到请求后,将数据放在一个指定名字的回调函数里返回给浏览器。

    由于 JQuery 的 Ajax 请求对 JSONP 进行了封装,因此我们可以直接使用相关方法请求 JSONP 数据,例如:

    $.ajax({type:"get",url:"http://3dmmd.cn:83/monitoringData",data:{"id":89757},dataType:"jsonp",// 返回的数据类型,设置为JSONP方式//设置回调函数名 JQurey会自动注册该函数jsonpCallback:"myCallbackFun",success:function(d){console.log(d);// 处理json数据}});

    上述示例会向浏览器发送一个类似 http://3dmmd.cn:83/monitoringData?id=89757&callback=myCallbackFunc 的请求,服务器通过解析 url 中的 callback 参数,返回如下数据:

    myCallbackFunc({"state":"success","data":{"id":"89757","temper":"26℃","humi":"42%","power":"9kWh"}})

    请求成功后 JQuery 会执行 myCallbackFun 函数,从而可以在回调函数中得到并处理 json 数据。

    注意事项

    JSONP 仅支持 GET 请求,使用 JQuery 的 Ajax 方法 发起多个 jsonp 请求时,回调函数名不要重复(即 jsonpCallback 的设置不要重复),否则可能会导致回调函数 undefined ,详见 jsonp请求失败的原因

    查看示例

    WebSocket对接

    WebSocket 是 HTML5 一种新的协议,实现了浏览器与服务器之间的全双工通信。

    其本质是先通过 HTTP/HTTPS 协议进行握手后创建一个用于交换数据的 TCP 连接,服务端与客户端通过此 TCP 连接进行数据的双向实时传输,直到有一方主动发送关闭连接请求或出现网络错误才会关闭连接。

    WebSocket 最大的优点在,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,真正实现了数据的实时双向通信。并且 WebSocket 通信不受同源策略的限制,即不存在跨域问题。

    WebSocket 客户端 API

    浏览器端的一个简单示例如下:

    // 创建一个WebSocket连接varwebSocket=newWebSocket('ws://3dmmd.cn:82');// 建立 websocket 连接成功 触发open事件webSocket.onopen=function(){console.log("websocket服务器连接成功...");};// 接收服务端数据 触发message事件webSocket.onmessage=function(ev){console.log("websocket接收到的数据:"+ev.data);};// 关闭连接后 触发close事件webSocket.onclose=function(evt){console.log("websocket关闭...");};// 通信发生错误时 触发error事件webSocket.οnerrοr=function(){console.log('发生错误')}

    可通过 readyState 属性值(只读),获取连接状态:

    0 - 表示连接尚未建立;

    1 - 表示连接已建立,可以进行通信;

    2 - 表示连接正在进行关闭

    3 - 表示连接已经关闭或者连接不能打开

    当连接成功后,可利用 send() 方法向服务器发送数据,例如:

    vardataObj={'id':89785};// send 数据类型可以是 字符串 或 二进制对象(Blob 对象、ArrayBuffer 对象)webSocket.send(JSON.stringify(dataObj));

    在客户端可调用 close() 方法主动关闭 WebSocket 连接。

    查看示例

    WebSocket 服务器端

    在服务器端,Node.js、Java、.Net、C++ 等语言都有相应的 API 库或框架来实现 WebSocket 的服务端开发。开发者可根据具体的项目需求选择相应方案,这里不再详细说明。

    MQTT方式对接

    MQTT是一个轻量级协议,使用MQTT协议的中心是broker(服务器/代理),客户端通过订阅消息和发布消息进行数据交互。使用MQTT方式的步骤如下:

    直接连接MQTT服务器(需支持websocket访问,Mosquitto支持websocket的配置可自行百度)

    引用第三方 mqtt库

    MQTT数据对接

    浏览器端的一个简单示例如下:

    // 引用第三方 mqtt 库,详见 https://github.com/mqttjs/MQTT.jsTHING.Utils.dynamicLoad(['https://www.thingjs.com/static/lib/mqtt.js'],function(){init();});varclient=null;// 创建一个Mosquitto连接client=mqtt.connect("wss:www.3dmmd.cn:8086");client.subscribe("/public/TEST/dev1");// 连接成功后发送数据client.on("message",function(topic,payload){console.log('data:'+payload);obj.setAttribute("monitorData/温度",payload);changeColor(obj);});// 关闭连接client.end();

    在客户端可调用 end() 方法主动关闭 Mosquitto 连接。

    查看示例

    展开全文
  • 导读:本文大约2000字,预计阅读时间3分钟。本文纯属技术文,无推广。 Web开发-概述 Web开发是创建网站,网页或Web应用程序的过程。或者我们可以说是一个完整的编码和编程过程,可以实现网站的功能。 此过程包含几...
  • Java web开发需要学习哪些技术?

    千次阅读 2020-12-30 23:50:19
    下面,南京课工场将会为你列出一些清单。1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。2.熟悉基于JSP...
  • 如何写技术欢迎的需求文档

    千次阅读 2018-10-31 14:49:01
    综述 正如我们做出来的产品都希望受用户欢迎,开发和测试是需求文档的用户,产品...虽然不可能写得像开发人员写设计文档的一样专业,但产品经理如果能运用技术人员的思维多做些考虑,就能减少评审过程的反复沟通,...
  • 多图详解!10大高性能开发核心技术

    千次阅读 多人点赞 2020-08-19 09:20:11
    这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。 - I/O优化:零拷贝技术 - I/O优化:多路复用技术 -线程池技术 -无锁编程技术 ...
  • 使用JS快速打九九乘法表
  • 【评论送书】适合初学者的 6 个有趣的 R 语言项目

    千次阅读 多人点赞 2022-06-28 10:00:37
    你目标是在数据分析领域从事职业吗?那你来对地方了!如今,数据分析在多个...在本文中,我们将讨论 R 编程语言——什么是 R、R 在数据科学中的用途,以及一些R 项目主题,以帮助你掌握数据科学。在我们谈论R 项目思
  • 本文是《打破国外垄断,开发中国人自己的编程语言》系列文章的第1篇。本系列文章的主要目的是教大家学会如何从零开始设计一编程语言(marvel语言),并使用marvel语言开发一些真实的项目,如移动App、Web应用等。
  • 使用JAVA语言,系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发...
  • 游戏开发入门如何点亮技术树?

    万次阅读 多人点赞 2018-11-06 11:52:23
    经常有知友问我,我很喜欢玩游戏,可以从事游戏开发吗?开发游戏需要哪些技能?一款游戏的开发需要哪些人员参与?诸如此类的问题比比皆是。 本场 Chat 老司机带你弯道超车,以 10 年游戏行业的真实背景和经验为实例...
  • 最佳 Web 编程语言都有哪些?

    千次阅读 2021-07-29 00:18:09
    译者 | 弯月出品 | CSDN(ID:CSDNnews)以下为译文:如果你是一名新晋的 Web 开发人员,那么在选择最佳 Web 编程语言时将面临很多困难。不同的编程语言支持不同的编程技...
  • 小白问哪编程语言最好,二当家呵呵一笑,当然是......
  • 但是,要自动化测试脚本,您需要动手学习一编程语言,这就是您的难处! 或者您已经精通一编程语言来进行自动化测试,并且正在考虑尝试使用新的编程语言来进行测试自动化,以及它们各自的框架。 您一定对选择下...
  • 【Go语言入门教程】Go语言简介

    千次阅读 多人点赞 2022-02-08 19:21:33
    文章目录Go语言简介Go语言创始人1) Ken Thompson2) Rob Pike3) Robert GriesemerGo 是编译...1) [Docker](http://c.biancheng.net/docker/)2) Go语言3) Kubernetes4) etcd5) beego6) martini7) codis8) delve哪些大公司
  • 使用JAVA语言,系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发...
  • 若要列出所有程序语言,你能忘记其他的没关系,但最不能忘的就是R。从1997年悄悄地出现,最大的优势就是它免费,为昂贵的统计软件像是Matlab或SAS的另一选择。 但是在过去几年来,它的身价大翻转,变成了资料...
  • 清晰易懂java反序化漏洞简介

    千次阅读 2022-03-16 21:30:12
    Java反序化漏洞 序列化与反序列化: 序列化的数据是方便存储的,而存储的状态信息想要再次调用就需要反序列化 序列化就是把对象的状态信息转换为字节序列(即可以存储或传输的形式)过程 反序列化即逆过程,由...
  • 四个最佳后端框架推荐 ​ 本文最初发布于 Ace ...框架已经成为 Web 开发的重要组成部分,可以帮助你开发出丰富多彩的交互式网站和 Web 应用。对于后端(服务器端)Web 和应用程序开发,有大量的框架可供选择
  • Python开发动态网页基础(三)

    万次阅读 2016-07-04 10:38:51
    我们解释了如何建立一个 Django 项目并启动 Django 开发服务器。当然,那个网站实际并没有干什么有用的事情,它所做的只是显示 ...这是一个不错的动态网页范例,因为该页面的内容不是静态的。相反,其内容是随着计算
  • Delphi(C++ Builder)一直致力于快速的应用程序开发环境已有25年以上的历史,并且仍在继续增长。如果您知道如何使用Delphi,Delphi会帮助您迅速并且能够创建任何应用程序APP及WEB网站应用! 当前,使用Delphi,您...
  • Web前端常用的十种技术

    万次阅读 2019-06-26 16:42:23
    Web前端应用十常用技术,随着JS与XHTML的应用普及,越来越多的web界面应用技术出现在网站上,比如我们常见的日历控件,搜索下拉框等,这些web界面应用技术大大的丰富了网站的表现形式,本文将为您精心推荐十最...
  • 软件开发概要

    千次阅读 2022-01-11 16:21:36
    由于JSP技术前后端分离不彻底,开发人员往往会在JSP页面中嵌套Java代码,从而需要前端开发人员懂java技术 (2)JSP页面可读性差,编写效率低,尽管引入EL,JSTL等技术3)Sevlet/Filter作为控制器,面临的稳定性,...
  • 服务端开发常用技术

    千次阅读 2017-08-18 16:17:02
    3.优秀的学习能力,对数据结构;算法分析.计算机系统结构.操作系统.网络等计算机基础具备扎实的功底; 4.熟悉LAMP开发架构。 5.了解MySQL等传统数据库及NoSQL或MongoDB等非关系型数据库者优先考虑; 6.具有机器...
  • 在论述的过程中会结合华为各语言编程专家和华为电信软件内部的骨干开发人员的交流,摒弃语言偏好或者语言教派之争,尽量以客观公正的角度来论述下各个语言的特点和不足,对语言选型作为一个客观的参考。
  • 第四章 网络基础知识 第一节 网络基础知识 一、网络的概念及功能 P143 (一)计算机网络的概念 1、诞生(单选): 1969 年,美国, ARPANET 2、定义(简答):是利用通信设备和...(2)数据通信:发邮件、浏览网页
  • 2020年30最佳的免费网页爬虫软件

    万次阅读 2020-07-03 14:25:31
    网页抓取(也称为网络数据提取,网络爬虫,数据收集和提取)是一种网页技术,从网站上提取数据。将非结构化数据转换为可以存储在本地计算机或数据库中的结构化数据。 对于不了解编码的人来说,创建网络抓取可能很...
  • 编程课程网站 CodingNomads 发布了一份“2022 年最值得学习的编程语言”报告,详细介绍了一些语言的职位需求和薪资水平。 如果你对编码的数据和逻辑方面感到兴奋,你可能希望学习 Python、Java、C、C++ 或 C#。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,344
精华内容 36,137
热门标签
关键字:

列出3种动态页面技术的开发语言