# AAChartKit-Swift (AAInfographics): A Declarative Swift Chart Framework Wrapping Highcharts

> AAInfographics is the Swift member of the AAChartKit family, a declarative wrapper around the Highcharts JavaScript library for iOS, iPadOS and macOS. It trades native drawing for a very wide chart-type vocabulary and a chainable model API, and it ships under MIT.

**AAChartModel/AAChartKit-Swift** — 📈📊📱💻🖥️An elegant modern declarative data visualization chart framework for iOS, iPadOS and macOS. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. 极其精美而又强大的现代化声明式数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表,完全满足工作所需.

- Repository: https://github.com/AAChartModel/AAChartKit-Swift
- Website: https://cocoapods.org/pods/AAInfographics
- Stars: 2,526 · Forks: 263
- Language: Swift
- License: MIT
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/aachartmodel-aachartkit-swift

## Who AAInfographics is for, and the problem it removes

Drawing a chart natively on Apple platforms usually means either hand-rolling a Core Graphics renderer or adopting a library with a fixed set of chart types. AAInfographics takes a third route: it wraps the front-end charting library Highcharts, which the README names as its base, and exposes it through Swift types. The result is that chart types the README lists, including funnel, waterfall, boxplot, arearange, areasplinerange, columnrange, packedbubble and polar, are available without you writing any drawing code.

The intended user is an app developer who already knows what chart they want and does not want to manage axes, ticks, tooltips and legend layout by hand. The README frames the design as declarative: "Describe what you want, you will get what you described." That is the whole pitch. It is a breadth play, not a minimalism play, and the README says so by listing dozens of supported chart types and noting that more are planned.

The library targets iOS, iPadOS and macOS. The README badge states iOS 8+ support, and the pod is published as AAInfographics on CocoaPods. If you are working in Objective-C rather than Swift, the same project family publishes AAChartKit, which the README links as the Objective-C version.

## AAChartView plus AAChartModel: the actual mechanism

The architecture is stated as a formula in the README: AAChartView + AAChartModel = Chart. A chart view is the host, and a chart model describes the chart. You configure the model, hand it to the view, and the view renders it.

Underneath, the wrapper is not drawing pixels itself. It is a Swift layer over Highcharts, the JavaScript charting library. That is the mechanism that explains both the strengths and the costs. The strength is that the option surface is Highcharts' option surface, so chart types and configuration options arrive as a group rather than one at a time. The cost is that a JavaScript layer is part of the rendering path, which is a different trade-off than a pure Core Graphics or SwiftUI renderer.

The API is chainable. The README compares the style to SwiftUI and Jetpack Compose, and the topics list includes "model", which matches the model-object approach. Interaction is part of the design: the README states that charts support single touch-drag for data inspection, multi-touch zooming, and callbacks for user click events and single finger move-over events. That callback surface is what makes linked charts possible, where interacting with one chart drives another.

## Installing AAInfographics and drawing a first chart

The project ships a podspec at the repository root (AAInfographics.podspec) and a Package.swift, so CocoaPods and Swift Package Manager are both present in the layout. The homepage listed for the project is the CocoaPods page for the pod, which is where the README points readers for the published artifact. The README does not spell out an installation transcript, so the two lines below are the pod name and the repository URL exactly as the README and the repository layout give them, not a copied recipe.

With CocoaPods, the published pod is named:

```ruby
AAInfographics
```

With Swift Package Manager, the package URL is the repository itself:

```swift
https://github.com/AAChartModel/AAChartKit-Swift
```

The 10.0.0 release is dated 2026-04-22 in the release list, so that is the version to pin if you want the current major line. Earlier releases in the list are 9.5.0 and 9.4.0.

For a first real use, the shape to expect is a chart view plus a chart model. The README's formula is the guide: create the view, build the model, assign it. The exact initializer names and option keys are not reproduced in the README excerpt, so read the demo project (AAInfographicsDemo) for the concrete call sequence rather than guessing at parameter labels. That demo target is part of the repository and is the authoritative example that ships with the source.

## Where AAInfographics is the wrong tool

The clearest limitation is the one the README never addresses: upgrade and rollback. There is no documented migration path between major versions, and no stated policy on breaking API changes. The jump from 9.5.0 to 10.0.0 is a major version bump, and the README gives no guidance on what that means for existing chart model code. If you maintain a large app with many chart configurations, that silence is a real planning risk.

Second, the wrapper is not native drawing. Projects that must avoid a bundled JavaScript layer, or that have strict constraints on what runs inside the view hierarchy, will find this the wrong fit regardless of how good the chart output looks. That is a design boundary, not a defect.

