flutter折线图统计,flutter 图表
编程时选用的程序设计语言,对软件的开发与维护的影响?
【CSDN 编者按】“如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料。”作为一名开发者,需跟随技术潮流的发展来学习新技术。2020年,你有计划新学一门编程语言吗?
创新互联公司主要从事成都网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务南海,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
本文作者从一名架构师的角度,详细分析了7种现代编程语言的优点与功能,你对哪门语言最感兴趣呢?
作者 | Md Kamaruzzaman,软件架构师
译者 | 弯月,责编 | 伍杏玲
封图| CSDN 下载于视觉中国
出品 | CSDN(ID:CSDNnews)
以下为译文:
如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,而编程语言就像引擎的燃料。作为一名开发者,今年你应该学习哪种编程语言呢?
学习一种新的编程语言无疑是时间、精力和智力上的巨大投资, 但是学习一种新的编程语言可以提升你的软件开发技术力,促进你的职业发展。
在这里,我将献上一份现代编程语言的列表,这些语言不仅有助于提高你的生产力,而且还可以促进你的职业发展,并让你成长为更优秀的开发人员。这份列表还涵盖了非常广泛的领域:系统编程、应用程序开发、Web开发、科学计算等。
什么是现代编程语言?
“现代编程语言”这个说法本身就很含糊。许多人认为Python和JavaScript等语言是现代编程语言,还认为Java是一种古老的编程语言。实际上,这几种语言大约在同一时间出现:1995年。
大多数主流编程语言是上个世纪开发的:七十年代(如C)、八十年代(如C ++)、九十年代(如Java、Python、JavaScript)。这些语言在设计上并没有考虑现代软件开发生态系统:多核CPU、GPU、快速的互联网、移动设备、容器和云等。尽管许多语言中的许多功能都已进行一些改进,如并发等,而且在不断调整自己以适应时代,但它们依然保留了向后兼容性,无法抛弃那些过时的旧功能。
在这方面,Python就做得很好(某种意义上也未必是好事),Python 2和Python 3两者之间有明确的分界线。很多语言常常会为解决同一个问题提供十余种的方法,同时又没有顾及到开发人员的感受。根据StackOverflow的开发人员调查,大多数旧时的主流编程语言在“最可怕的语言”排名都名列前茅:
如果非要在新旧编程语言之间划个界限的话,那么应该是2007年6月29日,也就是第一台iPhone发行的时候。在这之后,编程语言界发生了很大变化。因此,在本文的列表中,我只考虑2007年以后的编程语言。
为什么要学习新语言?
首先,现代编程语言充分利用现代计算机硬件(多核CPU、GPU、TPU)、移动设备、大量数据、高速互联网、容器和云的优势。大多数现代编程语言会关注开发人员的体验,比如:
简洁明了的代码(减少样板代码)
内置的并发支持
空指针安全
类型推断
简洁的功能集
降低学习难度
融合所有编程范例的最佳功能
本文列表的许多编程语言都带有革命性地变化,并将永久地改变软件行业。一些已成为主流编程语言,还有一些则有望取得突破。因此选择这些语言作为第二种编程语言是明智的做法。
Rust
一直以来,系统编程语言环境主要由靠近硬件的语言(如C、C ++等)主导。尽管它们可以完全控制程序和硬件,但是它们缺乏内存安全性。即使它们支持并发,使用C/C ++编写并发程序也很困难,因为没有并发安全性。还有一些流行的编程语言是解释性语言,例如Java、Python、Haskell。这些语言具备安全性,但需要庞大的运行时或虚拟机。由于它们的运行时间长,因此Java等语言不适合于系统编程。
许多人曾尝试将C/C ++的功能与Java、Haskell的安全性相结合。然而,Rust才是第一个成功实现了这一点的编程语言。
Graydon Hoare在业余项目中开发出了Rust,他的灵感来自研究编程语言Cyclone。Rust是开源的,由Mozilla与许多其他公司和社区一起领导这门语言的开发。Rust于2015年首次发布,并很快引起了社区的关注。
主要特征:
通过所有权和借用概念提供内存安全和并发安全。
内存安全和并发安全在编译时确保,即如果程序代码可以编译,那么内存既安全又没有数据竞争。这是Rust最吸引人的功能。
它还提供了Haskell中元编程的表现力。凭借不可变的数据结构和功能编程功能,Rust提供了功能并发和数据并发。
Rust的速度非常快,纯Rust的性能甚至优于纯C。
在没有运行时的情况下,Rust可以完全控制现代硬件(TPU、GPU、多核CPU)。
Rust具有LLVM支持。因此,Rust提供一流的与WebAssembly的互操作性,而且Web代码也非常快。
流行度:
自2015年首次亮相以来,Rust已被开发人员广泛接受,并在StackOverflow开发人员调查中连续四年(2016、2017、2018、2019)被评选为最受欢迎的语言:
根据GitHub Octoverse的调查,Rust是运行速度第二快的语言,仅次于Dart:
此外,根据编程语言流行度排名网站PyPl的数据,Rust排名第18位,并呈上升趋势:
对比Rust提供的功能集,我们就会明白为什么微软、亚马逊、Google等科技巨头相继宣布投资Rust作为一种长期的系统编程语言。
根据Google统计的趋势,在过去的5年中,Rust的热度每年都在增加。
主要用途:
系统编程
Serverless 计算
商业应用
主要竞争对手:
C
C++
Go
Swift
Go
在本世纪初,Google面临两个扩展问题:开发扩展和应用程序扩展。开发扩展问题指的是他们不能仅通过投入开发人员的方式来添加更多功能。应用程序扩展问题则指他们无法开发出一款能够扩展到Google级别的计算机集群的应用程序。
所以在2007年左右,Google创建了一种新的编程语言,用于解决这两个扩展问题。两位才华横溢的Google软件工程师Rob Pike(UTF-8)和Ken Thompson(UNIX OS)创建了一种新语言。
2012年,Google正式发布了第一版的Go编程语言。Go是一种系统编程语言,但与Rust不同,它还具有Runtime和垃圾收集器(几兆字节)。但是与Java或Python不同,这个Runtime包含了生成的代码。最后,Go生成了一个本地的二进制代码,可以在没有附加依赖项或运行时的情况下在计算机中运行。
主要特征:
Go具有一流的并发支持。Go不通过线程和锁提供“共享内存”并发性,因为编程难度太大。相反,它提供了基于CSP的消息传递并发性(基于Tony Hoare的论文)。Go使用“ Goroutine”(轻量级绿色线程)和“ Channel”进行消息传递。
Go最大的杀手级功能是:简单,它是最简单的系统编程语言。新手软件开发人员只需几天就可以编写高效的代码,就像Python一样。有些大规模的云原生项目(如Kubernetes、Docker)都是用Go编写的。
Go还内置了垃圾收集器,这意味着开发人员无需担心C/C++中的内存管理问题。
Google投入了大量资金打造Go。因此Go拥有大量的工具支持。新手Go开发人员拥有大量的工具生态系统。
一般,开发人员80%的时间都花在了维护现有代码上,用于编写新代码的时间只占20%。由于其简单性,Go在语言维护方面表现出色。如今,Go在业务应用程序中大量使用。
流行度:
Go一问世就受到了软件开发社区热烈的欢迎。2009年-2018年,Go一直在TIOBE编程语言排行榜上徘徊。Go的成功为Rust等新一代编程语言铺平了道路。
如今,Go已是主流编程语言。最近,Go团队宣布了有关“Go 2”的消息,这门编程语言的发展会更加稳固。
几乎在所有的流行编程语言排行榜中,Go的排名都很高,已超过许多现有的语言。自2019年12月以来,在TIOBE指数排名中,Go名列第15位:
根据StackOverFlow的调查,十大最受喜爱的编程语言中,Go也位列其中:
此外,根据GitHub的数据,Go也是十大发展最迅速的语言之一:
Google趋势显示,在过去的5年中,Go的热度每年都在增加。
主要用途:
系统编程
Serverless 计算
商业应用
云原生开发
主要竞争对手:
C
C++
Rust
Python
Java
Kotlin
Java 是企业软件开发领域无可争议的王者。近年来,Java受到了一些负面评论:过于冗长,大量样板代码,容易出现意外的复杂性。但是,关于Java虚拟机(JVM)的争论却很少。JVM是软件工程的杰作,经过了时间的考验,提供了硬核的runtime。
多年来,Scala等JVM语言一直在努力克服Java的缺点,想成为更好的Java,但他们都失败了。最终,这场提升Java的探索以Kotlin的诞生结束。Jet Brains(流行的IDE IntelliJ背后的公司)开发了Kotlin,它可以在JVM上运行,克服了Java的很多缺点,提供许多现代功能。
与Scala不同的是,Kotlin比Java更简单,还可在JVM中提供与Go或Python开发人员同等的生产力。
Google宣布Kotlin是一流的Android应用开发语言,因此Kotlin在社区中的接受度得到了大幅提高。自2017年以来,同样受欢迎的Java Enterprise框架Spring也开始支持Kotlin。我曾尝试结合Kotlin与Reactive Spring使用,体验非常棒。
主要特征:
Kotlin的主要卖点在于其语言设计。我总是将Kotlin视为JVM上的Go/Python,因为它简洁明了的代码。因此,Kotlin的生产力很高。
与许多其他现代语言一样,Kotlin提供了Null指针、安全性、类型推断等功能。
由于Kotlin也运行在JVM中,因此现有Java库庞大的生态系统都可供使用。
Kotlin是一流的Android应用开发语言,并且已经超过Java,成为开发Android应用的首选。
Kotlin得到了JetBrains和Open Source的支持,因此具有出色的工具支持。
Kotlin有两个有趣的项目:Kotlin Native(将Kotlin编译为原生代码)和kotlin.js(Kotlin到JavaScript)。如果成功,则可以在JVM外部使用Kotlin。
Kotlin还提供了一种简单的方式来编写DSL(域特定语言)。
流行度:
自2015年首次发布以来,Kotlin的知名度不断飙升。根据Stack Overflow,Kotlin是2019年第四大最受欢迎的编程语言:
Kotlin还是增长最快的编程语言之一,排名第四:
在流行编程语言排名网站PyPl的排名中,Kotlin名列第十二名,并具有较高的上升趋势:
自从Google宣布Kotlin是一流的Android应用开发语言以来,Kotlin的流行趋势出现了大幅上涨,如下所示:
主要用途:
企业应用程序
主要竞争对手:
TypeScript
JavaScript是一门优秀的编程语言,在2015年之前,JavaScript有很多缺点。著名的软件工程师Douglas Crockford写了一本书名为《JavaScript: The Good Parts》,暗示了JavaScript有很糟的部分。无模块化,还有“回调地狱”,因此开发人员都不喜欢维护特别大的JavaScript项目。
Google甚至还开发了一个平台,可将Java代码反编译为JavaScript代码(GWT)。许多公司和个人都曾尝试开发更好的JavaScript,例如CoffeeScript、Flow、ClojureScript。最终,微软的TypeScript取得了成功。
微软的一队工程师在著名的Anders Hejlsberg的带领下,创建了JavaScript的静态类型、模块化超集——TypeScript。
TypeScript可以编译为JavaScript。于2014年首次发布后,TypeScript很快引起了社区的关注。Google当时还计划开发JavaScript的静态类型超集。Google对TypeScript青睐有加,以至于他们没有开发新的语言,而是选择与微软合作改进TypeScript。
Google选择TypeScript作为其SPA框架Angular 2+的主要编程语言。此外,流行的SPA框架React也提供对TypeScript的支持。另一个流行的JavaScript框架Vue.js也宣布将使用TypeScript开发新的Vue.js 3:
另外,node.js的创建者Ryan Dahl已决定使用TypeScript来开发安全的Node.js替代品Deno。
主要特征:
流行度:
开发人员喜欢TypeScript的优雅语言设计。在StackOverFlow最受欢迎的语言类别的调查中,TypeScript与Python并列第二名:
根据GitHub的排名,TypeScript是增长最快的编程语言之一,排名第五:
从GitHub的贡献度来看,TypeScript排名第七,打进了前十:
Google的趋势表明,在过去的几年中,TypeScript的热度越来越高:
主要用途:
主要竞争对手:
Swift
当初乔布斯拒绝在iOS中支持Java(和JVM),他认为Java不再是主流编程语言。如今我们发现乔布斯当初的估计是错的,虽然iOS仍然不支持Java。苹果选择了Objective-C作为iOS中的首选编程语言。Objective-C是一门很难掌握的语言,它不支持现代编程语言所要求的高生产力。
后来,苹果的Chris Lattner和其他人开发了一种多范例、通用的、编译编程语言——Swift,来替代Objective-C。Swift的第一个稳定版本于2014年发布。Swift还支持LLVM编译器工具链(也由Chris Lattner开发)。Swift与Objective-C代码库具有出色的互操作性,并且已确立为iOS应用开发中的主要编程语言。
主要特征:
流行度:
开发人员对Swift的喜爱不亚于许多其他现代编程语言。根据StackOverflow的调查,Swift在最受欢迎的编程语言中排名第六:
2019年,在TIOBE的编程语言排名中,Swift的排名上升到了第10名。鉴于这种编程语言只有5年的历史,可以说是成绩斐然:
Google的趋势表明,在过去的几年中,Swift的热度出现了激增:
主要用途:
主要竞争对手:
Dart
Dart是Google出品的第二大编程语言。Google是Web和Android领域的巨头,因此Google在Web和应用领域开发自己的编程语言也不足为奇。在丹麦软件工程师Lars Bak(领导Chrome的 JavaScript V8引擎开发)的带领下,Google于2013年发布了Dart。
Dart是一种通用编程语言,支持“强类型”和“面向对象”编程。Dart也可以转编译为JavaScript,凡是JavaScript可以运行的任何地方(例如Web、移动、服务器)几乎都可以运行 Dart。
主要特征:
流行度:
根据GitHub Octoverse数据显示,Dart是2019年增长最快的编程语言,去年它的流行度增长了五倍:
根据TIOBE指数显示,Dart排名第23,仅用了4年时间就超过了很多其他的现代编程语言:
根据StackOverflow的调查,Dart在最受欢迎的编程语言中排名第12:
受Flutter的影响,Google的趋势表明,在过去的两年中,Dart的热度急剧上升:
主要用途:
主要竞争对手:
Julia
本文提及的大多数编程语言都是由大型公司开发的,但Julia是个例外。科技计算领域通常都会使用动态语言,例如Python、Matlab。虽然这些语言提供易于使用的语法,但不适用于大规模的科技计算。他们需要使用C/C ++库执行CPU密集型任务,因此这就产生了著名的“两种语言”的问题,因为他们需要粘合代码来绑定两种语言。由于编写的代码需要在两种语言之间来回切换,因此总是会损失部分性能。
为了解决这个问题,麻省理工学院的一队研究人员计划从头开始创建一种新的语言,这种语言既可以利用现代硬件的优势,而且还结合其他语言的优势。于是,Julia诞生了。
Julia是一种动态的高级编程语言,提供一流的并发、并行和分布式计算支持。Julia的第一个稳定版本于2018年发布,并很快受到社区和行业的关注。Julia可用于科学计算、人工智能和许多其他领域,而且还可以解决“两种语言”的问题。
主要特征:
流行度:
Julia在许多领域主要与Python竞争。由于Python是最流行的编程语言之一,因此Julia想晋升主流还需要几年的时间。
虽然Julia非常新(只有一岁),但仍在TIOBE指数中排到第43名:
Google趋势显示,在过去的一年中,Julia的热度在稳步增长:
但是考虑到Julia的功能集,以及NSF、DARPA、NASA、因特尔等公司的推动,相信Julia取得突破的进展只是时间的问题。
主要用途:
主要竞争对手:
原文链接:
本文为 CSDN 翻译,转载请注明来源出处。
【End】
Python
Matlab
科学计算
高性能计算
数据科学
可视化
与Rust一样,Julia的主要特征在于语言的设计。这种语言在不牺牲性能的情况下,将高性能和科学计算中现有编程语言的一些功能结合在一起。就目前的情况来看,Julia出色地完成了这项任务。
Julia是一种动态编程语言,支持类型系统但类型不是必须的。因此,Julia这种编程语言很容易学习,生产力很高。
Julia的核心是多调度编程范例。
Julia内部支持并发、并行和分布式计算。
Julia为I/O密集型任务提供异步I/O。
Julia的运行速度非常快,可用于需要数百万个线程的科学计算。
JavaScript
TypeScript
应用开发
UI开发
与Go一样,Dart也非常注重开发人员的工作效率。由于Dart简洁的语法,以及高效的生产力,受到开发人员的喜爱。
Dart还提供“强类型”和“面向对象”编程。
Dart是少数同时支持JIT编译(运行时编译)和AOT编译(创建时编译)的编程语言之一。因此,Dart可以针对JavaScript运行时(V8引擎),并且Dart可以编译为快速的原生代码(AOT编译)。
跨平台原生应用程序开发平台Flutter选择了Dart作为开发iOS和Android应用的编程语言。从那以后,Dart的流行度越来越高。
与Goog的Go编程语言一样,Dart也具有出色的工具支持和庞大的Flutter生态系统。Flutter的日益普及也会推动Dart的采用率升高。
Objective-C
Rust
Go
iOS应用开发
系统编程
客户端开发(通过WebAssembly)
Swift的杀手级功能之一是其语言设计。语言本身很简单,语法简洁,比Objective-C更高效。
Swift还提供了现代程序语言的功能:null安全。此外,它还提供了语法糖来避免“厄运金字塔”。
作为一种编译语言,Swift和C++一样快。
Swift支持LLVM编译器工具链。因此,我们可以在服务器端编程,甚至浏览器编程(使用WebAssembly)中使用Swift。
Swift提供了自动引用计数(ARC)支持,可抑制内存管理的不善。
JavaScript
Dart
Web UI开发
服务器端开发
与Go或Kotlin同样,TypeScript的主要特征也是语言设计。TypeScript凭借其简洁明快的代码,成为了目前最优雅的编程语言之一。就开发人员的生产力而言,它与JVM或Go/Python上的Kotlin并驾齐驱。TypeScript是生产力最高的JavaScript超集。
TypeScript是JavaScript的强类型超集,特别适合大型项目,而且可以称为“可扩展的JavaScript”。
单页应用程序框架的“三巨头”(Angular、React、Vue.js)为TypeScript提供了出色的支持。在Angular中,TypeScript是首选的编程语言。在React和Vue.js中,TypeScript越来越受欢迎。
最大的两家技术巨头:微软和Google正在合作开发由活跃的开源社区支持的TypeScript。因此,TypeScript拥有最好的工具支持。
由于TypeScript是JavaScript的超集,因此凡是可以运行JavaScript的任何地方都可以运行TypeScript,包括浏览器、服务器、移动设备、物联网设备和云。
Java
Scala
Python
Go
谈一谈 charts_flutter的折线图表
记录一下charts_flutter 的使用过程
1.先在pubspec.yaml添加chart包依赖
我这里使用的版本是
2.定义数据类型
3.定义数据源
如下图所示,下图为两条线同理可加两条线
fluttercharts设置y轴最大值
设置如下:
输入OD成本矩阵所需要的输入元素是至少1个起始点与至少1个目的点。
当起始点和目的点都是1个时,就成了最短路径分析了,只不过看不到代表最短路径的那条折线了。
通常,我们可以通过批量导入起始点和目的地点,而不用手工去打。
分析设置
和最短路径分析类似,在输出Shape中只有“无”、“直线”两个选项。
多了两个新的设置参数:中断值和要查找的目的地。
中断值:当超过给定的中断值(搜索半径),就认为目的点不能到达,就不作为结果。例如,超过1000km的距离的城市,就不算了,比如北京和广州。
要查找的目的地:这个数值要小于等于目的点的个数,默认和目的点个数相等。如果给了一个值n,那么就会取该起始点的前n个最近目的点。
Flutter图表库fl_chart的使用解析(二)-折线图
附上开发环境:
折线图是一个 Widget,和普通 Widget一样声明即可:
LineChart 的构造参数是一个 LineChartData,其属性如下:
配置了三条线,所以 lineBarsData 对应的数组有三个元素。
看下 LineChartBarData 属性:
图表四个方向的边框,有总显示开关,决定是否显示和隐藏所有,如果开启,又想隐藏个别边框,需要设置透明色。
FlBorderData 对应边框信息,有两个参数, show 就是显示与隐藏的边框, border 是边框数据。
FlTitlesData 可以配置4条坐标轴,也有一个总开关,如果要显示坐标轴,就设为 true ,然后配置对应位置的数据:
每个位置对应的是 SideTitles ,设置如下:
标题是显示在坐标轴后面的文字标题,每个轴对应一个。
附上源码
五年后的前端会是什么样子的呢?
未来几年前端本身的开发技术应该不会有大的方向变化,但是将会呈现出四大发展趋势:
第一个趋势是入口应用会小程序化
类似腾讯、阿里、滴滴、美团这样作为入口的应用,会自己做自己的一套小程序体系,在自己的app内通行。这里的意思不是说大家都会去用微信小程序,而是会效仿微信小程序这套体系,搬到自己的app内。主要原因是,这些入口应用容纳自己公司各类业务线,已经臃肿不堪,使用原生开发迭代效率跟不上,使用HTML又难以做到高性能,因此使用类似小程序的方案,可以做到畅享HTML多年来积累的开发模式,同时裁撤大量平时用不到的API,降低渲染页面的复杂度。这个趋势会涉及到移动端开发。
第二个趋势是Web前后端融合为全栈开发
Node.js已经给前端开发很好地开了个头,这个头就是让前端人员了解HTTP协议的细节,了解常规的API开发。我相信很多人已经看明白了,为什么我们要做前后端分离,这里面主要原因除了代码开发部署上的分离,还有一部分是让不懂HTTP协议的人不要在接口层瞎鼓捣,因为这里面细节太多了,你都不了解HTTP缓存,你怎么知道哪个API的HTTP header应该用什么呢。因此了解HTTP协议的前端,会慢慢吃掉这部分后端开发的任务,而了解HTTP协议的后端,也会因为三大框架开发模式的成熟而学会前端开发。进而,这些两类人演化为全栈开发。
第三个趋势是营销类页面小程序化
这个指的就是大家平时在微信里看到的各类营销网页,因为主要入口在微信,因此变成微信小程序。这个大家比较好理解吧,就不多说了。小程序现在可能BUG多,功能跟不上,但是要替代这类网页可能也就是2年不到的时间。
第四个趋势才是大家看到的PWA、WASM代表的HTML内的技术改进,这个能影响到的范围看起来很大,但其实场景比较有限,主要是排除掉上面说的1和3之外的空间。空间就在于这两大技术目前都没有成熟的最佳实践,还需要探索。
亲爱的小伙伴,你对前端技术感兴趣吗?想了解一个绚丽多彩网站和小程序是如何被制作出来的吗?欢迎加入我们的前端技术大家庭:。在这里,不仅有志同道合的朋友,指导人生的老师,更有看不完的技术教程随你挑!心动吗?想学吗?那就动动你的小手手,加入我们吧!
程序员的开源月刊《HelloGitHub》第 68 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
这里有实战项目、入门教程、黑 科技 、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
1、 toybox :该项目将 200 多个常用的 Linux 命令行工具,做成一个可执行文件。从而可以让 Android 这种原本不支持 Linux 命令的系统,也得以用上 ls、find、ps 等命令。还可以用于快速构建最小的 Linux 环境
2、 the_silver_searcher :比 ack 更快的命令行搜索工具。速度快、功能强大、使用简单,支持 Linux、Windows、macOS 操作系统,还能够整合进 Vim 和 Emacs 等编辑器
3、 WindTerm :支持 SSH/Telnet/Serial/Shell/Sftp 的终端工具。虽然该软件完全免费,但部分代码尚未完全开源,对安全敏感的同学可以再观望下
4、 wavefunctioncollapse :基于波函数坍缩 (WFC) 算法,实现的无限城市示例。城市里有房子、楼梯、树木、连接房屋的通道,你可以在城市中自由移动、跳跃、飞行,但不论你怎么移动都找不到尽头,因为这座城市会无限延伸
5、 NETworkManager :管理和解决网络问题的工具。它集成了 IP 和端口扫描、WiFi 分析器、跟踪路由、DNS 查询等工具
6、 ppsspp :能够运行在 Android 和 PC 上的开源 PSP 模拟器
7、 leocad :用来创建虚拟乐高模型的 CAD 工具。适用于 Windows、Linux 和 macOS 系统
8、 csshake :用 CSS 实现抖动效果
9、 MangoDB :真正开源的 MongoDB 替代品。它底层采用 PostgreSQL 作为存储引擎,用 Go 语言实现了 MongoDB 协议,所以几乎兼容所有的 MongoDB 库,迁移起来毫无负担。如果你用不到 MongoDB 的高级功能,还受限于它的开源协议,那么这个项目可作为 MongoDB 的开源替代方案。它才刚刚起步,建议观望一段时间或做足测试再用于生产环境
10、 caddy :用 Go 编写的轻量级 Web 服务器。它相较于 Apache、Nginx 这些知名 Web 服务器,独特点在于提供了编译好的可执行文件,实现了真正的开箱即用。无需任何配置即可拥有免费的 HTTPS、自动把 Markdown 文件转化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服务,它完全够用而且省时省心
11、 croc :可以让任意两台计算机,安全方便地传输文件和文件夹的工具。轻松实现端到端加密的跨平台文件传输,还支持多文件传输、传输中断和恢复等功能
12、 jnativehook :获取键盘和鼠标事件的 Java 库。轻松监听按键、鼠标移动、点击等事件
13、 spider-flow :用流程图的方式编写爬虫的平台。无需写代码就可以快速完成一个简单的爬虫
14、 greenDAO :高性能的 Android ORM 库。拥有体积小、易于使用、支持数据库加密等特点,通过它 Android 开发者可以采用面向对象的方式操作数据库,不需要再手写和拼接 SQL 啦
15、 vue-color-avatar :纯前端实现的矢量风格头像生成网站。可以通过搭配不同的素材,生成个性化头像。该项目使用 Vite + Vue3 开发,能够帮助前端初学者熟悉 Vue3 语法并掌握项目搭建的相关知识
16、 colorfu :自动生成由文字/颜色/图片/纹理元素组成的壁纸
17、 pm2 :Node.js 的进程管理工具。它容易上手操作简单,可以有效地提高 Node.js 程序运行的稳定性,支持自动重启、负载均衡、不停服务重启、性能监控等功能,多用于生产环境中管理、监控 Node.js 进程
18、 automa :通过图形化界面拖拽功能模块,实现浏览器自动操作的扩展工具。轻松实现自动填表、截图、定时执行等操作。让浏览器自动完成预设工作流的插件,从而减少重复性操作提高效率
19、 PyWebIO :快速构建 Web 应用的 Python 工具。通过该项目你可在不写 HTML、CSS、JS 代码的前提下,仅用 Python 快速完成一个包含数据展示、表单的小型 Web 应用页面
20、 pottery :以 Python 的方式操作 Redis 的库。忘记那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就会用这个库操作 Redis
21、 zulip :完全开源的企业级即时通讯项目。后端采用 Python 语言实现性能足够强大,功能齐全相当于开源、免费的 Slack,拥有拖拽上传文件、代码高亮、Markdown 语法、应用整合、容易接入的 API 等功能,还支持 Web、PC、iOS 和 Android 主流平台,众多知名企业都在用,能够有效地提高团队沟通和办公效率。同时该项目对新手用户友好,如果你想加入一个不错的 Python 开源项目,推荐你花时间研究下它一定会有所收获
22、 webssh :简单的 SSH 连接服务器的 Python Web 应用。该项目后端采用 Tornado Web 框架和 Python SSH 库 paramiko,前端是 TypeScript 写的命令行前端组件 Xterm.js 实现。整个项目简单还具有实用价值,可作为 Python Web 的实战项目学习
23、 django-debug-toolbar :Django 的调试工具栏。可显示当前请求和响应有关的各种调试信息,包括耗时、SQL、配置、性能等信息
24、 hyperfine :命令行基准测试工具。可用来查看和对比命令的耗时,支持多次运行的统计分析、结果导出等功能
25、 xcode-dev-cleaner :用于清理各种 Xcode 的缓存数据,释放存储空间。注意是清除 Xcode 缓存数据,不是卸载 Xcode 哈
26、 toml :更易读和易于维护的配置文件格式。如果你厌倦了 INI 的局限性、层层嵌套的 JSON 和 YAML 令人心惊胆战的缩进语法,不防给 TOML 一个机会,它支持多种数据类型、抛弃了缩进和嵌套,而且众多流行编程语言都有对应的库。TOML 已经足够成熟,绝对值得一试
27、 waka-readme-stats :自动在 GitHub 个人首页展示编程时长的工具。该项目通过 WakaTime 记录用户在 IDE 的使用时间,统计编程时长和数据,然后采用 GitHub Action 自动获取并动态更新到 GitHub 个人首页。轻而易举地展示自己的编程时长
28、 PathPlanning :常见的路径规划算法集合。项目包含了 Python 代码实现、运行过程动画以及相关论文
29、 howdy :为 Linux 系统提供人脸识别解锁电脑的工具。通过电脑内置的摄像头和红外设备,实现了类似 Windows Hello 风格的身份认证,可用于登陆、锁屏、sudo 等任何需要输入密码的地方
30、 The-Open-Book :开源的电子水墨屏阅读设备。动手能力强的同学可跟着这个项目,从焊电路板开始亲手制作出一个类 Kindle 的 4.2 英寸阅读设备
31、 fl_chart :Flutter 图表库。它支持折线图、条形图、饼图、散点图和雷达图
32、 ugo-compiler-book :《从头开发一个迷你 Go 语言》该书教你从头实现迷你 Go 语言,内容包含了词法解析、语法树构建、函数闭包、接口、CGO 的实现等内容
33、 archbase :教科书《计算机体系结构基础》第三版
34、 spring-in-action-v6-translate :《Spring 实战第 6 版》中文翻译
35、 best_AI_papers_2021 :2021 年必看的人工智能论文列表。该项目不是简单的罗列论文,它不仅包含相关论文的代码、效果展示,还有深入的文章和讲解视频。通过学习这些前沿的人工智能论文,提前了解 AI 在未来更多可能性
36、 AnimeGANv2 :可以将图片和视频转换成漫画风格的工具。采用的是神经风格迁移+生成对抗网络(GAN)的组合,转换速度快
感谢您的阅读,如果觉得内容还不错的话 求赞、求分享 ,您的每一次支持都将让 HelloGitHub 变得更好!
分享文章:flutter折线图统计,flutter 图表
网站网址:http://cdiso.cn/article/dsdeepg.html