Find a file
Greg Spencer 797b39e9b2
Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958)
Creates a new (hidden) flutter command 'ide-config' that will create and/or update
existing .iml files and some files under the .idea directory, as well as
removing existing *.iml files and the .idea directory.

It also:

 * Adds *.iml to the .gitignore
 * Removes existing .iml files from the repo, and moves them to the
   packages/flutter_tools/ide_templates/intellij directory.
 * Adds a flag to ide-config ('--update-templates') that will take any new .iml
   files in the flutter tree and add them to the existing templates.
     - If --overwrite is also specified, then all existing templates will also
       be overwritten with the contents from the flutter tree, and any that have
       been deleted from the flutter tree will also be removed from the
       templates.
 * Added new run configurations for all existing app targets that will now also
   be automatically added to IntelliJ.
 * Setting up the environment also includes setting the coding style guidelines
   and the git VCS.
 * Note that after this PR lands, Flutter developers will need to run it once to
   re-create the .iml files and configuration files that have been removed.

After this PR lands, .iml files will no longer appear in the untracked files
section for git.
2017-11-13 10:55:22 -08:00
bin Roll engine to 11d68f63da31b9cca512e793d664ebdf61a6faa9 (#12974) 2017-11-10 12:32:46 -08:00
dev Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958) 2017-11-13 10:55:22 -08:00
examples Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958) 2017-11-13 10:55:22 -08:00
packages Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958) 2017-11-13 10:55:22 -08:00
.gitattributes Add git config option to automatically convert CRLF to LF (#8122) 2017-02-14 10:21:33 -08:00
.gitignore Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958) 2017-11-13 10:55:22 -08:00
.travis.yml Don't run analyze, coverage, docs on Mac (#11990) 2017-09-07 14:18:40 -07:00
analysis_options.yaml try some lints (#12719) 2017-11-10 07:49:44 +01:00
analysis_options_repo.yaml try some lints (#12719) 2017-11-10 07:49:44 +01:00
appveyor.yml add appveyor config (#8323) 2017-02-22 10:34:31 -08:00
AUTHORS Fix LinearProgressIndicator constructor (#12282) 2017-09-28 15:17:07 -07:00
CONTRIBUTING.md Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958) 2017-11-13 10:55:22 -08:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2016-11-02 10:00:58 -07:00
LICENSE
PATENTS Add a file describing Google's commitments with regard to patents and this project (#8632) 2017-03-08 16:40:36 -08:00
README.md Fix missing animated gif in README (#11173) 2017-07-12 10:58:12 -07:00
VERSION 0.0.17 dev version (#12593) 2017-10-18 16:25:36 -07:00

Flutter Flutter Join Gitter Chat Channel - Build Status - Travis Build Status - AppVeyor Coverage Status -

A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. Flutter is an alpha, open-source project.

Documentation

Fast development

Flutter's hot reload helps you quickly and easily experiment, build UIs, add features, and fix bugs faster. Experience sub-second reload times, without losing state, on emulators, simulators, and hardware for iOS and Android.

Make a change in your code, and your app is changed instantly.

Expressive, beautiful UIs

Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.

Brand-first shopping design Fitness app design Contact app design iOS chat app design

Browse the widget catalog.

Modern, reactive framework

Easily compose your UI with Flutter's modern functional-reactive framework and rich set of platform, layout, and foundation widgets. Solve your tough UI challenges with powerful and flexible APIs for 2D, animation, gestures, effects, and more.

class CounterState extends State<Counter> {
  int counter = 0;

  void increment() {
    // Tells the Flutter framework that state has changed,
    // so the framework can run build() and update the display.
    setState(() {
      counter++;
    });
  }

  Widget build(BuildContext context) {
    // This method is rerun every time setState is called.
    // The Flutter framework has been optimized to make rerunning
    // build methods fast, so that you can just rebuild anything that
    // needs updating rather than having to individually change
    // instances of widgets.
    return new Row(
      children: <Widget>[
        new RaisedButton(
          onPressed: increment,
          child: new Text('Increment'),
        ),
        new Text('Count: $counter'),
      ],
    );
  }
}

Browse the widget catalog and learn more about the functional-reactive framework.

Access native features and SDKs

Make your app come to life with platform APIs, 3rd party SDKs, and native code. Flutter lets you reuse your existing Java, Swift, and ObjC code, and access native features and SDKs on iOS and Android.

Accessing platform features is easy. Here is a snippet from our interop example:

Future<Null> getBatteryLevel() async {
  var batteryLevel = 'unknown';
  try {
    int result = await methodChannel.invokeMethod('getBatteryLevel');
    batteryLevel = 'Battery level: $result%';
  } on PlatformException {
    batteryLevel = 'Failed to get battery level.';
  }
  setState(() {
    _batteryLevel = batteryLevel;
  });
}

Learn how to use packages, or write platform channels, to access native code, APIs, and SDKs.

Unified app development

Flutter has the tools and libraries to help you easily bring your ideas to life on iOS and Android. If you don't have any mobile development experience, Flutter is an easy and fast way to build beautiful mobile apps. If you are an experienced iOS or Android developer, you can use Flutter for your views and leverage much of your existing Java/ObjC/Swift investment.

Build

  • Beautiful app UIs
    • Rich 2D GPU-accelerated APIs
    • Reactive framework
    • Animation/motion APIs
    • Material Design and iOS widgets
  • Fluid coding experience
    • Sub-second, stateful hot reload
    • IntelliJ: refactor, code completion, etc
    • Dart language and core libs
    • Package manager
  • Full-featured apps
    • Interop with mobile OS APIs & SDKs
    • Maven/Java
    • Cocoapods/ObjC/Swift

Optimize

  • Test
    • Unit testing
    • Integration testing
    • On-device testing
  • Debug
    • IDE debugger
    • Web-based debugger
    • async/await aware
    • Expression evaluator
  • Profile
    • Timeline
    • CPU and memory
    • In-app perf charts

Deploy

  • Compile
    • Native ARM code
    • Dead code elimination
  • Distribution
    • App Store
    • Play Store

Learn more about what makes Flutter special in the technical overview.

Join us in our Gitter chat room or join our public mailing list, flutter-dev@googlegroups.com.