# -   name: Example Tool
#     image: cordova.png
#     url: http://example.com
#     description: >
#         A description that can
#         span multiple lines.

-   name: Ionic Framework
    image: ionic.png
    url: http://ionicframework.com/
    description: >
        Ionic is a front-end SDK for building cross-platform mobile apps.
        Built on top of Angular, Ionic also provides a platform for
        integrating services like push notifications and analytics.

-   name: Monaca
    image: monaca.png
    url: https://monaca.io/
    description: >
        Comprehensive cloud-powered and framework-agnostic set of tools
        Monaca supports both online and offline development, debugging with
        live-reload feature and cloud build experience.

-   name: Onsen UI
    image: onsen.png
    url: http://onsen.io/
    description: >
        Custom Elements-based HTML5 framework offers a large selection of
        components and responsive layout support. Onsen UI lets you create
        professionally designed multiplatform apps without acquiring additional
        skillset.

-   name: App Builder
    image: appbuilder.png
    url: http://www.getappbuilder.com/
    description: >
        App Builder is a complete IDE for Microsoft Windows which allows to
        create HTML5 and native apps without programming knowledge. Offers
        dozens of controls and actions ready to be used in your apps and
        lot of app samples to learn it.

-   name: Framework7
    image: framework7.png
    url: http://www.idangero.us/framework7/
    description: >
        Framework7 is a free and open source mobile HTML framework for
        developing hybrid mobile apps or web apps with iOS & Android
        native look and feel.

-   name: NSB/AppStudio
    image: appstudio.png
    url: https://www.nsbasic.com/
    description: >
        NSB/AppStudio is an IDE for webapps/native apps. One step install
        includes complete PhoneGap integration, plus Bootstrap, jQuery Mobile
        and jqWidgets. Drag and Drop Designer. Easy programming in JavaScript
        or BASIC. Windows and MacOS.

-   name: Mobiscroll
    image: mobiscroll.png
    url: https://mobiscroll.com
    description: >
        Mobiscroll is a collection of cross platform UI
        controls for delivering polished iOS, Android & Windows Phone apps.
        Framework agnostic, use it with plain Javascript,
        jQuery, Angular, React or Knockout.

-   name: Instabug
    image: instabug.png
    url: https://instabug.com/platforms/cordova
    description: >
        Instabug provides Cordova developers with a bug reporting and in-app
        feedback solution. With a one minute install guide,
         it enables users to seamlessly report bugs while automatically attaching
        details such as network logs, repro-steps, etc.

-   name: Quasar
    image: quasar-logo.svg
    url: https://quasar.dev
    description: >
        Write code once and simultaneously deploy it as a website, 
        Mobile / Electron App or Browser Extension. Yes, one codebase for all of them, 
        helping you develop an app in record time by using a state-of-the-art CLI
        and backed by best-practice, blazing fast Quasar web components using Vue.js.
        
-   name: VoltBuilder
    image: voltbuilder.png
    url: https://volt.build
    description: >
        Modern replacement for PhoneGap Build. Upload project and certificates,
        then download builds (or upload to store). Uses latest 
        Apache Cordova and SDKs. There's nothing to install: just sign up and submit.
        
-   name: VoltSigner
    image: voltsigner.png
    url: https://voltsigner.com
    description: >
        Free service to create Android and iOS signing certificates.
        Run completely in your local browser - nothing gets uploaded.
        Compatible with all build tools.
        Notably, it can produce iOS certificates on Windows.
