100% found this document useful (1 vote)
67 views58 pages

Programming Flutter Native Cross Platform Apps the Easy Way 1st Edition Carmine Zaccagnino - Download the ebook now and own the full detailed content

The document promotes the ebook 'Programming Flutter Native Cross Platform Apps the Easy Way' by Carmine Zaccagnino, available for download at textbookfull.com. It provides links to various other related ebooks on mobile app development, emphasizing the ease of access and instant downloads in multiple formats. Additionally, it includes information about the Pragmatic Bookshelf, the book's content, and acknowledgments from the author.

Uploaded by

kaashekarajz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
67 views58 pages

Programming Flutter Native Cross Platform Apps the Easy Way 1st Edition Carmine Zaccagnino - Download the ebook now and own the full detailed content

The document promotes the ebook 'Programming Flutter Native Cross Platform Apps the Easy Way' by Carmine Zaccagnino, available for download at textbookfull.com. It provides links to various other related ebooks on mobile app development, emphasizing the ease of access and instant downloads in multiple formats. Additionally, it includes information about the Pragmatic Bookshelf, the book's content, and acknowledgments from the author.

Uploaded by

kaashekarajz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Explore the full ebook collection and download it now at textbookfull.

com

Programming Flutter Native Cross Platform Apps the


Easy Way 1st Edition Carmine Zaccagnino

https://textbookfull.com/product/programming-flutter-native-
cross-platform-apps-the-easy-way-1st-edition-carmine-
zaccagnino/

OR CLICK HERE

DOWLOAD EBOOK

Browse and Get More Ebook Downloads Instantly at https://textbookfull.com


Click here to visit textbookfull.com and download textbook now
Your digital treasures (PDF, ePub, MOBI) await
Download instantly and pick your perfect format...

Read anywhere, anytime, on any device!

Programming Flutter Native Cross Platform Apps the Easy


Way 1st Edition Carmine Zaccagnino

https://textbookfull.com/product/programming-flutter-native-cross-
platform-apps-the-easy-way-1st-edition-carmine-zaccagnino-2/

textbookfull.com

Cross-platform Localization for Native Mobile Apps with


Xamarin 1st Edition Christopher Miller

https://textbookfull.com/product/cross-platform-localization-for-
native-mobile-apps-with-xamarin-1st-edition-christopher-miller/

textbookfull.com

Ultimate Flutter for Cross-Platform App Development 1st


Edition Temidayo Adefioye

https://textbookfull.com/product/ultimate-flutter-for-cross-platform-
app-development-1st-edition-temidayo-adefioye/

textbookfull.com

Xamarin.Forms Essentials: First Steps Toward Cross-


Platform Mobile Apps 1st Edition Gerald Versluis (Auth.)

https://textbookfull.com/product/xamarin-forms-essentials-first-steps-
toward-cross-platform-mobile-apps-1st-edition-gerald-versluis-auth/

textbookfull.com
Mobile app development with Ionic cross platform apps with
Ionic Angular and Cordova Griffith

https://textbookfull.com/product/mobile-app-development-with-ionic-
cross-platform-apps-with-ionic-angular-and-cordova-griffith/

textbookfull.com

Building Xamarin.Forms Mobile Apps Using XAML: Mobile


Cross-Platform XAML and Xamarin.Forms Fundamentals Dan
Hermes
https://textbookfull.com/product/building-xamarin-forms-mobile-apps-
using-xaml-mobile-cross-platform-xaml-and-xamarin-forms-fundamentals-
dan-hermes/
textbookfull.com

Learn Google Flutter Fast: 65 Example Apps Mark Clow

https://textbookfull.com/product/learn-google-flutter-fast-65-example-
apps-mark-clow/

textbookfull.com

Cloud Native Apps on Google Cloud Platform Use Serverless


Microservices and Containers to Rapidly Build and Deploy
Apps on Google Cloud English Edition Gilchrist
https://textbookfull.com/product/cloud-native-apps-on-google-cloud-
platform-use-serverless-microservices-and-containers-to-rapidly-build-
and-deploy-apps-on-google-cloud-english-edition-gilchrist/
textbookfull.com

Beginning Visual Studio for Mac: Build Cross-Platform Apps


with Xamarin and .NET Core Alessandro Del Sole

https://textbookfull.com/product/beginning-visual-studio-for-mac-
build-cross-platform-apps-with-xamarin-and-net-core-alessandro-del-
sole/
textbookfull.com
Programming Flutter
NATIVE, CROSS-PLATFORM APPS THE EASY WAY

BY CARMINE ZACCAGNINO
Version: P1.0 (February 2020)
Copyright © 2020 The Pragmatic Programmers,
LLC. This book is licensed to the individual who
purchased it. We don't copy-protect it because that
would limit your ability to use it for your own
purposes. Please don't break this trust—you can
use this across all of your devices but please do not
share this copy with other members of your team,
with friends, or via file sharing services. Thanks.

Many of the designations used by manufacturers


and sellers to distinguish their products are
claimed as trademarks. Where those designations
appear in this book, and The Pragmatic
Programmers, LLC was aware of a trademark
claim, the designations have been printed in initial
capital letters or in all capitals. The Pragmatic
Starter Kit, The Pragmatic Programmer, Pragmatic
Programming, Pragmatic Bookshelf and the linking
g device are trademarks of The Pragmatic
Programmers, LLC.

Every precaution was taken in the preparation of


this book. However, the publisher assumes no
responsibility for errors or omissions, or for
damages that may result from the use of
information (including program listings) contained
herein.

About the Pragmatic Bookshelf

The Pragmatic Bookshelf is an agile publishing


company. We’re here because we want to improve
the lives of developers. We do this by creating
timely, practical titles, written by programmers for
programmers.

Our Pragmatic courses, workshops, and other


products can help you and your team create better
software and have more fun. For more
information, as well as the latest Pragmatic titles,
please visit us at http://pragprog.com.

Our ebooks do not contain any Digital Restrictions


Management, and have always been DRM-free. We
pioneered the beta book concept, where you can
purchase and read a book while it’s still being
written, and provide feedback to the author to help
make a better book for everyone. Free resources for
all purchasers include source code downloads (if
applicable), errata and discussion forums, all
available on the book's home page at
pragprog.com. We’re here to make your life easier.

NEW BOOK ANNOUNCEMENTS

Want to keep up on our latest titles and


announcements, and occasional special offers?
Just create an account on pragprog.com (an email
address and a password is all it takes) and select
the checkbox to receive newsletters. You can also
follow us on twitter as @pragprog.

ABOUT EBOOK FORMATS

If you buy directly from pragprog.com, you get


ebooks in all available formats for one price. You
can synch your ebooks amongst all your devices
(including iPhone/iPad, Android, laptops, etc.) via
Dropbox. You get free updates for the life of the
edition. And, of course, you can always come back
and re-download your books when needed. Ebooks
bought from the Amazon Kindle store are subject
to Amazon's polices. Limitations in Amazon's file
format may cause ebooks to display differently on
different devices. For more information, please see
our FAQ at pragprog.com/frequently-asked-
questions/ebooks. To learn more about this book
and access the free resources, go to
https://pragprog.com/book/czflutr, the book's
homepage.

Thanks for your continued support,

Andy Hunt
The Pragmatic Programmers

The team that produced this book includes:


Andy Hunt (Publisher),
Janet Furlow (VP of Operations),
Dave Rankin (Executive Editor),
Michael Swaine (Development Editor),
Jasmine Kwityn (Copy Editor),
Potomac Indexing, LLC (Indexing),
Gilson Graphics (Layout)

For customer support, please contact


[email protected].

For international rights, please contact


[email protected].
Table of Contents

1. Acknowledgments

2. Preface
1. A Brief History of Flutter

2. Why Flutter Matters and What We’ll See in This Book


3. Don’t Know Dart? Don’t Worry About It
4. Installing the SDK and the IDE Plugins

