liu 发布的文章

目前低代码技术正处在风口,低代码平台产品不断涌现,乱花渐欲迷人眼。作为软件公司或企业IT部门的负责人,在做低代码平台选型时需要关注哪些方面,才能顺利“上车”,让低代码为自己的团队赋能?

除了产品功能是否满足当前项目需求,价格是否在预算范围内之外,以下几个问题的答案同样重要。

Q1:是否支持协同开发和版本管理?

项目开发过程中,我们难免遇到客户反馈某个新开发的功能没有用,但是过一段时间以后反悔,又希望加回来的情况。这是软件开发的常态。为了解决这一问题,传统的软件开发团队都会引入版本管理机制,低代码也不例外。面对频繁的需求变更、棘手的问题排查,低代码平台的版本管理,特定模块回滚等操作的价值就会体现出来。

此外,为了加速项目的交付速度,我们通常需要集中更多人员进行同步开发。只有具备协同开发能力的低代码平台才能让这一过程变得可管理,避免混乱。

所以,不论项目规模大小,选择一款兼容主流代码库、支持敏捷开发的低代码平台都会对开发工作有所帮助。

Git:一款主流的版本控制系统,图片来自Git官网

Q2:是否支持自由设计数据库结构?

数据库是所有企业管理软件的“地基”。为了后续功能的开发更加方便,扩展性更强,维护性更佳,良好的数据库设计至关重要。这个点是企业软件自身的属性决定的,无论是低代码还是传统的纯代码,都不会有变化。

事实上,软件开发技术发展到今天,数据库设计的最佳实践早已被总结成了久经考验的数据库设计范式。低代码开发平台是否能够对开发者开放数据库结构的自由设计能力,能够让开发者基于数据库设计范式不断优化数据结构,直接决定了该平台的专业性。如果你需要开发高标准的核心业务应用,或者对应用后期的可扩展性、可维护性有要求,那么数据库设计能力在评估过程中至关重要。

满足设计范式要求的数据库结构示意图,图片来自网络

Q3:能否灵活自由设计显示页面?

不同的企业、不同的用户都有着差异化的使用习惯和审美风格。即便面对同样的业务需求,客户对软件的页面呈现和交互也会有完全不同的要求。举例来说,客户A比较喜欢在页面的右上角寻找提交按钮;客户B可能习惯于提交按钮出现在页面的正下方,客户C则对提交按钮放到页面的右下角的设计更加青睐。于是我们需要为不同的客户做不同的页面布局,以缩减使用培训成本,提升用户的满意度。

类似的问题和解决方案,我相信您在多年的软件交付经验中已有体会。当然这里举例可能是冰山一角,客户对页面布局和样式风格的差异化要求远不止于此。如果您认可满足用户的使用习惯,适配公司的设计风格的重要性,那么请尽量选择支持灵活自由设计显示页面的低代码平台,以确保我们在项目开发和交付时不会陷入被动。

使用同款低代码平台开发不同样式的表格,图片来自活字格官网

Q4:能否支持前后端分离的系统架构,后端复杂逻辑如何解决?

正如前面所说,软件行业发展了多年,沉淀出了很多最佳实践。与数据库设计范式类似的,还有前后端分离,数据库读写分离等等。上一点重点讲了前端,这里则要将目光转向后端。

在前后端分离架构的支撑下,不论是软件公司还是企业IT团队,在发展的过程中都会积累出自己的“核心数字资产”,这些资产往往表现在一些后台业务复杂逻辑计算方法(有的可能还会包含一些用于调优的“魔法数字”)。后台的逻辑复杂度高、技术积累价值大,相对较为稳定。如何用低代码实现后端复杂的业务逻辑,持续积累“核心数字资产”,是低代码平台必须解决的问题。在做技术评估时,千万别忘了这些运行在后台,没有任何界面的逻辑,因为这些才是系统和开发团队的核心竞争力。

前后端分离,图片来自网络

Q5:是否有全系统模块的解决方案?

