JavaScript简介

JavaScript是一种很常见的高级编程语言,它和Java计算机语言没有任何联系。

JavaScript主要用于开发Web端的用户界面,比如在Web和移动GIS应用程序中就会用到JavaScript;它主要目标是构建前端应用程序,这些应用程序利用空间数据和GIS原理,在许多情况下具有嵌入式交互式地图。

JavaScript最初的代码名是Mocha,作为LiveScript发布,然后不久后重命名为JavaScript。微软发布了他们自己的类似版本,称为Jscript,也基于ECMAScript标准,以避免商标冲突。

2009年,世界领先的浏览器采用HTML5(超文本标记语言版本5)作为定义万维网属性和行为的核心语言。

JavaScript直接与HTML5协同工作,在它成为全球广泛使用的web领先计算机语言方面发挥了重要作用。

JavaScript默认比Java或C语言更容易学,它能在网页和应用程序中添加自动化、动画和交互。JavaScript使用的是浏览器作为运行时环境(RTE),因此JavaScript的流行,得益于Web和移动应用程序的快速发展的浏览器作为支持。

在过去十年中,使用开源以及专有JavaScript应用程序编程接口(API)和库的公开web和移动应用程序激增。JavaScript API是通过编程提供软件功能的库模块集合。

由于JavaScript现在是web和移动应用程序开发的主要语言,本文主要强调使用JavaScript开发地理空间应用程序的基础概念和应用方式。

JavaScript基础概念

在了解JavaScript之前,必须了解以下几个概念。

客户端(client-side):

在客户端/服务器(C/S)计算机网络中发生操作,例如在客户端计算机上运行计算机程序;

层叠样式表(CSS):

带有包含标记语言的CSS扩展,用于向web文档(如HTML5网页)添加颜色、间距、字体等(样式);

代码库(Codebase):

人们编写的源代码,包括标记语言、脚本语言或程序设计,用于构造或构建给定的软件组件、应用程序或整个系统。

前端(front-end):

web或移动应用程序用户直接与之交互的用户界面,如网页或图形用户界面,也可以称为应用程序的客户端。前端web开发通常利用HTML5、CSS和JavaScript将信息集成到图形用户界面中,以便最终用户可以处理数据。

Git:

用于管理代码存储库内容的免费版本控制系统或软件工具。

即时编译(JIT):

计算机程序开始执行后对数据的动态处理。

库(library):

共享编程代码的集合,如文件、程序、例程、脚本或函数,可用于促进其他软件程序和应用程序的开发。

模型-视图-控制器(MVC):

用于创建用户界面的通用软件设计模式,该界面将内部应用程序数据与用户看到的信息分离<运行时:计算机编程运行的时间范围,从程序启动时开始,到程序关闭时结束。

标记语言(markup language):

一种人类可读的计算机语言,它使用以文本形式编写的标记来注释或定义文档文件中的项目,这意味着它可以包含标准单词而不是编程语法。

脚本语言(scripting language):

一种经过解释的计算机编程语言,在运行时被翻译成机器代码,执行时无需编译即可完成特定任务。

脚本(script):

一系列计算机编程命令,可以保存在计算机文件中,以便于任务的自动执行,也可以在终端程序或仿真器中逐个手动执行。

web应用程序框架:

一种软件框架,如ASP、.NET或Ruby on Rails,用于帮助开发人员构建web应用程序,如web API和web服务,并经常提供用于简化编程任务(如访问和配置数据)的库。

JavaScript在GIS开发中的应用

下图展示了一个典型的JavaScript for GIS应用程序开发项目的基本组件。

一般来说,应用程序由HTML5文档组成,其中添加了JavaScript和链接标记,这些标记加载基于GIS的JavaScriptAPI代码以创建web地图的实例。

HTML5文档还可能包含特定于GIS样式组件的CSS代码或脚本,可能还有小部件。HTML5文档中的JavaScript和CSS代码说明了所使用的每种语言的版本,并包含指向单独JavaScript和CSS文件的链接。这些单独的文件包含在应用程序中制作GIS组件(如地图)以及分别设置应用程序组件渲染或显示方式的所有说明。

在Web应用程序中,web GIS开发人员的工作是创建一个网页,该网页具有标题、字体、颜色、图片、动画,以及最终用户可以轻松与之交互的嵌入式地图。

在应用程序体系结构方面,开发人员必须将应用程序的概念分解为小组件,然后将这些组件转换为计算机能够理解的指令。在WebGIS应用程序中,HTML5提供网页的基本结构,CSS控制组件的格式,JavaScript指导网页中所有不同元素的行为。JavaScript功能的典型用途包括屏幕上的弹出框、交互式游戏、动画和安全功能。交互式地图通过在HTML5代码中编写特定于每个特定GIS软件API或库的JavaScriptFunction嵌入到网页中。相反,地图图像只需要和HTML<img>标记。

Web/移动GIS常用JavaScript API

GIS应用程序开发经常使用专有或者开源JavaScript库以及API。

许多开源JavaScript库是开源的,GIS开发人员可以用来简化程序编写的代码编译组成。JavaScript库都是专门为跨平台和设备设计和构建交互式用户界面而开发的。

以下是比较全面的Javascript库和API:

应用程序/库

开源/专有

链接

Angular

开源

angular.io

Apache Cordova

开源

cordova.apache.org

Carto.js, Carto VL(Carto/CartoDB)

开源/专有

carto.com

Cesium

开源

cesium.com/cesiumjs

D3 (Data DrivenDocuments)

开源

d3js.org

Electron