5. Where We’re Going Next: Let’s Start Building Apps

3. Part I. Getting Started with Flutter

1. 1. Making Your First Flutter App


1. Get Familiar with Dart Syntax and Flutter Classes
2. Give the App Your Personal Touch
3. Where We’re Going Next

2. 2. Laying Out More Widgets


1. Introducing Layout Widgets

Contain and Add Padding to Widgets Using


2. Invisible Layout Widgets
3. Add Your Own Assets to the App
4. Displaying Images

5. Vertical Layout
6. Horizontal Layout: The Row
7. Making Grids

8. The Card
9. Fill the Space Available in the View Using Expanded
10. Slivers, Custom Scrollables, and Collapsable App Bars
11. The Key

12. Where We’re Going Next

3. 3. Building a Calculator App


1. Importing Basic Dependencies
2. Writing main
3. The Calculator’s Home Page

4. How the App Will Be Structured


5. Implement the Basic Layout

6. Let’s Give the Calculator a Screen


7. Add the Deletion Row
8. The Third Row

9. Why a GridView Wouldn’t Work


10. Make the App Look and Work Right with Expanded
11. The Finished Layout

12. Implement the Calculations


13. Use the Calculation Inside the App

14. Wrapping Up the Calculator


15. What If We Try to Divide by 0?
16. Where We’re Going Next

4. Beyond the Standard Library:


4. Plugins and Packages
1. An Introduction to Packages

2. Package Usage Example


3. Making Your Own Packages
4. Publishing a Package to Pub

5. Packages for Windows, macOS, and Linux


6. Where We’re Going Next
4. Part II. Doing More with Flutter

1. 5. Network and Storage I/O and Navigation


1. The API
2. The http Package

3. Writing Methods to Fetch Comics


What You Need to Build the UI: Navigation and the
4. InheritedWidget
5. Build the App’s Basic UI

6. Building the Comic Page


7. Using the CircularProgressIndicator

8. Making Everything Faster by Caching to Local Storage


Allowing the User to Click the Image and Go to the Website:
9. The url_launcher Package
10. Adding Comic Selection by Number
11. Permanent Data I/O in Flutter: Adding “Starred” Comics

12. Where We’re Going Next

2. 6. Testing and Debugging Flutter Apps


1. Testing
2. Testing the XKCD App: Using Mock Objects

3. Throwing and Catching Exceptions


4. Assert Statements
5. Where We’re Going Next

3. 7. Build a Chat App Using Firebase


1. What Is Firebase?

2. Animations and Transistions


3. Custom Shapes and Drawing in Flutter Apps Using Painters

4. The StreamBuilder
5. Building the Chat App
6. Where You’re Going Next

5. A1. Introduction to Dart


1. Comments in Dart
2. Variables and Conditions
3. Functions

4. main
5. Asynchronous Code in Dart: The dart:async Library
6. Conditional Constructs and Expressions

7. Loops: while, do while, and for


8. Classes

9. Typedef and Callbacks


10. Mastering import
11. Conversion Between Native Java/Apple and Dart Data Types

12. Where You’re Going Next

A2. Apple-Like Look and Additional


6. App Configuration
1. Cupertino Widgets
2. pubspec.yaml
3. Platform-Specific Setup

Copyright © 2020, The Pragmatic Bookshelf.


Early Praise for Programming
Flutter
I’m excited to read this book: ten years ago, I learned
Android development reading a PragProg book, and this has
changed my life forever. Now this book could change it
again.

→ Giordano Scalzo
iOS Senior Software Engineer, NatWest Markets

Carmine’s book is a comprehensive journey into Flutter. He


leads you through the basics like widgets, standard library,
packages, and plugins, and helps you to understand the
more advanced topics like network, I/O, navigation, testing,
debugging, and firebase. His book is a reference for practical
suggestions, useful tips, and solid advice, without sacrificing
the details. What I liked the most is that each chapter starts
with a premise, and ends with a conclusion and “where
we’re going next,” building up a natural, logical, and
consequential narrative.

→ Alessio Salvadorini
Creative Technologist, Nokia

Great book for anyone who wants to start grasping Flutter.

→ Erdem Orman
Software Development Engineer, Amazon
If you want or need to do cross-platform mobile app
development, you should have this book at hand.
Programming Flutter, by Carmine Zaccagnino, walks you
systematically through this important Google platform for
building full apps that work with Android, iOS, and Google
Fuchsia.

→ John Barry
Independent Editorial Consultant, various

Carmine’s hands-on tutorial will help you understand


Flutter and why it is the best solution to target iPhones and
Androids with a single codebase. Great book for a great
framework!

→ Paul Freiberger
Coauthor, Fire in the Valley: The Birth and Death of the
Personal Computer
Acknowledgments
This book exists because Flutter was released and such a
revolutionary technology needed a way for people to know
about it and learn it however they prefer. So, before even talking
about the book, it’s necessary to remember how good it is for
the developer community that Google has released Flutter and
they’re continuing to invest in it to make it even more
revolutionary and important every day that passes.

Talking about the book, it has to be said that working with the
Pragmatic Bookshelf has been great. First of all, I want to thank
Andy Hunt, who as a publisher has built a wonderful team:
starting from my very first interactions with Brian MacDonald
over my proposal to write this book everyone has been
thorough, welcoming, and helpful.

In particular, I want to thank Michael Swaine who, as the editor


of this book, has been encouraging, helpful, and understanding
throughout the process, never making me feel pressured and
always helping and encouraging me when any issues arose or
when I had questions about anything related to the book.

When bigger and more technical issues arose, production


manager Janet Furlow has fixed them, allowing me to keep
working on the content of the book instead. The cover Gilson
Graphics made for the book is very nice as a visual metaphor of
Flutter’s multi-platform nature. In addition to those I have
mentioned, I want to thank everyone else at the Pragmatic
Bookshelf who has been involved in making the book as good as
it is.

I want to thank everybody who has looked at the book and given
me feedback, which I have taken on and tried to use to the best
of my ability to make the book better for everyone. In particular,
the technical reviewers who have been thorough and thoughtful
in their feedback and the beta book readers who have taken
their time to submit errata: it’s been very important and seeing
how thorough they have been has encouraged me to do as much
as I could for the book. Thank you Giordano Scalzo, Alessio
Salvadorini, Erdem Orman, Paul Freiberger, and John Barry.

I want to thank everyone I know informally: my friends and


family have all been very encouraging and supportive and have
made this journey more pleasant than it could have ever been
without their support. Knowing the people close to me were
happy with the fact that I was doing this was invaluable. I would
also like to mention the people who were less close to me, who
knew me barely or not at all previously and who have reached
out to ask about the book because they made the results of my
work feel like something closer to me.

Copyright © 2020, The Pragmatic Bookshelf.


Preface
This book is about Flutter, Google’s open source software
development kit (SDK) that can be used to develop applications
across a wide range of platforms. We’ll begin by taking a brief
look at its history, followed by an overview of its features and
what we will see during the course of this book.

At the end of this Preface you’ll find information about the


installation and usage of the Flutter SDK and integrated
development environment (IDE) plugins.
A Brief History of Flutter
In 2015 Google unveiled Flutter, a new SDK based on the Dart
language, as the next platform for Android development, and in
2017 an alpha version of it (0.0.6) was released to the public for
the first time.

At I/O 2017 Google showed off using Flutter and its multi-
platform capabilities, and continued promoting it at I/O 2018.
Since then, Google has been investing in Flutter and
recommending it as the way everyone should be developing
mobile apps.

In December 2018 Flutter 1.0 was released and made available


so that developers could begin using the SDK to make app
creation easier.

At Google I/O 2019, Flutter support for desktop and web


platforms was publicly announced. Tools for developing Flutter
apps for Windows, macOS, Linux, and the web were released.

In addition to being unstable and untested, desktop