在实际项目交付过程中,如果我们仅可以满足99%的需求,另外1%的需求满足不了,真实用户大概率是不会买单的。因此,在评估低代码产品的时候,我们一定要保证该平台可以支撑所有系统模块类型的开发,至少也要有足够的扩展性,可以确保使用纯代码开发出的模块能够与低代码模块进行无缝集成。

考虑到巨大的生产力差距,低代码平台覆盖的模块越多,整个项目的开发效率也会越高。那么,企业软件通常会涉及哪些类型的模块呢?我将其中最常见的列举如下:

  • 多终端页面

  • 可精确打印的报表

  • 图表构成的可视化大屏

  • 自动化任务

Q6:如何保证开发出应用的系统安全性?

安全性对任何一个系统都至关重要。使用低代码平台所开发出的应用中,绝大多数逻辑都是低代码开发者自行构建的,而不是出自低代码平台厂商。所以,我们很难通过平台的安全性报告来简单评判开发出应用的安全性,这就相当于没人关心Visual Studio和eclipse的安全报告一样。

这并不意味着我们不需要关心低代码平台自身的安全性。那么,我们该如何看待低代码平台的安全性,如何评估使用该平台开发出应用的安全性?以下几点值得参考:

  1. 该低代码平台是否有金融或者银行业的客户?这些行业一般对安全性要求比较高,他们能用一般行业肯定可以使用

  2. 在评估阶段,您可以基于该平台创建一个demo程序,并对这个demo做安全性检查,下面是一些安全检查的工具或者产品:ZAP – OWASP(免费)、SonarQube – SonarWorks(收费)、Burp Suite – PortSwigger(收费)、AppScan - IBM(收费)

OWASP的ZAP检测工具,图片来自ZAP官网

Q7:平台是否独立,能够不依赖其他第三方的产品?

这个点听上去有些奇怪,为什么会有低代码平台依赖特定的第三方产品?这就与国内低代码所处的发展阶段有关了。我来举两个例子:

  • 有的产品说他是Excel的设计模式,但是其实他们所有的页面设计都是在Excel中,甚至访问时也是在Excel中访问,听起来没什么大问题,但是这其中有一个非常重要的点,Excel经常会更新Excel2008,Excel2010,Excel2016,….,这样每一次Excel升级,您都需要重新购买一次他们这个平台了;

  • 有的低代码产品说自己是B/S架构,但是你必须安装他们特定的浏览器才能访问,这跟C/S架构的系统有什么区别?

为了确保后面的开发和部署过程可控,我推荐您优先选择独立的低代码平台。如果因为其他原因需要选择一款依赖特定的第三方软件,如数据库、Web服务器等的低代码平台,则需要将这些依赖的软件纳入部署清单和操作手册。

Q8:是否会产生新的“数据孤岛”?

数据孤岛这个概念从提出到现在,一直是企业信息化行业最希望解决的问题。作为新一代的软件开发技术,我们不需要使用低代码开发出来的应用成为新的数据孤岛。所以,不论是连接现有的数据库,还是支持通过Web API与其他软件互通,低代码都必须具有开放性,不能产生新的数据库孤岛。

跟进一步,如果该低代码平台可以帮助我们解决企业的数据孤岛问题,将多个系统打通,通过整合多源数据实现协同增效,那就更是一个加分项目了。

数据孤岛现象,图片来自网络

Q9:该平台的产品生态建设如何,是否有激励机制?

聚沙成塔,如果一个低代码产品选择孤军奋战,没有生态,大概率是不能长久的。对于低代码开发平台,生态的价值主要体现在以下两个方面:

  • 模板:模板也叫开发成果,是指开发者使用低代码平台为特定行业或场景构建的“半成品”系统。基于半成品进行二次开发,可以进一步提升企业应用的构建速度。成熟的低代码平台通常具备模板市场,通过商务和技术手段,鼓励开发者将自己使用该平台开发出的应用放在市场中分享或销售,打造“人人为我,我为人人”的正向循环。

  • 插件:低代码平台通常会开放插件机制,以吸引更多开发者封装自己开发的“模块”。插件和平台在一起运行,让低代码平台的应用场景更丰富。事实上,一家平台厂商的技术能力再强,也不能全部满足客户的所有需求。只有开放插件机制,建立插件付费环境,才能让广大的开发者都参于进来,共同打造更强大的平台。

