From manual coding to automation and from repeated work to innovation, developer tools have been evolving along with technologies. Alibaba Group and Alibaba Cloud have made its technologies available to public through open source release and cloud-based implementation. These technologies have been accumulated through years of development in various business scenarios. This article introduces some Alibaba developer tools in the hopes that they can help make your development process more efficient and graceful.
Given the vast diversity of technological branches that developers may engage in, this article introduces some tools that may be helpful for backend developers.
Arthas is an online diagnostic tool for Java applications open-sourced by Alibaba in September 2018.
Typical scenarios:
Arthas supports Java Development Kit (JDK) 6 and later versions, and it supports Linux, Mac, and Windows. Arthas uses the command line interaction mode, and allows you to use Tab to autocomplete commands in the command line, making problem locating and diagnosis much easier.
Basic tutorial: https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=arthas-basics
Advanced tutorial: https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=arthas-advanced
GitHub page: https://github.com/alibaba/arthas
Cloud Toolkit is an integrated development environment (IDE) plug-in that can be used to help developers more efficiently develop, test, diagnose, and deploy applications. Cloud Toolkit allows developers to conveniently deploy local applications to any machines (on-premises or cloud-based). Cloud Toolkit is built-in with the Arthas diagnostic tool, and supports efficiently executing terminal commands and SQL statements. Cloud Toolkit is available for different IDEs such as IntelliJ IDEA, Eclipse, PyCharm, and Maven.
Typical scenarios:
Download link: https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit
ChaosBlade is a chaos engineering tool that follows principles of chaos engineering experiments, and provides extensive fault scenarios to help you improve the fault tolerance and recoverability of distributed systems. It can inject underlying faults, and provides various fault scenarios. These scenarios include delays, exceptions, returning specific values, modification of parameter values, repeated calls, and try-catch block exceptions.
Typical scenarios:
GitHub page: https://github.com/chaosblade-io/chaosblade
This plug-in detects coding problems in Java code, and gives you prompts. This plug-in was developed based on the Kotlin language.
IDEA plug-in usage instruction:
https://github.com/alibaba/p3c/tree/master/idea-plugin
Eclipse plug-in usage instruction: https://github.com/alibaba/p3c/tree/master/eclipse-plugin
GitHub page: https://github.com/alibaba/p3c
ARMS is an application performance management (APM) tool. It offers three monitoring options: frontend monitoring, application monitoring, and custom monitoring to help you build up your own real-time application performance and business monitoring capability.
Typical scenarios:
Application monitoring integration: https://www.alibabacloud.com/help/doc-detail/63796.htm
Product page: https://www.alibabacloud.com/product/arms
Docsite is an open-source static website generator that helps you build your own official website, document center, blog site, and community. It is easy to use and addictive. It supports react and static rendering, PC and mobile clients, internationalization, SEO, markdown documents, and many useful features such as global site search, site style customization, and page customization.
Tutorial: https://docsite.js.org/en-us/docs/installation.html
GitHub page: https://github.com/txd-team/docsite
Freeline caches reusable class files and resource indices, and compiles code updates and deploys them to your device in seconds. This effectively reduces large amounts of time for recompilation and installation during daily development. The most convenient way to use Freeline is to directly install the Android Studio plug-in.
Tutorial: https://github.com/alibaba/freeline/blob/master/README.md
GitHub page: https://github.com/alibaba/freeline
AHAS provides many powerful features, such as architecture visualization for container environments such as Kubernetes (K8s), fault-injection-based high-availability evaluation, and one-click throttling and downgrade. AHAS helps you quickly improve application availability at low costs.
Typical scenarios:
Product page: https://www.alibabacloud.com/products/ahas
EasyExcel is a framework that parses Java code and generates excel files. It rewrites the Apache POI SAX parser for Microsoft Excel 2007. To process a 3 MB Excel file, the Apache POI SAX parser needs about 100 MB memory, while EasyExcel needs about several KB. In addition, EasyExcel eliminates the out-of-memory (OOM) problem, no matter how large the excel file is. For Microsoft Excel 2003, EasyExcel still uses the Apache POI SAX parser. But it encapsulates the model converter at the upper layer to make it easier to use.
Tutorial: https://github.com/alibaba/easyexcel/blob/master/quickstart.md
GitHub Page: https://github.com/alibaba/easyexcel
HandyJSON is a json-object serialization/deserialization library written in Swift language.
Compared with other popular Swift JSON libraries, HandyJSON supports pure Swift classes and is easy to use. When you use HandyJSON in deserialization, which converts JSON to model, the model does not have to inherit from the NSObject, because HandyJSON is not KVC-based. You do not have to define a mapping function for the model either. After you define the model class and declare that it follows the HandyJSON protocol, HandyJSON automatically parses values from JSON strings by taking the property name as the key.
Tutorial: https://github.com/alibaba/HandyJSON/blob/master/README.md
GitHub page: https://github.com/alibaba/HandyJSON
Druid is the best database connection pool in the Java language, and it provides powerful monitoring and expansion capabilities.
Tutorial: https://github.com/alibaba/druid/wiki/FAQ
GitHub page: https://github.com/alibaba/druid
Alibaba Dragonwell is the open-source version of Alibaba/AlipayJDK (AJDK), the customized OpenJDK used internally by Alibaba. AJDK has made business-scenario-based optimizations for online-ecommerce, finance, and logistics applications. It has been running in super large Alibaba data centers that run more than 100,000 servers each. Alibaba Dragonwell is compatible with the Java SE standard. Currently, it only supports the Linux x86_64 platform.
Tutorial: https://github.com/alibaba/dragonwell8/wiki/Alibaba-Dragonwell8-User-Guide
GitHub page: https://github.com/alibaba/dragonwell8
Sentinel and Spring Cloud: Building a Better Microservice Ecosystem
How Dubbo-Based Microservices Are Used in Insurance Companies
199 posts | 12 followers
FollowAlibaba Container Service - August 30, 2024
Alibaba Cloud Blockchain Service Team - August 29, 2018
Alibaba Cloud Serverless - May 9, 2020
Alibaba Container Service - July 24, 2024
digoal - May 19, 2021
淘系技术 - May 11, 2020
199 posts | 12 followers
FollowAlibaba Cloud (in partnership with Whale Cloud) helps telcos build an all-in-one telecommunication and digital lifestyle platform based on DingTalk.
Learn MoreShare your knowledge and experiences on Alibaba Cloud, build your influence, and get rewarded.
Learn MoreA low-code development platform to make work easier
Learn MoreHelp enterprises build high-quality, stable mobile apps
Learn MoreMore Posts by Alibaba Cloud Native