development is being held back further by the lack of plugin
support, which is very limited mostly because, at the time of
writing, plugin tooling is still in the process of being developed,
meaning that binaries for the platform-specific code for each
platform has to be manually built and linked by editing the
Google-provided Makefiles that can be found in Google’s
dedicated flutter-desktop-embedding GitHub repository.[1]

On the other hand, web support is progressing quickly and


shouldn’t take much more than a rebuild of a working Flutter
mobile project that doesn’t have any native plugins or platform-
specific code.
Why Flutter Matters and What We’ll See in
This Book
Flutter’s entry into the mobile app development framework
space is recent and, because of that, Flutter needs to carry
significant improvements over existing frameworks and SDKs
to actually be useful—and it does.

For one thing, with Flutter you’ll be able to develop apps that
work with Android, iOS, and Google Fuchsia,[2] (which might
replace Android and/or Chrome OS at some point in the
future). Flutter is developed by Google, but it fully supports iOS,
and this means you can now also run an iOS emulator and build
for iOS in Android Studio. However, you won’t be able to build
iOS apps on Linux or Windows because iOS emulation and
compilation is still done through Xcode.

Flutter makes developing apps incredibly easy by allowing you


to define the app’s UI declaratively but in the same place and
language you define the app logic (no XML UI files required).
You can instanly preview the changes you make to your app
using stateful hot reload.

Additionally, its cross-platform nature doesn’t skimp on having


a native look and feel, as the framework supports all of the
typical native features of each of the operating systems
(different app bar, different list drag to update, Material Design
and Apple icons, etc.). The advantages compared to other cross-
platform frameworks don’t end there: you’ll be able to run any
native Kotlin/Java and Swift/Objective-C method using
platform channels, as we’ll see in ​Integrating Native Code:
Making Plugin Packages​.
Even though it’s really new, Flutter is already used by some big
and established companies (as well as many smaller ones) to
build cross-platform mobile apps, as you can see in Google’s
Flutter Showcase Page.[3]

We’ll be using Flutter packages and plugins (many of them


developed by Google) to build ever more useful apps, also
introducing more advanced standard Flutter features such as
navigation and animations.
Don’t Know Dart? Don’t Worry About It
You might want to read Appendix 1, ​Introduction to Dart ​if
you don’t have much programming experience or find even the
first chapter difficult to follow because of Dart’s syntax; many
Dart-specific constructs will be explained during the course of
the book, but you might want to consider going through that
appendix first if you find yourself struggling to understand the
code.
Installing the SDK and the IDE Plugins
To use Flutter, you need to install its SDK, and to be able to get
on with your programming in a quick and uncomplicated
manner, you’ll probably want to install the IDE tools too.

If you prefer to use the command line (maybe because you want
to use other, perhaps lighter, IDEs or text editors) there will be
guidance on the usage of the flutter command throughout the
book.

INSTALLING FLUTTER
The installation process for the Flutter SDK differs slightly for
each operating system, so I’ll separate the instructions into
three sections. Skip ahead to the instructions specific to your
platform and, if you want to install them, the part that covers
IDE plugin installation.

At the time of writing, the latest stable version is 1.9.1 and


requires a 495MB download on Linux (tar.xz archive), a 655MB
download on Windows (zip archive), or a 786MB download on
macOS (zip archive).

Installing on Linux

On a Linux machine only Android development is supported, so


we will install just the Android SDK and the Flutter SDK itself.
You’ll receive guidance for both CLI and graphical installation
methods.

Installing the Android SDK on Linux

If you have never developed Android apps, you need to install


the Android SDK, which includes the tools needed to build and
debug Android apps.

In order to use Flutter, you need to install Android Studio and


the Android SDK tools. Flutter requires Android Studio to be
installed, but you don’t have to use it for development.

Alternatives to the Official Zip File

On Gentoo and Arch Linux you can use packages to install


the Android SDK and/or Android Studio:

On Gentoo, you can install the


[4]
Android Studio package
by running emerge --ask dev-
util/android-studio;

For Arch Linux there is an actively maintained and


popular package available on the AUR called android-
[5]
studio .

Start by heading over to the downloads page on the Android


Developers page:[6] there you’ll find links for the .zip download
of Android Studio (around 1GB in size).

Regardless of what you choose, you might need to install some


32-bit libraries to make the SDK work on a 64-bit operating
system:

On Debian/Ubuntu, run sudo apt install libc6:i386 libncurses5:i386


libstdc++6:i386 lib32z1 libbz2-1.0:i386

On Fedora, run sudo dnf install zlib.i686 ncurses-libs.i686 bzip2-


libs.i686.

After that, we’re ready to actually install the Android SDK.

To do that using the full Android Studio installer, after


extracting the zip file you downloaded from Google’s website,
run the studio.sh script contained in the bin subdirectory. This
will start a setup wizard. After you complete the setup of the
SDK you can launch Android Studio by running that same
studio.sh script.

Installing the Flutter SDK on Linux

This part will provide guidance for Linux installation aimed at


beginners; if you are comfortable with the command line the
CLI steps will be more predictable. (For complete Linux
newbies it might be easier to follow GUI-oriented guidance
since that’s usually more familiar.)
Alternatives to the Tarball

There are alternatives to installing the official tarball:

Arch Linux has an actively maintained package in the


[7]
AUR to install Flutter.

The Linux download is a source tarball that also contains the


script needed to run the flutter command, which means you just
need to extract it and add the bin subdirectory of the extracted
tarball to the PATH environment variable.

Before we can do that, we need to browse to the SDK archive[8]


page on Flutter’s official website and download the latest stable
version.

Alternatively, in a CLI-only environment, you can download the


1.2.1 tarball using curl
https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linu
x_v1.2.1-stable.tar.xz -o flutter_linux_v1.2.1-stable.tar.xz.

Extract the tarball you just downloaded with any GUI tool of
your liking or by running the following command:
​ $ tar -xf flutter_linux_v1.2.1-stable.tar.xz

Now we need to add the executable script to the PATH


environment variable.

Before doing this, you need to take note of the directory where
you extracted the tarball. It contains a flutter directory, inside
which there is a bin directory; we need to know the path to reach
that bin directory.

If you are using the GUI, in most distribution it is available by


browsing the directory’s properties. It will be something along
the lines of /home/username/Downloads/flutter_linux_v1.9.1-
stable/flutter/bin if you have gone with the default settings for each
piece of software used in the steps we described earlier. I
suggest moving this to a more permanent path; ideally one at
which you’ll remember you have installed Flutter.

If you worked in the CLI using the commands just outlined,


browse to your Flutter installation directory and then change
the working directory to the flutter/bin subdirectory by running:

​ $ cd flutter/bin

and get the working directory by running:

​ $ pwd

which will return something along the lines of


/home/username/flutter/bin (here you’ll see the path where you
installed Flutter, so your mileage may vary significantly).
Know Your Shell

[9]
This section supposes that your shell is Bash.
This is the case for most Linux distributions (and Unix-like
operating systems in general—some exceptions are the BSDs,
[10]
which have tcsh,
[11]
ksh,
[12]
or ash,
[13]
and Arch Linux’s installer, which runs on Zsh
but installs Bash by default) and, since you would need to
manually install and configure a different one, you probably
would know how to add a directory to its PATH.

To add this to the PATH environment variable, we need to edit


~/.bash_profile.

To do that using the GUI, you first need your file manager to
display hidden files. If you can’t find a file named .bash_profile in
your home directory, you need to toggle the option that makes
the file manager show hidden files, and this depends on the file
manager that you’re using:

In Nautilus (a.k.a. GNOME Files, default in most distributions using


the GNOME desktop like Ubuntu, RHEL, Fedora, and default SLED
and Debian) you need to press Ctrl + H . This shortcut also works in
PCManFM (part of the LXDE, as found in Lubuntu), Caja (part of
Mate), and Thunar (part of the XFCE desktop, as found in
Xubuntu).

If you are using the KDE desktop (for example when running
Kubuntu or when choosing it when installing distributions like
openSUSE or Debian) and its default Dolphin file manager, use
Alt + + .