低代码平台生态的关键在于如何建立长效激励机制,实现正向循环,通俗的理解就是让生态上游的开发者可以通过付费机制获得合理的回报。我们相信,只有提供长效激励机制的平台生态才能持久。

多种连接器插件,图片来自Power Apps官网

小结

在低代码平台的井喷期,使用者更应该擦亮眼睛,选择合适的平台产品,充分利用新技术带来的新价值、新动能。上面九个问题,就是我为您整理的低代码技术选型思路,希望能够帮正在评估低代码平台的软件公司和企业IT部门少走弯路,抓住时代潮流,开启低代码之旅。



作者:低代码观察员
链接:https://www.jianshu.com/p/e9293f6c9add
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


低代码开发平台是一种为用户提供图形界面进行编程的应用程序,通过这种方式我们可以非常快速地开发代码并减少传统的编程工作。这些工具通过减少手工编码的工作量来帮助快速开发代码。它们不仅有助于编码,还有助于快速设置和部署。

笔者近期调研了几家国外的lowcode平台, 也参考了很多资料, 确实收获很多, 接下来就来给大家介绍一下国外比较有名的lowcode开发平台.

1. Visual LANSA

image.png

标签: 低码>>高控制

LANSA的低代码开发平台可加速并简化企业应用程序的创建,同时使我们的开发团队更加高效。LANSA让企业重新掌控一切。

特点:

  • 强大的低代码IDE,可创建桌面,Web和移动应用程序。

  • 与传统方法相比,可以更快,更轻松且以更低的成本构建应用程序。

  • 广泛的测试,部署和集成控制。

  • 全球数以千计的公司正在使用。

  • 能够在IDE内编写代码。

  • 只有低代码才能在IBMi,Windows和Web上运行。

总结: Visual LANSA将使专业开发人员可以比传统编码更快地创建应用程序,并且其控制量比在低代码平台中通常看到的要高得多。

在线地址: https://www.lansa.com/

2.GeneXus

image.png

标签: 制作软件的软件。

特点:

  • 基于AI的自动软件生成。

  • 多端应用程序:一次建模,为多个平台生成(响应和渐进式Web应用程序,移动本机和混合应用程序,Apple TV,聊天机器人和虚拟助手)。

  • 超高的灵活性:市场上支持的数据库数量最多。系统集成的互操作性功能。

  • 面向未来:长时间演进系统,并自动在技术和平台之间进行切换。

  • 业务流程管理支持:通过集成的BPM建模实现数字流程自动化。

  • 部署灵活性:在本地,云或混合方案中部署应用程序。

  • 包括应用程序安全模块。

  • 没有运行时用于生成的应用程序,按开发人员的位置定价。

结论: 凭借30多年的经验,GeneXus提供了一个独特的平台,可以捕获用户的需求并生成适用于当前和未来技术的应用程序,而无需学习每种新技术。允许务实的开发人员快速发展,以敏捷的方式应对市场和技术变化。

在线地址: https://www.genexus.com/en/

3.Zoho Creator

image.png

标签: 构建,集成,扩展。

Zoho Creator的跨平台应用程序编辑器有助于更快地构建本机移动应用程序。在网络上创建应用程序,然后在具有多平台访问权限的iOSAndroid设备上发布和使用这些应用程序。

Zoho Creator平台在全球拥有700万用户和600万应用程序,其功能强大而灵活,可以满足企业的业务需求。Zoho Creator在2020年针对企业低代码应用平台(LCAP)的Gartner魔力象限中得到了突出体现。

