阿里十大最受开发者欢迎的工具
阿里十大最受开发者欢迎的工具
精选了一些阿里经济体内部最受开发者欢迎的开发者工具,筛选出一些带有普适性同样适合外部开发者的,希望能助力开发者们提高开发效率。
1. Java 工程脚手架 Java Initializr
官网: https://start.aliyun.com/bootstrap.html
简介: 2020 年由阿里巴巴中间件团队发布的定制版 Java 工程脚手架,快速搭建工程应用。
Java 工程脚手架是一个项目框架生成工具,旨在减少开发者的工程搭建成本,为开发者提供简便、快捷的项目配置体验。
支持 Spring 官方脚手架的全部功能,且增加了丰富的典型配置和使用案例。多种标准应用架构供选择,让你生成完工程就可以直接写代码。基于浏览器的运行环境,进一步降低功能体验和试用的复杂度。
2. Java 线上诊断工具 Arthas
官网: https://arthas.aliyun.com/en-us/index.html
简介:Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。
工具的使用场景:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到 JVM 的实时运行状态?
Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
3. Java 工具集 Dragonwell
官网: https://www.aliyun.com/product/dragonwell
简介: Alibaba Dragonwell 是一款免费的, 生产就绪型 Open JDK 发行版,提供长期支持,包括性能增强和安全修复。阿里巴巴拥有最丰富的 Java 应用场景,覆盖电商,金融,物流等众多领域,世界上最大的 Java 用户之一。Alibaba Dragonwell 作为 Java 应用的基石,支撑了阿里经济体内所有的 Java 业务。Alibaba Dragonwell 完全兼容 Java SE 标准,您可以在任何常用操作系统(包括 Linux、Windows 和 macOS)上开发 Java 应用程序, 运行时生产环境选择 Alibaba Dragonwell。
特性
安全与稳定 紧密与 OpenJDK 社区保持合作,保持对社区工作的跟踪,及时同步上游更新;同时,Dragonwell 选择性的移植高版本 Java 的重要功能,这些移植功能已经在阿里内部被大规模部署,用户都可以免费使用,而不用等下一个 LTS 版本
标准兼容 OpenJDK 的下游, 完全遵循 Java SE 标准,通过 JCK 兼容性测试
性能卓越 Dragonwell 作为阿里巴巴 Java 应用的基石,支撑了阿里经济体内所有的 Java 业务,积累了大量业务场景下的实践和创新
4. Java 代码规约扫描插件
官网: https://github.com/alibaba/p3c
简介: 《阿里巴巴 Java 开发手册》自从第一个版本起,倍受业界关注,相信很多人对其中的规则也有了一定的了解,很多人甚至希望能尽快在自己的团队推行起来,这样大家有了一套共同的开发准则。但是,如何更好的去遵守规则并且按照手册去开发我们的系统确变得不那么容易,为了让开发者更加方便、快速的将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的 IDE 检测插件(IDEA、Eclipse), 该插件在扫描代码后,将不符合《手册》的代码按 Blocker/Critical/Major 三个等级显示在下方,甚至在 IDEA 上,还基于 Inspection 机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,提升代码质量,提高团队研发效能。
5. 应用实时监控工具 ARMS
官网: https://www.aliyun.com/product/arms
简介: 应用实时监控服务 (Application Real-Time Monitoring Service, 简称 ARMS) 是一款应用性能管理产品,包含前端监控,应用监控和 Prometheus 监控三大子产品,涵盖了浏览器,小程序,APP,分布式应用和容器环境等性能管理,能帮助你实现全栈式的性能监控和端到端的全链路追踪诊断, 让应用运维从未如此轻松高效。
工具的使用场景:
晚上 10 点收到 37 条报警信息,你却无从下手?
当我们发现问题的时候,客户/业务方已经发起投诉?
每个月花几十万买服务器,却无法保障用户体验?
6. 性能测试工具 PTS
官网: https://www.aliyun.com/product/pts ;
简介: PTS(Performance Testing Service)是面向所有技术背景人员的云化测试工具。有别于传统工具的繁复,PTS 以互联网化的交互,提供性能测试、API 调试和监测等多种能力。自研和适配开源的功能都可以轻松模拟任意体量的用户访问业务的场景,任务随时发起,免去繁琐的搭建和维护成本。更是紧密结合监控、流控等兄弟产品提供一站式高可用能力,高效检验和管理业务性能。
使用场景:
大促活动准备前,想模拟真实多用户高并发访问场景?
产品版本迭代,想观察流量洪峰时产品表现?
产品交付
7. 架构可视化工具 AHAS
官网: https://www.aliyun.com/product/ahas
简介: 应用高可用服务(Application High Availability Service)是专注于提高应用及业务高可用的工具平台,目前主要提供 应用架构探测感知,故障注入式高可用能力评测 和 流控降级高可用防护 三大核心能力,通过各自的工具模块可以快速低成本的在营销活动场景、业务核心场景全面提升业务稳定性和韧性。
使用场景:
- 服务化改造过程中,想精确的了解资源实例的构成和交互情况,实现架构的可视化?
- 想引入真实的故障场景和演练模型?
- 低门槛获得流控、降级功能?
8. 数据处理工具 EasyExcel
官网: https://github.com/alibaba/easyexcel
简介: Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的解决一些内存溢出的问题,但 POI 还是有一些缺陷,比如 07 版 Excel 解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel 重写了 poi 对 07 版 Excel 的解析,能够原本一个 3M 的 excel 用 POI sax 依然需要 100M 左右内存降低到几 M,并且再大的 excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便.
9. iOS 类工具 HandyJSON
官网: https://github.com/alibaba/HandyJSON
简介: HandyJSON 是一个用于 Swift 语言中的 JSON 序列化/反序列化库。
与其他流行的 Swift JSON 库相比,HandyJSON 的特点是,它支持纯 swift 类,使用也简单。它反序列化时(把 JSON 转换为 Model) 不要求 Model 从 NSObject 继承(因为它不是基于 KVC 机制) ,也不要求你为 Model 定义一个 Mapping 函数。只要你定义好 Model 类,声明它服从 HandyJSON 协议,HandyJSON 就能自行以各个属性的属性名为 Key,从 JSON 串中解析值。
特性
- 序列化 Model 到 JSON、从 JSON 反序列化到 Model
- 自然地以 Model 的属性名称作为解析 JSON 的 Key,不需要额外指定
- 支持 Swift 中大部分类型
- 支持 class、struct 定义的 Model
- 支持自定义解析规则
- 类型自适应,如 JSON 中是一个 Int,但对应 Model 是 String 字段,会自动完成转化
10. 数据库落地 Druid
官网: https://github.com/alibaba/druid
简介: Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件, 被大量业务和技术产品使用或集成,经历过最严苛线上业务场景考验,是你值得信赖的技术产品。