Once you have located a file called .bash_profile, open it with any
text editor and add the following line to the end of it, in a new
line:

​ export PATH=$PATH:/home/username/etc

where you’ll replace /home/username/etc with the string you


took note of earlier.

If you prefer using the command line or just want a copy-paste


experience from this installation guide, you can instead open a
terminal window or TTY and run the following command:

​ $ echo ​"export PATH=​$PATH​:/home/username/etc"​>> ~/.bash_profile

replacing /home/username/etc with the path you found earlier for


the extracted tarball’s flutter/bin directory.

To actually be able to run the flutter command, you need to


refresh your terminal’s configuration by running:

​ $ source ~/.bash_profile

Installing on Windows

Just like on Linux, Windows-only Android development is


supported, so we will install just the Android SDK with Android
Studio and the Flutter SDK itself.

Installing the Android SDK on Windows

All you need to do to install the Android SDK on Windows is to


download and run the Android Studio installation file available
on the official download page.[14] This will also install the
feature-rich Android Studio IDE. After installing Android
Studio, you will be guided through the installation of the
Android SDK.

Installing the Flutter SDK on Windows

To install the Flutter SDK on Windows you need to install Git


for Windows first. You can find the installation file for it on its
official download page.[15] During installation, you need to
choose the Use Git from the Windows Command Prompt
option.

After you have installed Git, download the latest version of


Flutter from its official installation page.[16] This, unlike what
happens with most of the software available for Windows, will
download a zip archive (a.k.a. a compressed folder) that
contains a flutter folder: extract it wherever you want (this will be
the SDK folder any IDE plugin will ask you to enter).

If you want to run a command on the Flutter Console, run the


flutter.bat script contained in the bin subfolder.

Installing on macOS

The advantage macOS has is that it also supports iOS building


and debugging. To take advantage of that, we also need to
install Xcode and the iOS SDK.

Installing Xcode and the iOS SDK

To be able to run Flutter and use it for iOS development you


need to download Xcode[17] and the iOS SDK[18] from Apple’s
official website.

Installing the Android SDK on macOS


Installing the Android SDK on macOS is really simple: head
over to the Android Studio downloads page[19] to download the
.dmg file that also includes the feature-rich but resource
intensive Android Studio IDE.

Installing the Flutter SDK on macOS

Installing Flutter on macOS is very similar to installing Flutter


on Linux. The main differences are that macOS uses the zip
archive format instead of the more efficient tar.xz format, and
there are no OS or GUI differences among distributions to
contend with.

Start by downloading the latest stable .zip from Flutter’s official


website.[20]

Unzip it to any directory, then open the flutter directory you just
extracted. Press ⌘ + I and take note of the path that appears
to the right of Where:.

Now, open a Terminal window and run the command:

​ $ nano ~/.bash_profile

After doing that, paste the following in the terminal window:

​ export PATH=$PATH:/example/path/to/flutter/bin

replacing /example/path/to/flutter/bin with the path you took note of


earlier.

All that’s left to do is to close the file using Ctrl - X and


confirming you want to save the file by pressing Y .
To actually be able to run the flutter command, you need to
refresh your terminal’s configuration by running:

​ $ source ~/.bash_profile

INSTALLING THE IDE PLUGINS


The Flutter IDE plugins for VSCode and Android Studio are
installed using the canonical installation tools and techniques
for each IDE. They also require the installation of the respective
Dart plugin.

If you’re not familiar with that process, we’ll now discuss how to
install the Flutter plugin on each IDE.

VSCode

To install the Flutter plugin for Visual Studio Code you need to
open Visual Studio Code itself, then use the keyboard shortcut
Ctrl - Shift - P to open the command palette, then type “Install
extensions” and press Enter .

On the panel that opens up on the left, type Flutter and press
Enter .

Click the Install button in the Flutter entry in the list, this will
install both the Flutter and the Dart plugins.

Unlike the Flutter plugin for Android Studio, the Flutter plugin
for Visual Studio Code plugin will auto-detect the location
where the Flutter SDK is installed.

Android Studio

To install the Flutter plugin for Android Studio you need to


navigate to File > Settings > Plugins, click Browse
repositories..., type Flutter and click Install.
Another Random Document on
Scribd Without Any Related Topics
It was those good traits that soon made little “Giddy-gaddy,” as
they called her, a favorite with every one. Daisy never complained of
being dull again, for Nan invented the most delightful plays, and her
pranks rivalled Tommy’s, to the amusement of the whole school. She
buried her big doll and forgot it for a week, and found it well
mildewed when she dug it up. Daisy was in despair, but Nan took it
to the painter who was at work about the house, got him to paint it
brick red, with staring black eyes, then she dressed it up with
feathers, and scarlet flannel, and one of Ned’s leaden hatchets; and
in the character of an Indian chief, the late Poppydilla tomahawked
all the other dolls, and caused the nursery to run red with imaginary
gore. She gave away her new shoes to a beggar child, hoping to be
allowed to go barefoot, but found it impossible to combine charity
and comfort, and was ordered to ask leave before disposing of her
clothes. She delighted the boys by making a fire-ship out of a
shingle with two large sails wet with turpentine, which she lighted,
and then sent the little vessel floating down the brook at dusk. She
harnessed the old turkey-cock to a straw wagon, and made him trot
round the house at a tremendous pace. She gave her coral necklace
for four unhappy kittens, which had been tormented by some
heartless lads, and tended them for days as gently as a mother,
dressing their wounds with cold cream, feeding them with a doll’s
spoon, and mourning over them when they died, till she was
consoled by one of Demi’s best turtles. She made Silas tattoo an
anchor on her arm like his, and begged hard to have a blue star on
each cheek, but he dared not do it, though she coaxed and scolded
till the soft-hearted fellow longed to give in. She rode every animal
on the place, from the big horse Andy to the cross pig, from whom
she was rescued with difficulty. Whatever the boys dared her to do
she instantly attempted, no matter how dangerous it might be, and
they were never tired of testing her courage.
Mr. Bhaer suggested that they should see who would study best,
and Nan found as much pleasure in using her quick wits and fine
memory as her active feet and merry tongue, while the lads had to
do their best to keep their places, for Nan showed them that girls
could do most things as well as boys, and some things better. There
were no rewards in school, but Mr. Bhaer’s “Well done!” and Mrs.
Bhaer’s good report on the conscience book, taught them to love
duty for its own sake, and try to do it faithfully, sure that sooner or
later the recompense would come. Little Nan was quick to feel the
new atmosphere, to enjoy it, to show that it was what she needed;
for this little garden was full of sweet flowers, half hidden by the
weeds; and when kind hands gently began to cultivate it, all sorts of
green shoots sprung up, promising to blossom beautifully in the
warmth of love and care, the best climate for young hearts and souls
all the world over.
CHAPTER VIII
PRANKS AND PLAYS

As there is no particular plan to this story, except to describe a


