bot 0.14.0 bot: ^0.14.0 copied to clipboard
A collection of (mostly) general libraries to make working with Dart more productive.
The Dart Bag-of-Tricks #
A collection of (mostly) general libraries to make working with Dart more productive. #
Starting by porting bits of the PL javascript library and Google's Closure javascript library to enable some interesting scenarios.
Projects using BOT #
- chrome.dart - Dart interop with chrome.* APIs for Chrome Packaged Apps
- Pop, Pop, Win! - Minesweeper with balloons
- qr.dart - Generate QR codes
- vote.dart - Simulate, run, and calculate elections with different election methods
- Dart Widgets - Reusable Web Components
Try It Now #
The Dart Bag-of-Tricks ( BOT ) is hosted on pub.dartlang.org.
Add the BOT package to your pubspec.yaml
file, selecting a version range that works with your version of the SDK. For example:
dependencies:
bot: ">=0.11.3" # works with SDK v0.3.2.0 r17657
Always check the BOT page on pub to find the latest release.
Versions change within the range when we release small bug fixes, but it changes outside of the range on any breaking change. See the changelog to find the version that works best for you.
If you'd like to track bleeding edge developments, you can reference the the GitHub repository directly:
dependencies:
bot:
git: https://github.com/kevmoo/bot.dart.git
Versioning #
- We follow Semantic Versioning.
- We are not planning a V1 for BOT until Dart releases V1.
- In the mean time, the version will remain
0.Y.Z
.- Changes to the minor version - Y - will indicate breaking changes.
- Changes to the patch version - Z - indicate non-breaking changes.
- In the mean time, the version will remain
Dart SDK dependency #
- We're going to try to keep BOT in line with the latest integration build of the Dart SDK and Editor.
- At this point, each SDK release tends to introduce breaking changes, which usually require breaking changes in BOT.
- Keep an eye on the changelog to see how BOT aligns with each SDK release.
The libraries #
The Bag-of-Tricks is two sets of libraries: bot and hop.
bot #
bot -- default library #
- No dependencies on 3rd-party libraries.
- Usable for browser-based projects and non-browser projects.
attached #
- A general model for supporting extensible, runtime-defined events and properties on supported objects.
- This functionality is inspired by the Dependency Object/Property model in WPF/Silverlight.
collection #
Array2d
Grouping
of collectionsReadOnlyCollection
color #
RgbColor
,HslColor
with associated conversions back and forthRgbColor
supports to/from hex
events #
- Easily raise and subscribe to events with custom, type-safe event objects.
math #
- Mostly classes related to 2D geometry and graphicsgeometry-related classes
Coordinate
,Box
,Size
,Vector
,AffineTransfrom
bot_async #
FutureValue
: an abstract model for async conversions viaFuture<T>
SendPortValue
: an implementation ofFutureValue
using isolates.
bot_retained #
- A library for creating interactive content using HTML5 Canvas.
hop #
hop - core task runtime #
- An object-oriented framework creating and reusing scripts in Dart.
- Easy to create command-line scripts.
- Define functionality in libraries. Add and update them with
pub
. - Nice touches for free: bash command completion, help, helpful exit codes
hop_tasks #
- A collection of tasks and task helpers.
- Unit tests
- dart2js
- dartdoc
- git
Authors #
- Kevin Moore (@kevmoo)
- Andreas Köberle (@eskimobloood)
- Adam Singer (+Adam Singer)
- You? File bugs. Fork and Fix bugs. Let's build this community.