特点:

  • 轻松创建更多应用程序。

  • 连接业务数据并在各个团队之间进行协作。

  • 创建有见地的报告。

  • 即时访问移动应用程序。

  • 毫不妥协的安全性。

结论: Zoho Creator提供了低代码应用程序开发平台来构建企业应用程序。它涉及以最少的代码构建应用程序,从而大大减少了应用程序开发时间和工作量。

在线地址: https://www.zoho.com/creator/?utm_source=STH&utm_medium=Website&utm_campaign=lowcode

4.Creatio

image.png

标签: 每个人都可以在几分钟之内自动完成业务构想。

Studio Creatio是一个智能的低代码和流程管理平台,具有开箱即用的解决方案和模板。Creatio Marketplace具有随时可用的应用程序和解决方案,这些应用程序和解决方案将扩展平台功能。

特点:

  • BPM引擎可以灵活地管理结构化和非结构化流程。

  • 低代码/无代码自动化可轻松构建配置解决方案。

  • AI /机器学习工具可加速业务流程,制定数据支持的决策并简化分析工作。

  • 它为视觉建模提供了领先的UI。

  • 可以通过“应用程序向导”构建各种类型的应用程序。

  • 具有安全性和管理功能。

  • 提供的功能可简化客户参与并加速服务交付。

结论: Creatio提供了方便的图形和仪表板。使用此工具将加快我们的日常操作。它将帮助我们管理各种类型的案件并调整时间表。

在线地址: https://www.creatio.com/page/low-code-software?activity=sthlowcode

5.Appian

标签: 更自动化的无代码。更快地交付功能强大的业务应用程序。

Appian的智能自动化平台将帮助组织构建智能应用程序,从而提高业务,客户参与度和工作效率。它将确保您有关关键应用程序的安全性。

特点:

  • 拖放工具。

  • 它提供本机AI服务。

  • 它还通过Google Cloud,Amazon AWS和Microsoft Azure提供与AI / ML平台的无代码集成。

  • 无需编写任何代码,您就可以集成企业数据,系统和Web服务。

结论: Appian是软件开发平台的提供商。Appian低代码开发平台是智能自动化和低代码开发的结合。

在线地址: https://www.appian.com/

6.KiSSFLOW – BPM & Workflow Software

image.png

标签: 自动化工作, 减少混乱。

KiSSFLOW- BPM和工作流程软件将使我们能够创建自定义应用程序并使业务流程自动化。它提供了超过45个预安装的应用程序来创建我们自己的业务应用程序。

特点:

  • 它完全消除了编码的需要。

  • 拖放工具以添加和编辑字段。

  • 也可以使用拖放功能来构建任务和逻辑。

  • 它将允许您数字化您的表格和请求。

结论: 它提供了基于云的解决方案,可以供任何规模和任何行业的企业使用。

在线地址: https://kissflow.com/workflow/

7.Mendix

标签: 低代码应用程序开发平台。

Mendix提供了用于构建应用程序的平台。它支持任何设备的应用程序开发。它具有私有云,公共云和本地部署的选项。它还提供了企业版的自动备份和水平扩展功能。

特点:

  • 敏捷项目管理。

  • 可视化建模工具。

  • 可重用的组件。

结论: Mendix是具有脱机工作功能的快速应用程序开发平台。它易于采用,非常适合任何人。

在线地址: https://www.mendix.com/

8.OutSystems

image.png

标签: 快速构建企业级应用程序。

OutSystems使我们以无与伦比的速度开发应用程序。它可用于构建移动应用程序,Web应用程序和企业级应用程序。

特点:

  • 在云或本地中体验应用程序的无错误部署。

  • 可以获取实时性能仪表盘。

  • 将能够交付可伸缩的应用程序。

  • 为我们的应用程序提供最新的安全性。

  • 搭建的应用程序可以与任何系统集成。

结论: 使用OutSystems快速应用程序开发平台,开发人员可以更轻松地交付应用程序并编辑这些应用程序。