few scenes in the life at Plumfield for the amusement of certain little
persons, we will gently ramble along in this chapter and tell some of
the pastimes of Mrs. Jo’s boys. I beg leave to assure my honored
readers that most of the incidents are taken from real life, and that
the oddest are the truest; for no person, no matter how vivid an
imagination he may have, can invent anything half so droll as the
freaks and fancies that originate in the lively brains of little people.
Daisy and Demi were full of these whims, and lived in a world of
their own, peopled with lovely or grotesque creatures, to whom they
gave the queerest names, and with whom they played the queerest
games. One of these nursery inventions was an invisible sprite called
“The Naughty Kitty-mouse,” whom the children had believed in,
feared, and served for a long time. They seldom spoke of it to any
one else, kept their rites as private as possible; and, as they never
tried to describe it even to themselves, this being had a vague
mysterious charm very agreeable to Demi, who delighted in elves
and goblins. A most whimsical and tyrannical imp was the Naughty
Kitty-mouse, and Daisy found a fearful pleasure in its service, blindly
obeying its most absurd demands, which were usually proclaimed
from the lips of Demi, whose powers of invention were great. Rob
and Teddy sometimes joined in these ceremonies, and considered
them excellent fun, although they did not understand half that went
on.
One day after school Demi whispered to his sister, with an
ominous wag of the head,—
“The Kitty-mouse wants us this afternoon.”
“What for?” asked Daisy, anxiously.
“A sackerryfice,” answered Demi, solemnly. “There must be a fire
behind the big rock at two o’clock, and we must all bring the things
we like best, and burn them!” he added, with an awful emphasis on
the last words.
“Oh, dear! I love the new paper dollies Aunt Amy painted for me
best of any thing; must I burn them up?” cried Daisy, who never
thought of denying the unseen tyrant any thing it demanded.
“Every one. I shall burn my boat, my best scrap-book, and all my
soldiers,” said Demi, firmly.
“Well, I will; but it’s too bad of Kitty-mouse to want our very nicest
things,” sighed Daisy.
“A sackerryfice means to give up what you are fond of, so we
must,” explained Demi, to whom the new idea had been suggested
by hearing Uncle Fritz describe the customs of the Greeks to the big
boys who were reading about them in school.
“Is Rob coming too?” asked Daisy.
“Yes, and he is going to bring his toy village; it is all made of
wood, you know, and will burn nicely. We’ll have a grand bonfire,
and see them blaze up, won’t we?”
This brilliant prospect consoled Daisy, and she ate her dinner with
a row of paper dolls before her, as a sort of farewell banquet.
At the appointed hour the sacrificial train set forth, each child
bearing the treasures demanded by the insatiable Kitty-mouse.
Teddy insisted on going also, and seeing that all the others had toys,
he tucked a squeaking lamb under one arm, and old Annabella
under the other, little dreaming what anguish the latter idol was to
give him.
“Where are you going, my chickens?” asked Mrs. Jo, as the flock
passed her door.
“To play by the big rock; can’t we?”
“Yes, only don’t go near the pond, and take good care of baby.”
“I always do,” said Daisy, leading forth her charge with a capable
air.
“Now, you must all sit round, and not move till I tell you. This flat
stone is an altar, and I am going to make a fire on it.”
Demi then proceeded to kindle up a small blaze, as he had seen
the boys do at picnics. When the flame burned well, he ordered the
company to march round it three times and then stand in a circle.
“I shall begin, and as fast as my things are burnt, you must bring
yours.”
With that he solemnly laid on a little paper book full of pictures,
pasted in by himself; this was followed by a dilapidated boat, and
then one by one the unhappy leaden soldiers marched to death. Not
one faltered or hung back, from the splendid red and yellow captain
to the small drummer who had lost his legs; all vanished in the
flames and mingled in one common pool of melted lead.
“Now, Daisy!” called the high priest of Kitty-mouse, when his rich
offerings had been consumed, to the great satisfaction of the
children.
“My dear dollies, how can I let them go?” moaned Daisy, hugging
the entire dozen with a face full of maternal woe.
“You must,” commanded Demi; and with a farewell kiss to each,
Daisy laid her blooming dolls upon the coals.
“Let me keep one, the dear blue thing, she is so sweet,” besought
the poor little mamma, clutching her last in despair.
“More! more!” growled an awful voice, and Demi cried, “That’s the
Kitty-mouse! she must have every one, quick, or she will scratch us.”
In went the precious blue belle, flounces, rosy hat, and all, and
nothing but a few black flakes remained of that bright band.
“Stand the houses and trees round, and let them catch
themselves; it will be like a real fire then,” said Demi, who liked
variety even in his “sackerryfices.”
Charmed by this suggestion, the children arranged the doomed
village, laid a line of coals along the main street, and then sat down
to watch the conflagration. It was somewhat slow to kindle owing to
the paint, but at last one ambitious little cottage blazed up, fired a
tree of the palm species, which fell on to the roof of a large family
mansion, and in a few minutes the entire town was burning merrily.
The wooden population stood and stared at the destruction like
blockheads, as they were, till they also caught and blazed away
without a cry. It took some time to reduce the town to ashes, and
the lookers-on enjoyed the spectacle immensely, cheering as each
house fell, dancing like wild Indians when the steeple flamed aloft,
and actually casting one wretched little churn-shaped lady, who had
escaped to the suburbs, into the very heart of the fire.
The superb success of this last offering excited Teddy to such a
degree, that he first threw his lamb into the conflagration, and
before it had time even to roast, he planted poor dear Annabella on
the funeral pyre. Of course she did not like it, and expressed her
anguish and resentment in a way that terrified her infant destroyer.
Being covered with kid, she did not blaze, but did what was worse,
she squirmed. First one leg curled up, then the other, in a very awful
and lifelike manner; next she flung her arms over her head as if in
great agony; her head itself turned on her shoulders, her glass eyes
fell out, and with one final writhe of her whole body, she sank down
a blackened mass on the ruins of the town. This unexpected
demonstration startled every one and frightened Teddy half out of
his little wits. He looked, then screamed and fled toward the house,
roaring “Marmar” at the top of his voice.
Mrs. Bhaer heard the outcry and ran to the rescue, but Teddy
could only cling to her and pour out in his broken way something
about, “poor Bella hurted,” “a dreat fire,” and “all the dollies dorn.”
Fearing some dire mishap, his mother caught him up and hurried to
the scene of action, where she found the blind worshippers of Kitty-
mouse mourning over the charred remains of the lost darling.
“What have you been at? Tell me all about it,” said Mrs. Jo,
composing herself to listen patiently, for the culprits looked so
penitent, she forgave them beforehand.
With some reluctance Demi explained their play, and Aunt Jo
laughed till the tears ran down her cheeks, the children were so
solemn, and the play was so absurd.
“I thought you were too sensible to play such a silly game as this.
If I had any Kitty-mouse I’d have a good one who liked you to play
in safe pleasant ways, and not destroy and frighten. Just see what a
ruin you have made; all Daisy’s pretty dolls, Demi’s soldiers, and
Rob’s new village, beside poor Teddy’s pet lamb, and dear old
Annabella. I shall have to write up in the nursery the verse that used
to come in the boxes of toys,—

‘The children of Holland take pleasure in making,


What the children of Boston take pleasure in breaking.’

Only I shall put Plumfield instead of Boston.”