Third, the README's own framing sets an expectation it does not fully satisfy on its own. It advertises a large chart-type list and an interactive feature set, but the excerpt does not document the option keys, the model initializers, or the callback signatures. A reader arriving from the README alone cannot write a chart without opening the demo project. Documentation depth lives in the demo and in the linked Objective-C and Kotlin siblings, not in the README. If you need a library you can learn from its README in ten minutes, this is not that library.

## AAInfographics versus DGCharts and Swift Charts

The search terms around this project name DGCharts and Swift Charts, and the comparison is worth making concretely. DGCharts is the well-known native iOS charting library lineage; it draws on Apple's graphics stack rather than wrapping a JavaScript charting engine. The practical difference is the option surface and the failure modes. A native renderer gives you tighter control over drawing and no JavaScript in the path, but you get the chart types that library implements. AAInfographics gives you the Highcharts type list, which is why funnel, waterfall, boxplot and arearange appear in its README, at the cost of the wrapper layer.

Swift Charts is Apple's own charting framework, and the README's comparison to SwiftUI and Jetpack Compose is about syntax style, not about being Swift Charts. The distinction matters: AAInfographics is a third-party package with its own model objects, while Swift Charts is a first-party framework with its own API and its own platform version floor. If your target is a recent OS and your chart types are covered, Swift Charts keeps the dependency count at zero. If you need a chart type Swift Charts does not offer, or you want the Highcharts option vocabulary, AAInfographics is the alternative to consider.

One more axis: language. The AAChartKit family publishes the same idea in Objective-C (AAChartKit), Java (AAChartCore) and Kotlin (AAChartCore-Kotlin), per the README's source-code links. If your codebase is mixed, that family consistency can matter more than any single rendering detail.

## Maintenance, licence and upgrade cost

The repository is not archived, and the last push was on 2026-04-22. The most recent release, 10.0.0, carries the same date, which means the release and the last commit landed together. Before that, 9.5.0 was released on 2025-06-05 and 9.4.0 on 2025-04-24. The gap between 9.5.0 and 10.0.0 is roughly ten months, so the cadence is not continuous; plan for releases arriving in clusters rather than on a schedule.

The licence is MIT, stated in the README badge and present as a LICENSE file at the repository root. MIT is permissive: it allows commercial use and modification with attribution and the licence text retained. That is the summary, not legal advice; read the LICENSE file and your own counsel's view before shipping.

Upgrade cost is the open question. Because the README does not document a migration path, treat any major bump as a code review exercise: diff the model API against your usage and run your charts in the demo target or a test target before merging. The repository includes AAInfographicsDemoTests and AAInfographicsDemoUITests, which are the natural place to check that a version change did not alter rendering behaviour you depend on.

## Conclusion

Adopt AAInfographics when your app needs Highcharts-style breadth (funnel, waterfall, boxplot, arearange, polar, mixed series) and you are comfortable with a chart view plus model API rather than SwiftUI's Chart view. Do not adopt it when you want Apple's own declarative SwiftUI charts, a fully native renderer with no bundled JavaScript, or a library whose README documents its upgrade and rollback path. Before integrating, open AAInfographicsDemo to see the concrete model construction, check AAInfographics.podspec and Package.swift for the platform and Swift versions the current release declares, and read the CHINESE-README if the English README leaves a feature undocumented.

## FAQ

### How do I use a Swift chart with AAInfographics?

The README reduces usage to a formula: AAChartView + AAChartModel = Chart. You create the chart view, configure a chart model, and assign the model to the view. The README does not reproduce the exact initializer and option names, so read the AAInfographicsDemo target in the repository for the concrete call sequence.

### Is AAInfographics the same as AAChartKit?

AAInfographics is the Swift version of AAChartKit, which is the Objective-C version. The README also links Java (AAChartCore) and Kotlin (AAChartCore-Kotlin) versions in the same family.

### Which platforms does AAChartKit-Swift support?

The README states support for iOS, iPadOS and macOS, and its badge lists iOS 8+. The chart types and interaction features described in the README apply across those platforms.

### What is the licence for AAInfographics?

The project is MIT licensed, shown in the README badge and included as a LICENSE file at the repository root. That permits commercial use and modification provided the licence terms are kept.

### Does AAInfographics support interactive events like taps and drags?

Yes. The README states that charts support single touch-drag for data inspection, multi-touch zooming, and callbacks for user click events and single finger move-over events. The README notes those callbacks can be used to link two or more charts together.

## Sources

- [AAChartModel/AAChartKit-Swift on GitHub](https://github.com/AAChartModel/AAChartKit-Swift)
- [License: MIT](https://github.com/AAChartModel/AAChartKit-Swift/blob/master/LICENSE)
- [Project website](https://cocoapods.org/pods/AAInfographics)
- [README](https://github.com/AAChartModel/AAChartKit-Swift/blob/master/README.md)
- [Releases](https://github.com/AAChartModel/AAChartKit-Swift/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/aachartmodel-aachartkit-swift
