buckshot 0.1.3

  • README.md
  • Installing
  • Versions
  • 30

Buckshot Logo

Buckshot [buhk-shot] noun When darts land wildly all over the board.

Buckshot is a UI Framework for modern web applications. It is written in Google Dart and attempts to model the best of .net WPF (Silverlight) and Adobe Flex, but without the need for a plug-in. Buckshot renders all output in HTML5/CSS3, and makes use of features available in today's modern web browsers.

If you've worked with .net WPF or Silverlight then this framework will feel very familiar to you.

Status: Alpha

Project is currently in the alpha stage of development. It will likely not move to beta or v1.0 until after Dart ships v1.0. This is to ensure that that library is working correctly with the Dart APIs, which are still in flux.

For Modern Web Browsers

While the project will attempt some compatibility with older/non-compliant browsers, the target focus is centered squarely on modern web browsers. If Buckshot isn't working in your browser of choice, then it isn't modern. Ok that may be a bit harsh, but seriously: Use Chrome.

Getting Started

See the "getting_started" document in the doc/ folder.

Features

Template-Driven Similar to Xaml, but more simplified and flexible. Supports XML, JSON, and YAML formats.
Actions Event-driven actions, like playing animations, changing properties, etc, in XML templates instead of code (you can also do it in code too, if desired)
Controls Dozens of controls included with the core library, everything from primitive shapes to complex template-supporting controls, like ListBox and TreeView
Animation Declaratively set keyframe animations for your elements, and off you go (still new, has some limitations)
Data Binding Buckshot supports 4 different types of binding from XML templates (or in code): Resource binding, element-to-element binding, data binding, and template binding
Events .net folks will find this model to be very familiar. We use it to wrap DOM events and for other internal events, but you can use it in your own apps
Style Templates Use a common style library among multiple elements. Individual changes to style property values will automatically update any elements using that style
Extensibility Everything in Buckshot is designed to be extensible, so you can create libraries of your own controls, resources, and more