“We never will again, truly, truly!” cried the repentant little sinners,
much abashed at this reproof.
“Demi told us to,” said Rob.
“Well, I heard Uncle tell about the Greece people, who had altars
and things, and so I wanted to be like them, only I hadn’t any live
creatures to sackerryfice, so we burnt up our toys.”
“Dear me, that is something like the bean story,” said Aunt Jo,
laughing again.
“Tell about it,” suggested Daisy, to change the subject.
“Once there was a poor woman who had three or four little
children, and she used to lock them up in her room when she went
out to work, to keep them safe. One day when she was going away
she said, ‘Now, my dears, don’t let baby fall out of the window, don’t
play with the matches, and don’t put beans up your noses.’ Now the
children had never dreamed of doing that last thing, but she put it
into their heads, and the minute she was gone, they ran and stuffed
their naughty little noses full of beans, just to see how it felt, and
she found them all crying when she came home.”
“Did it hurt?” asked Rob, with such intense interest that his
mother hastily added a warning sequel, lest a new edition of the
bean story should appear in her own family.
“Very much, as I know, for when my mother told me this story, I
was so silly that I went and tried it myself. I had no beans, so I took
some little pebbles, and poked several into my nose. I did not like it
at all, and wanted to take them out again very soon, but one would
not come, and I was so ashamed to tell what a goose I had been
that I went for hours with the stone hurting me very much. At last
the pain got so bad I had to tell, and when my mother could not get
it out the doctor came. Then I was put in a chair and held tight,
Rob, while he used his ugly little pincers till the stone hopped out.
Dear me! how my wretched little nose did ache, and how people
laughed at me!” and Mrs. Jo shook her head in a dismal way, as if
the memory of her sufferings was too much for her.
Rob looked deeply impressed and I am glad to say took the
warning to heart. Demi proposed that they should bury poor
Annabella, and in the interest of the funeral Teddy forgot his fright.
Daisy was soon consoled by another batch of dolls from Aunt Amy,
and the Naughty Kitty-mouse seemed to be appeased by the last
offerings, for she tormented them no more.
“Brops,” was the name of a new and absorbing play, invented by
Bangs. As this interesting animal is not to be found in any Zoölogical
Garden, unless Du Chaillu has recently brought one from the wilds of
Africa, I will mention a few of its peculiar habits and traits, for the
benefit of inquiring minds. The Brop is a winged quadruped, with a
human face of a youthful and merry aspect. When it walks the earth
it grunts, when it soars it gives a shrill hoot, occasionally it goes
erect, and talks good English. Its body is usually covered with a
substance much resembling a shawl, sometimes red, sometimes
blue, often plaid, and, strange to say, they frequently change skins
with one another. On their heads they have a horn very like a stiff
brown paper lamp-lighter. Wings of the same substance flap upon
their shoulders when they fly; this is never very far from the ground,
as they usually fall with violence if they attempt any lofty flights.
They browse over the earth, but can sit up and eat like the squirrel.
Their favorite nourishment is the seed-cake; apples also are freely
taken, and sometimes raw carrots are nibbled when food is scarce.
They live in dens, where they have a sort of nest, much like a
clothes-basket, in which the little Brops play till their wings are
grown. These singular animals quarrel at times, and it is on these
occasions that they burst into human speech, call each other names,
cry, scold, and sometimes tear off horns and skin, declaring fiercely
that they “won’t play.” The few privileged persons who have studied
them are inclined to think them a remarkable mixture of the monkey,
the sphinx, the roc, and the queer creatures seen by the famous
Peter Wilkins.
This game was a great favorite, and the younger children beguiled
many a rainy afternoon flapping or creeping about the nursery,
acting like little bedlamites and being as merry as little grigs. To be
sure, it was rather hard upon clothes, particularly trouser-knees and
jacket-elbows; but Mrs. Bhaer only said, as she patched and darned,

“We do things just as foolish, and not half so harmless. If I could
get as much happiness out of it as the little dears do, I’d be a Brop
myself.”
Nat’s favorite amusements were working in his garden, and sitting
in the willow-tree with his violin, for that green nest was a fairy
world to him, and there he loved to perch, making music like a
happy bird. The lads called him “Old Chirper,” because he was
always humming, whistling, or fiddling, and they often stopped a
minute in their work or play to listen to the soft tones of the violin,
which seemed to lead a little orchestra of summer sounds. The birds
appeared to regard him as one of themselves, and fearlessly sat on
the fence or lit among the boughs to watch him with their quick
bright eyes. The robins in the apple-tree near by evidently
considered him a friend, for the father bird hunted insects close
beside him, and the little mother brooded as confidingly over her
blue eggs as if the boy was only a new sort of blackbird, who
cheered her patient watch with his song. The brown brook babbled
and sparkled below him, the bees haunted the clover fields on either
side, friendly faces peeped at him as they passed, the old house
stretched its wide wings hospitably toward him, and with a blessed
sense of rest and love and happiness, Nat dreamed for hours in this
nook, unconscious what healthful miracles were being wrought upon
him.
One listener he had who never tired, and to whom he was more
than a mere schoolmate. Poor Billy’s chief delight was to lie beside
the brook, watching leaves and bits of foam dance by, listening
dreamily to the music in the willow-tree. He seemed to think Nat a
sort of angel who sat aloft and sang, for a few baby memories still
lingered in his mind and seemed to grow brighter at these times.
Seeing the interest he took in Nat, Mr. Bhaer begged him to help
them lift the cloud from the feeble brain by this gentle spell. Glad to
do any thing to show his gratitude, Nat always smiled on Billy when
he followed him about, and let him listen undisturbed to the music
which seemed to speak a language he could understand. “Help one
another,” was a favorite Plumfield motto, and Nat learned how much
sweetness is added to life by trying to live up to it.
Jack Ford’s peculiar pastime was buying and selling; and he bid
fair to follow in the footsteps of his uncle, a country merchant, who
sold a little of every thing and made money fast. Jack had seen the
sugar sanded, the molasses watered, the butter mixed with lard, and
things of that kind, and labored under the delusion that it was all a
proper part of the business. His stock in trade was of a different
sort, but he made as much as he could out of every worm he sold,
and always got the best of the bargain when he traded with the
boys for string, knives, fish-hooks, or whatever the article might be.
The boys, who all had nicknames, called him “Skinflint,” but Jack did
not care as long as the old tobacco-pouch in which he kept his
money grew heavier and heavier.
He established a sort of auction-room, and now and then sold off
all the odds and ends he had collected, or helped the lads exchange
things with one another. He got bats, balls, hockey-sticks, etc.,
cheap, from one set of mates, furbished them up, and let them for a
few cents a time to another set, often extending his business beyond
the gates of Plumfield in spite of the rules. Mr. Bhaer put a stop to
some of his speculations, and tried to give him a better idea of
business talent than mere sharpness in overreaching his neighbors.
Now and then Jack made a bad bargain, and felt worse about it than
about any failure in lessons or conduct, and took his revenge on the
next innocent customer who came along. His account-book was a
curiosity; and his quickness at figures quite remarkable. Mr. Bhaer
praised him for this, and tried to make his sense of honesty and
honor as quick; and, by and by, when Jack found that he could not
get on without these virtues, he owned that his teacher was right.
Cricket and football the boys had of course; but, after the stirring
accounts of these games in the immortal “Tom Brown at Rugby,” no
feeble female pen may venture to do more than respectfully allude
to them.
Emil spent his holidays on the river or the pond, and drilled the
elder lads for a race with certain town boys, who now and then
invaded their territory. The race duly came off, but as it ended in a
general shipwreck, it was not mentioned in public; and the
Commodore had serious thoughts of retiring to a desert island, so
disgusted was he with his kind for a time. No desert island being
convenient, he was forced to remain among his friends, and found
consolation in building a boat-house.
The little girls indulged in the usual plays of their age, improving
upon them somewhat as their lively fancies suggested. The chief and
most absorbing play was called “Mrs. Shakespeare Smith;” the name
was provided by Aunt Jo, but the trials of the poor lady were quite
original. Daisy was Mrs. S. S., and Nan by turns her daughter or a
neighbor, Mrs. Giddy-gaddy.
No pen can describe the adventures of these ladies, for in one
short afternoon their family was the scene of births, marriages,
deaths, floods, earthquakes, tea-parties, and balloon ascensions.
Millions of miles did these energetic women travel, dressed in hats
and habits never seen before by the mortal eye, perched on the bed,
driving the posts like mettlesome steeds, and bouncing up and down
till their heads spun. Fits and fires were the pet afflictions, with a
general massacre now and then by way of change. Nan was never
tired of inventing fresh combinations, and Daisy followed her leader
with blind admiration. Poor Teddy was a frequent victim, and was
often rescued from real danger, for the excited ladies were apt to
forget that he was not of the same stuff as their long-suffering dolls.
Once he was shut into a closet for a dungeon, and forgotten by the
girls, who ran off to some out-of-door game. Another time he was
half drowned in the bath-tub, playing be a “cunning little whale.”
And, worst of all, he was cut down just in time after being hung up
for a robber.
But the institution most patronized by all was the Club. It had no
other name, and it needed none, being the only one in the
neighborhood. The elder lads got it up, and the younger were
occasionally admitted if they behaved well. Tommy and Demi were
honorary members, but were always obliged to retire unpleasantly
early, owing to circumstances over which they had no control. The
proceedings of this club were somewhat peculiar, for it met at all
sorts of places and hours, had all manner of queer ceremonies and
amusements, and now and then was broken up tempestuously, only
to be re-established, however, on a firmer basis.
Rainy evenings the members met in the school-room, and passed
the time in games: chess, morris, backgammon, fencing matches,
recitations, debates, or dramatic performances of a darkly tragical
nature. In summer the barn was the rendezvous, and what went on
there no uninitiated mortal knows. On sultry evenings the Club
adjourned to the brook for aquatic exercises, and the members sat
about in airy attire, frog-like and cool. On such occasions the
speeches were unusually eloquent, quite flowing, as one might say;
and if any orator’s remarks displeased the audience, cold water was
thrown upon him till his ardor was effectually quenched. Franz was
president, and maintained order admirably, considering the unruly
nature of the members. Mr. Bhaer never interfered with their affairs,
and was rewarded for this wise forbearance by being invited now
and then to behold the mysteries unveiled, which he appeared to
enjoy much.
When Nan came she wished to join the Club, and caused great
excitement and division among the gentlemen by presenting endless
petitions, both written and spoken, disturbing their solemnities by
insulting them through the key-hole, performing vigorous solos on
the door, and writing up derisive remarks on walls and fences, for
she belonged to the “Irrepressibles.” Finding these appeals vain, the
girls, by the advice of Mrs. Jo, got up an institution of their own,
which they called the Cosy Club. To this they magnanimously invited
the gentlemen whose youth excluded them from the other one, and
entertained these favored beings so well with little suppers, new
games devised by Nan, and other pleasing festivities, that, one by
one, the elder boys confessed a desire to partake of these more
elegant enjoyments, and, after much consultation, finally decided to
propose an interchange of civilities.
The members of the Cosy Club were invited to adorn the rival
establishment on certain evenings, and to the surprise of the
gentlemen their presence was not found to be a restraint upon the
conversation or amusement of the regular frequenters; which could
not be said of all Clubs, I fancy. The ladies responded handsomely
and hospitably to these overtures of peace, and both institutions
flourished long and happily.
CHAPTER IX
DAISY’S BALL