在线地址: https://www.outsystems.com

9.Salesforce Lightning

image.png

标签: 销售和CRM的未来。

Salesforce Lightning提供了构建具有高级安全性的移动应用程序的平台。Pro-Code工具将允许您使用任何编程语言来创建应用。它提供了嵌入AI和IoT以及与Salesforce和第三方数据集成的功能。

特点:

  • 使用无代码构建器,构建移动应用程序将变得更加容易。

  • 通过电子表格即时创建应用。

  • Lightning Process Builder将帮助我们构建复杂的工作流程。

结论: Salesforce Lightning提供了一套用于构建业务应用程序的工具。该平台将允许开发人员使用自定义组件和标准组件来构建应用程序。它还提供了加速生产过程的功能。

在线地址: https://www.salesforce.com/campaign/lightning/

10.Microsoft PowerApps

image.png

标签: 面向业务的应用程序。

Microsoft PowerApps提供了构建应用程序的平台。开发人员将能够通过开发人员的可扩展性来扩展应用程序功能。

特点:

  • 点击设计应用程序。

  • 预定义的模板。

  • 易于将应用程序连接到数据。

  • 能够开发与iOS,Android和Windows设备兼容的基于Web的应用程序。

结论: 微软通过PowerApps提供了低代码开发平台。PowerApps是一个功能强大的工具,可用于构建具有一些复杂UI的应用程序。它具有丰富的功能。它具有基于云的服务集成,工作流自动化,应用共享,应用运行等功能。

在线地址: https://powerapps.microsoft.com

最后

最近H5-Dooring仍然在持续迭代和升级, 可视化大屏V6.Dooring也已上线第一个版本. 国内lowcode平台仍然有很长的路要走, 期待大家一起努力

成长型企业现在面临的挑战比以往任何时候都多。一方面,降低成本的压力与日俱增。另一方面,你需要扩大业务规模,满足需求。虽然最好的解决方案是依靠定制应用程序和自动化来简化业务,但对大多数企业来说都是一个负担。

什么是低代码?它与传统的应用程序开发有何不同?为什么要考虑低代码应用程序?不管你对低代码一无所知,还是好奇这些平台有多强大,这里有25个关于低代码的令人震惊的事实你必须知道。

关于低代码需求增长的事实
在新冠疫情爆发后,企业比以往任何时候都感受到了将业务推到云端的压力。这些事实凸显了组织中对低代码的需求日益增长。

1. 更多的组织正在使用低代码

根据Gartner的数据,2024年超过65%的应用程序开发将由低代码平台完成。

2. 商务应用需求不断增长

企业正在构建的应用程序数量将急剧增加。在2018年至2023年间,将创建超过5亿个应用程序。这比过去40年的总和还要多。

3. 预测:低代码市场的急剧增长

所有这些驱动因素都意味着,随着越来越多的公司看到采用低代码平台满足其业务需求的好处,预计低代码市场的市值将从2019年的103亿美元增加到2030年的1870亿美元。复合年增长率为31.1%。

这种大规模增长的推动力是什么?优化工作流程、构建定制应用程序和满足客户需求,所有这些都需要在有限的IT预算内实现。

关于传统编程真正成本的事实
构建应用程序的旧方法无法跟上当今数字市场的步伐。这些事实展示了传统应用程序构建的缺点,以及为什么低代码是一个更可行(而且更经济实惠)的解决方案。

4. 首席信息官们努力填补技术职位

83%的首席信息官难以依靠雇佣员工来满足日益增长的需求。主要差距在于分析、信息管理和大数据。各组织对技术的需求比以往任何时候都强烈,但合格的开发人员却很少,这会迫使IT部门的员工过度工作。

5. 对程序员的需求前所未有

美国目前有超过500000个计算机科学工作岗位,预计该领域的增长速度将是其他工作领域的两倍。随着越来越多的组织希望通过集成和自动化来简化流程,对具有计算机编程背景的人员的需求也在增长。这是因为企业意识到他们需要一个有效的数字战略来保持领先于竞争对手。