开源

www.electronjs.org

Esri API for JavaScript

开源/专有

developers.arcgis.com/javascript

Express

开源

expressjs.com

Google Maps API

开源/专有

developers.google.com/maps/documentation

Ionic2

开源

ionicframework.com

jQuery API

开源

api.jquery.com

Leaflet

开源

leafletjs.com

MapBox

开源/专有

mapbox.com

MapQuest.js

开源

business.mapquest.com/products/mapguest-js

Node.js

开源

nodejs.org

OpenLayers

开源

openlayers.org

OpenWeather Map API

开源/专有

openweathermap.org

ReactJS / Native(JavaScript Diaries)

开源

react.js

Sencha

开源

www.sencha.com

Turf.js

开源

turfjs.org

Vue.js

开源

vuejs.org

测一测,看看我是否适合学习GIS开发https://www.wjx.cn/vj/eFS3fwC.aspx

GIS开发中的JavaScript的应用相关推荐

  1. 好程序员技术文档HTML5开发中的javascript闭包

    好程序员技术文档HTML5开发中的javascript闭包,事实上,通过使用闭包,我们可以做很多事情.比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率,同时避免对命 ...

  2. onpaste事件不生效_从实际开发中来看JavaScript事件循环的使用场景

    前言: 本文是介绍结合DOM事件流和JavaScript事件循环解决一个工作中的实际问题的过程,很多东西不只是面试的时候才会用得到 文中涉及到的代码demo地址:drag-and-eventloop ...

  3. GIS开发中的区域定位功能实现

    开发工具与关键技术: SuperMap iDesktop 9D GIS 作者:杨泽平 撰写时间:2020.4.20 SuperMap GIS的二次开发,这是基于SuperMap iDesktop 根据 ...

  4. 开题:在移动开发中使用JavaScript进行混合编程提高代码复用率

    2019独角兽企业重金招聘Python工程师标准>>> 问题 通常开发一个移动应用,因为存在iOS和Android两种操作系统,因此所有代码都要使用两种语言编写两遍,因此几乎所有开发 ...

  5. GIS开发中常用几何算法原理图解

    转自:OSGeo中国中心 http://www.osgeo.cn/post/ae457 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简 ...

  6. 三维GIS/GIS开发学习路线、软件和数据、视频资源推荐

    GIS开发学习资源合集来了!!一份前所未有,全网都没有这么详细的资源合集来了,从基础入门视频.实战项目.GIS开发数据合集.开发软件等,囊括了GIS开发学习所以内容. 一.GIS和WebGIS简介: ...

  7. GIS开发:推荐Mapbox gl解决方案

    在二维地图的开发中,实现类似于百度.高德地图那样加载简体的模型,使用mapbox gl是一个比较好的解决方案. https://docs.mapbox.com/mapbox-gl-js/api/ 类似 ...

  8. 浅谈Web开发中的6种技术

    CSDN博客不再经常更新,更多优质文章请来 粉丝联盟网 FansUnion.cn! (FansUnion) Web开发中的6种技术 1.html 超文本标记语言,即HTML(Hypertext Mar ...

  9. GIS开发:Contour(轮廓线)

    Contour(轮廓线)是在gis开发中,一个常用的展示方式,可将一批分布在地图上的点,按照数值分段,连接起来,显示成一块块分布的区域,等高线也是按照这个原理进行生成的. 效果图: 二维的contou ...

最新文章

  1. 手机h5可以用ifreme_安卓手机可以流畅用几年?至少三年不卡
  2. 嫌微软要价“太狠” 东莞网吧巨头拒绝付费
  3. 信息学奥赛一本通C++语言——1017: 浮点型数据类型存储空间大小
  4. 计算机网络基础常考简答题,计算机网络基础知识简答题
  5. JDK8新特性(二)之接口新增的两个方法
  6. 查询目标服务器系统,查看目标服务器的操作系统
  7. 深入出不来nodejs源码-内置模块引入初探
  8. linux文件重定向用什么命令实现,Linux基础:文件描述符与重定向
  9. Stream流简单使用之List集合排序
  10. C语言编程软件的选择和下载
  11. hbase数据库使用
  12. solidworks做运动学分析Motion(牛头刨床为例)机械原理课设(详细)
  13. 数字逻辑速成复习备考期末
  14. java | (十六)XML、代理
  15. 苹果xr截屏怎么截_原来苹果手机自带长截屏功能!以前一直不知道,真让人相见恨晚...
  16. 【Tensorflow】你真的懂TensorFlow吗?Tensor是神马?为什么还会Flow?
  17. Debian安装docker全流程
  18. UE4 SoundCue声音节点总结
  19. “一张图”的“新选择”~
  20. 中文输入法 linux 下载64位,最新搜狗输入法linux版v2.2.0.0108 官方版(32位+64位)下载地址电脑版-锐品软件...

热门文章

  1. 视频:《满城尽带黄金甲》精彩预告片曝光
  2. Vue中tinymce4.7.5设置字体大小和字体样式
  3. 磁性负载两端续流电阻的重要性
  4. 敏捷史话(十六):我对《敏捷宣言》没有半点贡献—— Brian Marick
  5. 南瑞通讯管理机测试软件,国电南瑞NSC2200E 通讯管理机
  6. mysql创建角色集_mysql8之新增角色
  7. 一些做谱面会用上的工具
  8. Heartbleed bug
  9. 公安视频监控系统建设存在问题及系统规划思路简析
  10. 环境与设备监控计算机套定额,电气火灾监控设备调试、套定额的注意事项