“Mrs. Shakespeare Smith would like to have Mr. John Brooke, Mr.
Thomas Bangs, and Mr. Nathaniel Blake to come to her ball at three
o’clock to-day.
“P.S.—Nat must bring his fiddle, so we can dance, and all the boys
must be good, or they cannot have any of the nice things we have
cooked.”
This elegant invitation would, I fear, have been declined, but for
the hint given in the last line of the postscript.
“They have been cooking lots of goodies, I smelt ’em. Let’s go,”
said Tommy.
“We needn’t stay after the feast, you know,” added Demi.
“I never went to a ball. What do you have to do?” asked Nat.
“Oh, we just play be men, and sit round stiff and stupid like
grown-up folks, and dance to please the girls. Then we eat up
everything, and come away as soon as we can.”
“I think I could do that,” said Nat, after considering Tommy’s
description for a minute.
“I’ll write and say we’ll come;” and Demi despatched the following
gentlemanly reply,—
“We will all come. Please have lots to eat.—J. B. Esquire.”
Great was the anxiety of the ladies about their first ball, because if
every thing went well they intended to give a dinner-party to the
chosen few.
“Aunt Jo likes to have the boys play with us, if they are not rough;
so we must make them like our balls, then they will do them good,”
said Daisy, with her maternal air, as she set the table and surveyed
the store of refreshments with an anxious eye.
“Demi and Nat will be good, but Tommy will do something bad, I
know he will,” replied Nan, shaking her head over the little cake-
basket which she was arranging.
“Then I shall send him right home,” said Daisy, with decision.
“People don’t do so at parties, it isn’t proper.”
“I shall never ask him any more.”
“That would do. He’d be sorry not to come to the dinner-ball,
wouldn’t he?”
“I guess he would! we’ll have the splendidest things ever seen,
won’t we? Real soup with a ladle and a tureem [she meant tureen]
and a little bird for turkey, and gravy, and all kinds of nice
vegytubbles.” Daisy never could say vegetables properly, and had
given up trying.
“It is ’most three, and we ought to dress,” said Nan, who had
arranged a fine costume for the occasion, and was anxious to wear
it.
“I am the mother, so I shan’t dress up much,” said Daisy, putting
on a night-cap ornamented with a red bow, one of her aunt’s long
skirts, and a shawl; a pair of spectacles and a large pocket
handkerchief completed her toilette, making a plump, rosy little
matron of her.
Nan had a wreath of artificial flowers, a pair of old pink slippers, a
yellow scarf, a green muslin skirt, and a fan made of feathers from
the duster; also, as a last touch of elegance, a smelling-bottle
without any smell in it.
“I am the daughter, so I rig up a good deal, and I must sing and
dance, and talk more than you do. The mothers only get the tea and
be proper, you know.”
A sudden very loud knock caused Miss Smith to fly into a chair,
and fan herself violently, while her mamma sat bolt upright on the
sofa, and tried to look quite calm and “proper.” Little Bess, who was
on a visit, acted the part of maid, and opened the door, saying with
a smile, “Wart in, gemplemun; it’s all weady.”
In honor of the occasion, the boys wore high paper collars, tall
black hats, and gloves of every color and material, for they were an
afterthought, and not a boy among them had a perfect pair.
“Good day, mum,” said Demi, in a deep voice, which was so hard
to keep up that his remarks had to be extremely brief.
Every one shook hands and then sat down, looking so funny, yet
so sober, that the gentlemen forgot their manners, and rolled in their
chairs with laughter.
“Oh, don’t!” cried Mrs. Smith, much distressed.
“You can’t ever come again if you act so,” added Miss Smith,
rapping Mr. Bangs with her bottle because he laughed loudest.
“I can’t help it, you look so like fury,” gasped Mr. Bangs, with most
uncourteous candor.
“So do you, but I shouldn’t be so rude as to say so. He shan’t
come to the dinner-ball, shall he, Daisy?” cried Nan, indignantly.
“I think we had better dance now. Did you bring your fiddle, sir?”
asked Mrs. Smith, trying to preserve her polite composure.
“It is outside the door,” and Nat went to get it.
“Better have tea first,” proposed the unabashed Tommy, winking
openly at Demi to remind him that the sooner the refreshments
were secured, the sooner they could escape.
“No, we never have supper first; and if you don’t dance well you
won’t have any supper at all, not one bit, sir,” said Mrs. Smith, so
sternly that her wild guests saw she was not to be trifled with, and
grew overwhelmingly civil all at once.
“I will take Mr. Bangs and teach him the polka, for he does not
know it fit to be seen,” added the hostess, with a reproachful look
that sobered Tommy at once.
Nat struck up, and the ball opened with two couples, who went
conscientiously through a somewhat varied dance. The ladies did
well, because they liked it, but the gentlemen exerted themselves
from more selfish motives, for each felt that he must earn his
supper, and labored manfully toward that end. When every one was
out of breath they were allowed to rest; and, indeed, poor Mrs.
Smith needed it, for her long dress had tripped her up many times.
The little maid passed round molasses and water in such small cups
that one guest actually emptied nine. I refrain from mentioning his
name, because this mild beverage affected him so much that he put
cup and all into his mouth at the ninth round, and choked himself
publicly.
“You must ask Nan to play and sing now,” said Daisy to her
brother, who sat looking very much like an owl, as he gravely
regarded the festive scene between his high collars.
“Give us a song, mum,” said the obedient guest, secretly
wondering where the piano was.
Miss Smith sailed up to an old secretary which stood in the room,
threw back the lid of the writing-desk, and sitting down before it,
accompanied herself with a vigor which made the old desk rattle as
she sang that new and lovely song, beginning—

“Gaily the troubadour


Touched his guitar,
As he was hastening
Home from the war.”

The gentlemen applauded so enthusiastically that she gave them