6. 软件开发人员的工资持续增长

软件开发者的平均工资是104425美元。此外,美国有22.3万多个软件开发人员职位空缺,而这些职位正是各公司难以填补的。这只是供求关系。人才的大量吸纳推高了薪资溢价,使IT预算较大的企业有能力收集更多人才。

7. 技术债务账户浪费IT预算

技术债务是公司为维护和修复应用程序中的代码而支付的成本。一家公司平均每行代码花费3.61美元。对于平均大小为300000行代码(LOC)的应用程序,每个应用程序需要1083000美元。–CAST软件

更糟糕的是,工程师33%的时间用于处理技术债务。这一巨大障碍阻碍了软件工程师专注于构建企业扩展业务和更好地服务客户所需的工具。

关于低代码企业采用的事实
低代码适用于大大小小的组织,企业组织希望在实现预期的同时削减成本。

8. 主要行业面临风险

越来越多的大型企业将难以维持客户关系。到2025年,五大零售银行业务(消费金融、抵押贷款、中小企业贷款、零售支付和财富管理)将面临风险。原因是什么?由于利润压缩,竞争者将压低价格。这些精简的企业将能够以更低的成本提供更多的功能和更强大的关系。

9. 企业采用率目前较低

目前,12%的企业使用低代码工具来管理他们的流程,因为Forester对流程到数字转换的重要性与日俱增。而企业对遗留系统的投资,以及在过渡到新系统时感觉到的风险阻碍了他们采用低代码的进度。

10. 大型组织越来越多地选择低代码

根据Gartner的数据,“到2024年,75%的大型企业将在IT应用程序开发和公民开发计划中使用至少四种低代码开发工具。”

11. 企业公司需要更多的公民开发者

根据Gartner的《公民发展是数字工作场所的基础》报告,到2020年,大多数企业(70%)都将为公民开发者制定政策。这是因为在低代码平台上培训员工通常比扩展IT部门和资源要便宜。

关于低代码投资回报率的事实
低代码除了能够降本增效外,还有其它超预期的回报。

12. 低代码价格实惠

低代码成本是多种多样的,通常作为订阅服务运行。企业运行的应用程序越多,成本就越高。对于企业级软件来说,估计可能低至每月25美元,高达5000美元以上。成本随使用而变化。因此,小企业只为他们使用的东西付费,从而为其他计划腾出资源。

13. 低代码意味着低风险和高回报

Outsystems帮助施耐德电气(Schneider Electric)等企业在20个月内推出了60款应用程序,其中大多数应用程序仅在10周内交付。

流程改进和优化通常是低代码开发的重点领域。自动化和集成倾向于产生快速的ROI,使得低代码成为吸引小型和大型企业的平台。

14.遗留系统的维护成本太高

遗留系统往往比它们产生的价值更麻烦。联邦政府800亿美元的IT预算中有75%以上用于维护遗留系统,其中许多已经超过25岁。遗留系统通过吸收大部分IT预算而阻碍企业的发展,将它们与过时的平台联系起来,这些平台交付不足并限制了组织的响应能力。

15. 员工可以快速学习低级代码。

低层代码设计得简单易用。员工只需要简单的培训就可以快速创建改善业务所需的系统。例如,402软件维护小组在两周内学习并部署了一个企业级HRT应用程序。

16.低代码减少了开发过程中的步骤

用低代码构建软件将软件开发过程中的步骤从16个减少到只有7个。因为代码较少,所以可以避免规划系统架构、设置后端框架、硬编码和无休止的测试等步骤。

17. 低代码的应用程序开发速度更快

公司可以用较低的代码在较短的时间内快速生成应用程序,而且成本很低。毕竟,要处理的代码要少得多。更少的代码意味着更少的问题。因此,大多数应用程序的上市时间大大加快。

18. 低代码水平的竞争环境