And Much, Much More [More Details Here] (https://github.com/prujohn/Buckshot/wiki/What-is-Buckshot%3F)

License

Apache 2.0. See license.txt for project licensing information.

Contact

Buckshot Discussion Group: https://groups.google.com/forum/#!forum/buckshot-ui

Buckshot on G+: https://plus.google.com/b/105133271658972815666/105133271658972815666/posts

Blog: http://phylotic.blogspot.com

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  buckshot: "^0.1.3"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


      import 'package:buckshot/buckshot_browser.dart';

      import 'package:buckshot/extensions/controls/accordion/accordion.dart';

      import 'package:buckshot/extensions/controls/accordion/accordion_item.dart';

      import 'package:buckshot/extensions/controls/canvas/bitmap_canvas.dart';

      import 'package:buckshot/extensions/controls/canvas/canvas_base.dart';

      import 'package:buckshot/extensions/controls/canvas/webgl_canvas.dart';

      import 'package:buckshot/extensions/controls/dock_panel.dart';

      import 'package:buckshot/extensions/controls/list_box.dart';

      import 'package:buckshot/extensions/controls/media/funny_or_die.dart';

      import 'package:buckshot/extensions/controls/media/hulu.dart';

      import 'package:buckshot/extensions/controls/media/vimeo.dart';

      import 'package:buckshot/extensions/controls/media/youtube.dart';

      import 'package:buckshot/extensions/controls/menus/menu.dart';

      import 'package:buckshot/extensions/controls/menus/menu_item.dart';

      import 'package:buckshot/extensions/controls/menus/menu_item_selected_event_args.dart';

      import 'package:buckshot/extensions/controls/menus/menu_lib.dart';

      import 'package:buckshot/extensions/controls/menus/menu_strip.dart';

      import 'package:buckshot/extensions/controls/modal_dialog.dart';

      import 'package:buckshot/extensions/controls/popup.dart';

      import 'package:buckshot/extensions/controls/social/plus_one.dart';

      import 'package:buckshot/extensions/controls/tab_control/tab_control.dart';

      import 'package:buckshot/extensions/controls/tab_control/tab_item.dart';

      import 'package:buckshot/extensions/controls/tab_control/tab_selected_event_args.dart';

      import 'package:buckshot/extensions/controls/treeview/tree_node.dart';

      import 'package:buckshot/extensions/controls/treeview/tree_view.dart';

      import 'package:buckshot/extensions/template_providers/json_template_provider.dart';

      import 'package:buckshot/extensions/template_providers/yaml/composer.dart';

      import 'package:buckshot/extensions/template_providers/yaml/constructor.dart';

      import 'package:buckshot/extensions/template_providers/yaml/deep_equals.dart';

      import 'package:buckshot/extensions/template_providers/yaml/model.dart';

      import 'package:buckshot/extensions/template_providers/yaml/parser.dart';

      import 'package:buckshot/extensions/template_providers/yaml/visitor.dart';

      import 'package:buckshot/extensions/template_providers/yaml/yaml.dart';

      import 'package:buckshot/extensions/template_providers/yaml/yaml_map.dart';

      import 'package:buckshot/extensions/template_providers/yaml_template_provider.dart';

      import 'package:buckshot/gen/gen_option.dart';

      import 'package:buckshot/gen/generator_file.dart';

      import 'package:buckshot/gen/genie.dart';

      import 'package:buckshot/gen/logger.dart';

      import 'package:buckshot/generator_console.dart';

      import 'package:buckshot/web/browser.dart';

      import 'package:buckshot/web/browser_info.dart';

      import 'package:buckshot/web/web.dart';
  
Version Uploaded Documentation Archive
0.1.3 Nov 6, 2012 Go to the documentation of buckshot 0.1.3 Download buckshot 0.1.3 archive
0.1.1 Oct 29, 2012 Go to the documentation of buckshot 0.1.1 Download buckshot 0.1.1 archive
0.0.2 Oct 9, 2012 Go to the documentation of buckshot 0.0.2 Download buckshot 0.0.2 archive
0.0.1 Sep 26, 2012 Go to the documentation of buckshot 0.0.1 Download buckshot 0.0.1 archive

Analysis

We analyzed this package on Jun 22, 2018, and provided a score, details, and suggestions below. Analysis was completed with status tool failures using:

  • Dart: 2.0.0-dev.63.0
  • pana: 0.11.3

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
0 / 100
Health:
Code health derived from static analysis. [more]
99 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
0 / 100
Overall score:
Weighted score of the above. [more]
30
Learn more about scoring.

Platforms

Detected platforms: unsure

Error(s) prevent platform classification:

Check SDKs in pubspec.yaml.

Suggestions

  • Check SDKs in pubspec.yaml.

    We have found the following unknown SDKs in your pubspec.yaml: {logging, meta, unittest}.

    pana does not recognizes them, please remove or report it to us.

  • Make sure dartfmt runs.

    Running dartfmt -n . failed with the following output:

    dartfmt on lib/ failed with exit code 255
    Could not format because the source could not be parsed:
    
    line 22, column 10 of /tmp/pana-ZETPQP/lib/src/resources/setter.dart: The keyword 'with' cannot be used to name a constructor.
      Setter.with(String propertyName, dynamic propertyValue)
             ^^^^
    Could not format because the source could not be parsed:
    
    line 18, column 17 of /tmp/pana-ZETPQP/lib/src/resources/brush.dart: Members of classes can't be declared to be 'abstract'.
      abstract void renderBrush(Element component);
    
  • Fix dependencies in pubspec.yaml.

    Running pub upgrade failed with the following output:

    ERR: Git error. Command: git clone --mirror git://github.com/prujohn/dart-xml.git /tmp/panaSXSWSA/pub-cache/git/cache/dart-xml-48814fbeea51a732f1bb206213fab0b7f15cb7b5
     Cloning into bare repository '/tmp/panaSXSWSA/pub-cache/git/cache/dart-xml-48814fbeea51a732f1bb206213fab0b7f15cb7b5'...
     fatal: remote error: 
       Repository not found.
    
  • Fix platform conflicts.

    Error(s) prevent platform classification:

    Check SDKs in pubspec.yaml.

  • Running dartdoc failed.

    Make sure dartdoc runs without any issues.

  • Maintain CHANGELOG.md.

    Changelog entries help clients to follow the progress in your code.

  • Homepage does not exists.

    We were unable to access http://www.buckshotui.org at the time of the analysis.

  • Package is too old.

    The package was released more than two years ago.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 166 hints.

    Run dartfmt to format lib/buckshot_browser.dart.

    Run dartfmt to format lib/extensions/controls/accordion/accordion.dart.

    Similar analysis of the following files failed:

    • lib/extensions/controls/accordion/accordion_item.dart (hint)
    • lib/extensions/controls/canvas/bitmap_canvas.dart (hint)
    • lib/extensions/controls/canvas/canvas_base.dart (hint)
    • lib/extensions/controls/canvas/webgl_canvas.dart (hint)
    • lib/extensions/controls/dock_panel.dart (hint)
    • lib/extensions/controls/list_box.dart (hint)
    • lib/extensions/controls/media/funny_or_die.dart (hint)
    • lib/extensions/controls/media/hulu.dart (hint)
    • lib/extensions/controls/media/vimeo.dart (hint)
    • lib/extensions/controls/media/youtube.dart (hint)
    • lib/extensions/controls/menus/menu.dart (hint)
    • lib/extensions/controls/menus/menu_item.dart (hint)
    • lib/extensions/controls/menus/menu_item_selected_event_args.dart (hint)
    • lib/extensions/controls/menus/menu_lib.dart (hint)
    • lib/extensions/controls/menus/menu_strip.dart (hint)
    • lib/extensions/controls/modal_dialog.dart (hint)
    • lib/extensions/controls/popup.dart (hint)
    • lib/extensions/controls/social/plus_one.dart (hint)
    • lib/extensions/controls/tab_control/tab_control.dart (hint)
    • lib/extensions/controls/tab_control/tab_item.dart (hint)
    • lib/extensions/controls/tab_control/tab_selected_event_args.dart (hint)
    • lib/extensions/controls/treeview/tree_node.dart (hint)
    • lib/extensions/controls/treeview/tree_view.dart (hint)
    • lib/extensions/template_providers/json_template_provider.dart (hint)
    • lib/extensions/template_providers/yaml/composer.dart (hint)
    • lib/extensions/template_providers/yaml/constructor.dart (hint)
    • lib/extensions/template_providers/yaml/deep_equals.dart (hint)
    • lib/extensions/template_providers/yaml/model.dart (hint)
    • lib/extensions/template_providers/yaml/parser.dart (hint)
    • lib/extensions/template_providers/yaml/visitor.dart (hint)
    • lib/extensions/template_providers/yaml/yaml.dart (hint)
    • lib/extensions/template_providers/yaml/yaml_map.dart (hint)
    • lib/extensions/template_providers/yaml_template_provider.dart (hint)
    • lib/gen/gen_option.dart (hint)
    • lib/gen/generator_file.dart (hint)
    • lib/gen/genie.dart (hint)
    • lib/gen/logger.dart (hint)
    • lib/generator_console.dart (hint)
    • lib/src/animation/_css_compiler.dart (hint)
    • lib/src/animation/animation_key_frame.dart (hint)
    • lib/src/animation/animation_resource.dart (hint)
    • lib/src/animation/animation_state.dart (hint)
    • lib/src/animation/framework_animation.dart (hint)
    • lib/src/binding/binding.dart (hint)
    • lib/src/binding/binding_data.dart (hint)
    • lib/src/binding/binding_mode.dart (hint)
    • lib/src/controls/button.dart (hint)
    • lib/src/controls/check_box.dart (hint)
    • lib/src/controls/control/control.dart (hint)
    • lib/src/controls/control/control_template.dart (hint)
    • lib/src/controls/drop_down_list.dart (hint)
    • lib/src/controls/hyperlink.dart (hint)
    • lib/src/controls/radio_button.dart (hint)
    • lib/src/controls/radio_button_group.dart (hint)
    • lib/src/controls/slider.dart (hint)
    • lib/src/controls/text_area.dart (hint)
    • lib/src/controls/text_box.dart (hint)
    • lib/src/converters/i_value_converter.dart (hint)
    • lib/src/converters/string_to_boolean.dart (hint)
    • lib/src/converters/string_to_color.dart (hint)
    • lib/src/converters/string_to_color_string.dart (hint)
    • lib/src/converters/string_to_frameworkelement.dart (hint)
    • lib/src/converters/string_to_gridlength.dart (hint)
    • lib/src/converters/string_to_gridunittype.dart (hint)
    • lib/src/converters/string_to_horizontalalignment.dart (hint)
    • lib/src/converters/string_to_inputtypes.dart (hint)
    • lib/src/converters/string_to_location.dart (hint)
    • lib/src/converters/string_to_numeric.dart (hint)
    • lib/src/converters/string_to_orientation.dart (hint)
    • lib/src/converters/string_to_radialgradientdrawmode.dart (hint)
    • lib/src/converters/string_to_solidcolorbrush.dart (hint)
    • lib/src/converters/string_to_thickness.dart (hint)
    • lib/src/converters/string_to_verticalalignment.dart (hint)
    • lib/src/converters/string_to_visibility.dart (hint)
    • lib/src/core/_buckshot.dart (hint)
    • lib/src/core/attached_framework_property.dart (hint)
    • lib/src/core/buckshot_object.dart (hint)
    • lib/src/core/debug.dart (hint)
    • lib/src/core/framework_container.dart (hint)
    • lib/src/core/framework_element.dart (hint)
    • lib/src/core/framework_object.dart (hint)
    • lib/src/core/framework_property.dart (hint)
    • lib/src/core/framework_property_base.dart (hint)
    • lib/src/core/hashable_object.dart (hint)
    • lib/src/core/observable_list.dart (hint)
    • lib/src/core/system.dart (hint)
    • lib/src/core/theme.dart (hint)
    • lib/src/elements/actions/action_base.dart (hint)
    • lib/src/elements/actions/play_animation.dart (hint)
    • lib/src/elements/actions/set_property.dart (hint)
    • lib/src/elements/actions/toggle_property.dart (hint)
    • lib/src/elements/border/border.dart (hint)
    • lib/src/elements/border/border_style.dart (hint)
    • lib/src/elements/border/string_to_border_style.dart (hint)
    • lib/src/elements/collection_presenter.dart (hint)
    • lib/src/elements/content_presenter.dart (hint)
    • lib/src/elements/grid/_grid_cell.dart (hint)
    • lib/src/elements/grid/column_definition.dart (hint)
    • lib/src/elements/grid/grid.dart (hint)
    • lib/src/elements/grid/grid_layout_definition.dart (hint)
    • lib/src/elements/grid/grid_length.dart (hint)
    • lib/src/elements/grid/row_definition.dart (hint)
    • lib/src/elements/image.dart (hint)
    • lib/src/elements/layout_canvas.dart (hint)
    • lib/src/elements/panel.dart (hint)
    • lib/src/elements/raw_html.dart (hint)
    • lib/src/elements/shape/ellipse.dart (hint)
    • lib/src/elements/shape/line.dart (hint)
    • lib/src/elements/shape/poly_line.dart (hint)
    • lib/src/elements/shape/polygon.dart (hint)
    • lib/src/elements/shape/rectangle.dart (hint)
    • lib/src/elements/shape/shape.dart (hint)
    • lib/src/elements/stack_panel.dart (hint)
    • lib/src/elements/text_block.dart (hint)
    • lib/src/enums/colors.dart (hint)
    • lib/src/enums/cursors.dart (hint)
    • lib/src/enums/dock_location.dart (hint)
    • lib/src/enums/grid_unit_type.dart (hint)
    • lib/src/enums/horizontal_alignment.dart (hint)
    • lib/src/enums/linear_gradient_brush.dart (hint)
    • lib/src/enums/orientation.dart (hint)
    • lib/src/enums/radial_gradient_draw_mode.dart (hint)
    • lib/src/enums/transforms.dart (hint)
    • lib/src/enums/transition_timing.dart (hint)
    • lib/src/enums/vertical_alignment.dart (hint)
    • lib/src/enums/visibility.dart (hint)
    • lib/src/events/animation_exception.dart (hint)
    • lib/src/events/attached_property_changed_event_args.dart (hint)
    • lib/src/events/buckshot_event.dart (hint)
    • lib/src/events/buckshot_exception.dart (hint)
    • lib/src/events/drag_event_args.dart (hint)
    • lib/src/events/framework_property_resolution_exception.dart (hint)
    • lib/src/events/measurement_changed_event_args.dart (hint)
    • lib/src/events/property_changed_event_args.dart (hint)
    • lib/src/mvvm/data_template.dart (hint)
    • lib/src/mvvm/view.dart (hint)
    • lib/src/mvvm/view_model_base.dart (hint)
    • lib/src/polyfills/_flexbox_polyfill.dart (hint)
    • lib/src/polyfills/aligning_panel.dart (hint)
    • lib/src/polyfills/flex_model.dart (hint)
    • lib/src/polyfills/polly.dart (hint)
    • lib/src/polyfills/polyfill.dart (hint)
    • lib/src/polyfills/stack_polyfill.dart (hint)
    • lib/src/primitives/thickness.dart (hint)
    • lib/src/primitives/tuple.dart (hint)
    • lib/src/resources/brush.dart (hint)
    • lib/src/resources/color.dart (hint)
    • lib/src/resources/framework_resource.dart (hint)
    • lib/src/resources/gradient_stop.dart (hint)
    • lib/src/resources/linear_gradient_brush.dart (hint)
    • lib/src/resources/radial_gradient_brush.dart (hint)
    • lib/src/resources/resource_collection.dart (hint)
    • lib/src/resources/setter.dart (hint)
    • lib/src/resources/solid_color_brush.dart (hint)
    • lib/src/resources/style_template.dart (hint)
    • lib/src/resources/var.dart (hint)
    • lib/src/templates/presentation_format_provider.dart (hint)
    • lib/src/templates/template.dart (hint)
    • lib/src/templates/template_exception.dart (hint)
    • lib/src/templates/template_object.dart (hint)
    • lib/src/templates/xml_template_provider.dart (hint)
    • lib/web/browser.dart (hint)
    • lib/web/browser_info.dart (hint)
    • lib/web/web.dart (hint)
  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • The description is too long.

    Search engines will display only the first part of the description. Try to keep it under 180 characters.

  • Maintain an example.

    None of the files in your example/ directory matches a known example patterns. Common file name patterns include: main.dart, example.dart or you could also use buckshot.dart.