“Bounding Billows,” “Little Bo-Peep,” and other gems of song, till
they were obliged to hint that they had had enough. Grateful for the
praises bestowed upon her daughter, Mrs. Smith graciously
announced,—
“Now we will have tea. Sit down carefully, and don’t grab.”
It was beautiful to see the air of pride with which the good lady
did the honors of her table, and the calmness with which she bore
the little mishaps that occurred. The best pie flew wildly on the floor
when she tried to cut it with a very dull knife; the bread and butter
vanished with a rapidity calculated to dismay a housekeeper’s soul;
and, worst of all, the custards were so soft that they had to be
drunk up, instead of being eaten elegantly with the new tin spoons.
I grieve to state that Miss Smith squabbled with the maid for the
best jumble, which caused Bess to toss the whole dish into the air,
and burst out crying amid a rain of falling cakes. She was comforted
by a seat at the table, and the sugar-bowl to empty; but during this
flurry a large plate of patties was mysteriously lost, and could not be
found. They were the chief ornament of the feast, and Mrs. Smith
was indignant at the loss, for she had made them herself, and they
were beautiful to behold. I put it to any lady if it was not hard to
have one dozen delicious patties (made of flour, salt, and water, with
a large raisin in the middle of each, and much sugar over the whole)
swept away at one fell swoop?
“You hid them, Tommy; I know you did!” cried the outraged
hostess, threatening her suspected guest with the milk-pot.
“I didn’t!”
“You did!”
“It isn’t proper to contradict,” said Nan, who was hastily eating up
the jelly during the fray.
“Give them back, Demi,” said Tommy.
“That’s a fib, you’ve got them in your own pocket,” bawled Demi,
roused by the false accusation.
“Let’s take ’em away from him. It’s too bad to make Daisy cry,”
suggested Nat, who found his first ball more exciting than he
expected.
Daisy was already weeping, Bess like a devoted servant mingled
her tears with those of her mistress, and Nan denounced the entire
race of boys as “plaguey things.” Meanwhile the battle raged among
the gentlemen, for, when the two defenders of innocence fell upon
the foe, that hardened youth intrenched himself behind a table and
pelted them with the stolen tarts, which were very effective missiles,
being nearly as hard as bullets. While his ammunition held out the
besieged prospered, but the moment the last patty flew over the
parapet, the villain was seized, dragged howling from the room, and
cast upon the hall floor in an ignominious heap. The conquerors then
returned flushed with victory, and while Demi consoled poor Mrs.
Smith, Nat and Nan collected the scattered tarts, replaced each
raisin in its proper bed, and rearranged the dish so that it really
looked almost as well as ever. But their glory had departed, for the
sugar was gone, and no one cared to eat them after the insult
offered to them.
Miss Smith accompanied herself with a vigor which made
the old desk rattle. Page 135.

“I guess we had better go,” said Demi, suddenly, as Aunt Jo’s


voice was heard on the stairs.
“P’r’aps we had,” and Nat hastily dropped a stray jumble that he
had just picked up.
But Mrs. Jo was among them before the retreat was
accomplished, and into her sympathetic ear the young ladies poured
the story of their woes.
“No more balls for these boys till they have atoned for this bad
behavior by doing something kind to you,” said Mrs. Jo, shaking her
head at the three culprits.
“We were only in fun,” began Demi.
“I don’t like fun that makes other people unhappy. I am
disappointed in you, Demi, for I hoped you would never learn to
tease Daisy. Such a kind little sister as she is to you.”
“Boys always tease their sisters; Tom says so,” muttered Demi.
“I don’t intend that my boys shall, and I must send Daisy home if
you cannot play happily together,” said Aunt Jo, soberly.
At this awful threat, Demi sidled up to his sister, and Daisy hastily
dried her tears, for to be separated was the worst misfortune that
could happen to the twins.
“Nat was bad too, and Tommy was baddest of all,” observed Nan,
fearing that two of the sinners would not get their fair share of
punishment.
“I am sorry,” said Nat, much ashamed.
“I ain’t!” bawled Tommy through the key-hole, where he was
listening, with all his might.
Mrs. Jo wanted very much to laugh, but kept her countenance,
and said impressively, as she pointed to the door,—
“You can go, boys, but remember, you are not to speak to or play
with the little girls till I give you leave. You don’t deserve the
pleasure, so I forbid it.”
The ill-mannered young gentlemen hastily retired, to be received
outside with derision and scorn by the unrepentant Bangs, who
would not associate with them for at least fifteen minutes. Daisy was
soon consoled for the failure of her ball, but lamented the edict that
parted her from her brother, and mourned over his short-comings in
her tender little heart. Nan rather enjoyed the trouble, and went
about turning up her pug nose at the three, especially Tommy, who
pretended not to care, and loudly proclaimed his satisfaction at
being rid of those “stupid girls.” But in his secret soul he soon
repented of the rash act that caused this banishment from the
society he loved, and every hour of separation taught him the value
of the “stupid girls.”
The others gave in very soon, and longed to be friends, for now
there was no Daisy to pet and cook for them; no Nan to amuse and
doctor them; and, worst of all, no Mrs. Jo to make home pleasant
and life easy for them. To their great affliction, Mrs. Jo seemed to
consider herself one of the offended girls, for she hardly spoke to
the outcasts, looked as if she did not see them when she passed,
and was always too busy now to attend to their requests. This
sudden and entire exile from favor cast a gloom over their souls, for
when Mother Bhaer deserted them, their sun had set at noon-day,
as it were, and they had no refuge left.
This unnatural state of things actually lasted for three days, then
they could bear it no longer, and fearing that the eclipse might
become total, went to Mr. Bhaer for help and counsel.
It is my private opinion that he had received instructions how to
behave if the case should be laid before him. But no one suspected
it, and he gave the afflicted boys some advice, which they gratefully
accepted and carried out in the following manner:—
Secluding themselves in the garret, they devoted several play-
hours to the manufacture of some mysterious machine, which took
so much paste that Asia grumbled, and the little girls wondered
mightily. Nan nearly got her inquisitive nose pinched in the door,
trying to see what was going on, and Daisy sat about, openly
lamenting that they could not all play nicely together, and not have
any dreadful secrets. Wednesday afternoon was fine, and after a
good deal of consultation about wind and weather, Nat and Tommy
went off, bearing an immense flat parcel hidden under many
newspapers. Nan nearly died with suppressed curiosity, Daisy nearly
cried with vexation, and both quite trembled with interest when
Demi marched into Mrs. Bhaer’s room, hat in hand, and said, in the
politest tone possible to a mortal boy of his years,—
“Please, Aunt Jo, would you and the girls come out to a surprise
party we have made for you? Do, it’s a very nice one.”
“Thank you, we will come with pleasure; only, I must take Teddy
with me,” replied Mrs. Bhaer, with a smile that cheered Demi like
sunshine after rain.
“We’d like to have him. The little wagon is all ready for the girls;
and you won’t mind walking just up to Pennyroyal Hill, will you,
Aunty?”
“I should like it exceedingly; but are you quite sure I shall not be
in the way?”
“Oh, no, indeed! we want you very much; and the party will be
spoilt if you don’t come,” cried Demi, with great earnestness.
“Thank you kindly, sir;” and Aunt Jo made him a grand curtsey, for
she liked frolics as well as any of them.
“Now, young ladies, we must not keep them waiting; on with the
hats, and let us be off at once. I’m all impatience to know what the
surprise is.”
As Mrs. Bhaer spoke every one bustled about, and in five minutes
the three little girls and Teddy were packed into the “clothes-basket,”
as they called the wicker wagon which Toby drew. Demi walked at
the head of the procession, and Mrs. Jo brought up the rear,
escorted by Kit. It was a most imposing party, I assure you, for Toby
had a red feather-duster in his head, two remarkable flags waved
over the carriage, Kit had a blue bow on his neck, which nearly
drove him wild, Demi wore a nosegay of dandelions in his
buttonhole, and Mrs. Jo carried the queer Japanese umbrella in
honor of the occasion.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like