低代码为定制应用程序开发提供了一个清晰的替代方案。它通过使构建的业务应用程序更经济实惠,为大公司和成长中的中小企业之间的竞争提供了公平的环境。而且它可以迅速加快应用程序从构思到部署所需的时间。

关于顶级低代码平台的事实
在寻找合适的低代码平台时,你有很多选择。这些是关于顶级低代码平台以及如何选择最佳平台的事实。

19. 有很多低代码平台可供选择

有很多高质量的低代码平台提供了一系列的软件包来支持您的业务。这些平台能够依靠预制的构建来加快业务应用程序的运行速度,或者直接在平台上创建新的应用程序。以下是目前排名前10位的低代码平台:

  1. Zoho Creator

  2. Appian

  3. PowerApps

  4. Mendix

  5. Outsystems

  6. AppMaker

  7. Quickbase

  8. Track Via

  9. Salesforce App Cloud

  10. Kissflow

20. 低代码采用很容易

低代码几乎没有进入障碍。你所需要做的就是接触低代码提供商,与低代码专家交谈。他们将向您介绍他们的服务如何帮助您的业务不断增长,以及您需要采取哪些步骤来开始构建您需要的定制应用程序,以保持竞争力。

低代码底部栏.jpg



作者:APICloud
链接:https://www.jianshu.com/p/81d6c5578f63
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


公共DNS服务器IP地址大全
名称各省公共DNS服务器IP大全
114 DNS114.114.114.114114.114.115.115
阿里 AliDNS223.5.5.5223.6.6.6
百度 BaiduDNS180.76.76.76
DNSPod DNS+119.29.29.29182.254.116.116
CNNIC SDNS1.2.4.8210.2.4.8
oneDNS117.50.11.1152.80.66.66
DNS 派
电信/移动/铁通
101.226.4.6218.30.118.6
DNS 派 联通123.125.81.6140.207.198.6
Cloudflare DNS1.1.1.11.0.0.1
Google DNS8.8.8.88.8.4.4
IBM Quad99.9.9.9
DNS.SB185.222.222.222185.184.222.222
OpenDNS208.67.222.222208.67.220.220
V2EX DNS199.91.73.222178.79.131.110
全国各地电信DNS服务器IP地址大全
名称各省电信DNS服务器IP大全
安徽电信 DNS61.132.163.68202.102.213.68
北京电信 DNS219.141.136.10219.141.140.10
重庆电信 DNS61.128.192.6861.128.128.68
福建电信 DNS218.85.152.99218.85.157.99
甘肃电信 DNS202.100.64.6861.178.0.93
广东电信 DNS202.96.128.86202.96.128.166
202.96.134.133202.96.128.68
广西电信 DNS202.103.225.68202.103.224.68
贵州电信 DNS202.98.192.67202.98.198.167
河南电信 DNS222.88.88.88222.85.85.85
黑龙江电信219.147.198.230219.147.198.242
湖北电信 DNS202.103.24.68202.103.0.68
湖南电信 DNS222.246.129.8059.51.78.211
江苏电信 DNS218.2.2.2218.4.4.4
61.147.37.1218.2.135.1
江西电信 DNS202.101.224.69202.101.226.68
内蒙古电信219.148.162.31222.74.39.50
山东电信 DNS219.146.1.66219.147.1.66
陕西电信 DNS218.30.19.4061.134.1.4
上海电信 DNS202.96.209.133116.228.111.118
202.96.209.5180.168.255.118
四川电信 DNS61.139.2.69218.6.200.139
天津电信 DNS219.150.32.132219.146.0.132
云南电信 DNS222.172.200.6861.166.150.123
浙江电信 DNS202.101.172.3561.153.177.196
61.153.81.7560.191.244.5
全国各地联通DNS服务器IP地址大全
名称各省联通DNS服务器IP大全
北京联通 DNS123.123.123.123123.123.123.124
202.106.0.20202.106.195.68
重庆联通 DNS221.5.203.98221.7.92.98
广东联通 DNS210.21.196.6221.5.88.88
河北联通 DNS202.99.160.68202.99.166.4
河南联通 DNS202.102.224.68202.102.227.68
黑龙江联通202.97.224.69202.97.224.68
吉林联通 DNS202.98.0.68202.98.5.68
江苏联通 DNS221.6.4.66221.6.4.67
内蒙古联通202.99.224.68202.99.224.8
山东联通 DNS202.102.128.68202.102.152.3
202.102.134.68202.102.154.3
山西联通 DNS202.99.192.66202.99.192.68
陕西联通 DNS221.11.1.67221.11.1.68
上海联通 DNS210.22.70.3210.22.84.3
四川联通 DNS119.6.6.6124.161.87.155
天津联通 DNS202.99.104.68202.99.96.68
浙江联通 DNS221.12.1.227221.12.33.227
辽宁联通 DNS202.96.69.38202.96.64.68
全国各地移动DNS服务器IP地址大全
名称各省移动DNS服务器IP大全
江苏移动 DNS221.131.143.69112.4.0.55
安徽移动 DNS211.138.180.2211.138.180.3
山东移动 DNS218.201.96.130211.137.191.26


Mysql数据库中计算两GPS坐标的距离有两种方式:
1、直接使用SQL语句:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#lat为纬度, lng为经度, 一定不要弄错
declare @lng1 float;
declare @lat1 float;
declare @lng2 float;
declare @lat2 float;
set @lng1=116.3899;
set @lat1=39.91578;
set @lng2=116.3904;
set @lat2=39.91576; 
select (2*ATAN2(SQRT(SIN((@lat1-@lat2)*PI()/180/2)  
        *SIN((@lat1-@lat2)*PI()/180/2)+  
        COS(@lat2*PI()/180)*COS(@lat1*PI()/180)  
        *SIN((@lng1-@lng2)*PI()/180/2)  
        *SIN((@lng1-@lng2)*PI()/180/2)),  
        SQRT(1-SIN((@lat1-@lat2)*PI()/180/2)  
        *SIN((@lat1-@lat2)*PI()/180/2)  
        +COS(@lat2*PI()/180)*COS(@lat1*PI()/180)  
        *SIN((@lng1-@lng2)*PI()/180/2)  
        *SIN((@lng1-@lng2)*PI()/180/2))))*6378140;
#返回结果: 42.7484246368099


2、定义函数后再调用(适合批量计算):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# use aiezu;
drop function getDistance;
DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(
     lng1 float(10,7)
    ,lat1 float(10,7)
    ,lng2 float(10,7)
    ,lat2 float(10,7)
RETURNS double
begin
    declare double;
    declare radius int;
    set radius = 6378140; #假设地球为正球形,直径为6378140米
    set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2)  
        *SIN((lat1-lat2)*PI()/180/2)+  
        COS(lat2*PI()/180)*COS(lat1*PI()/180)  
        *SIN((lng1-lng2)*PI()/180/2)  
        *SIN((lng1-lng2)*PI()/180/2)),  
        SQRT(1-SIN((lat1-lat2)*PI()/180/2)  
        *SIN((lat1-lat2)*PI()/180/2)  
        +COS(lat2*PI()/180)*COS(lat1*PI()/180)  
        *SIN((lng1-lng2)*PI()/180/2)  
        *SIN((lng1-lng2)*PI()/180/2))))*radius;
    return d;
end
$$
DELIMITER ;
select getDistance(116.3899,39.91578,116.3904,39.91576); #调用函数
#返回结果:43.045058294389

 
常见问题及解决方法:
常见问题:
  在创建函数前报如下错误:

1
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

解决方法:
  在创建函数前执行下面SQL语句:

1
set global log_bin_trust_function_creators=1;

或者修改my.cnf文件并重启mysqld服务:

1
log_bin_trust_function_creators=1


PHP计算两个GPS坐标点之间的距离: http://aiezu.com/article/18.html
Javascript计算两个GPS坐标的距离: http://aiezu.com/article/17.html