Imagine you're an architect designing a house. You start with a blueprint that outlines the overall structure and layout. Similarly, Flutter follows a layered architectural model that serves as the foundation for building stunning cross-platform apps (see Figure 1.2).
想象一下,你是一名建筑师,正在设计一栋房子。你从一个概述整体结构和布局的蓝图开始。类似地,Flutter遵循分层架构模型,作为构建令人惊叹的跨平台应用程序的基础(见图1.2)。
At its core, Flutter utilizes a layered architecture that promotes extensibility and flexibility. Each layer operates independently, with no privileged access to the layer below, allowing for optional and replaceable components. This modular approach empowers developers to customize and tailor their Flutter applications to suit their specific needs. Figure 1.2 depicts the architectural layers in Flutter:
在它的核心,Flutter利用了一个分层的架构,提高了可扩展性和灵活性。每一层都独立运行,没有特权访问下一层,允许可选和可替换的组件。这种模块化方法使开发人员能够定制和定制他们的Flutter应用程序,以满足他们的特定需求。图1.2描述了Flutter的架构层:
At the base of Flutter's architecture lies the operating system, where Flutter apps are packaged just like any other native application. Flutter provides a platform-specific embedder that acts as the bridge between your app and the operating system. It handles rendering surfaces, accessibility features, and user input. Think of it as the interface that connects your app to the underlying device functionalities.
Flutter架构的基础是操作系统,在操作系统中,Flutter应用程序就像其他原生应用程序一样被打包。Flutter提供了一个特定于平台的嵌入器,作为应用程序和操作系统之间的桥梁。它处理呈现表面、可访问性特性和用户输入。你可以把它想象成连接你的应用和底层设备功能的接口。
Now, let's zoom in on the core of Flutter --- the Flutter engine. This powerful engine is responsible for turning your code into beautiful visual experiences. It works closely with the platformspecific embedder, communicating with the operating system and handling essential tasks like graphics, text layout, file and network operations, etc. Just like a skilled artist, the Flutter engine paints every frame of your app, creating a fluid and responsive user interface.
现在,让我们放大到Flutter的核心------Flutter引擎。这个强大的引擎负责将您的代码转换为美观的视觉体验。它与特定于平台的嵌入器紧密合作,与操作系统通信并处理基本任务,如图形、文本布局、文件和网络操作等。就像一个熟练的艺术家,Flutter引擎绘制你的应用程序的每一帧,创建一个流体和响应的用户界面。
To interact with the Flutter engine, developers like you use the Dart programming language and the Flutter framework. Dart provides a familiar and expressive syntax, making it easy to write code that defines your app's behavior. The Flutter framework, written in Dart, acts as your creative toolkit. It offers a range of tools, widgets, and libraries that empower you to craft delightful user interfaces.
要与Flutter引擎交互,像您这样的开发人员可以使用Dart编程语言和Flutter框架。Dart提供了一种熟悉且富有表现力的语法,使得编写定义应用程序行为的代码变得容易。用Dart编写的Flutter框架充当您的创意工具包。它提供了一系列工具、小部件和库,使您能够制作令人愉快的用户界面。
Think of Flutter's framework as a set of building blocks. You can assemble these blocks, called widgets, to create the UI of your app. It's like arranging Lego bricks to construct a unique structure. The widgets layer not only helps you design visually appealing interfaces but also enables a reactive programming model. This means your app can react to user interactions, respond to data changes, and provide a dynamic user experience.
可以把Flutter的框架看作是一组构建模块。你可以组装这些被称为widget的模块来创建应用程序的UI。这就像排列乐高积木来构建一个独特的结构。小部件层不仅帮助您设计视觉上吸引人的界面,还支持响应式编程模型。这意味着你的应用可以对用户交互做出反应,对数据变化做出反应,并提供动态的用户体验。
Flutter provides ready-to-use libraries like Material and Cupertino that embody the design principles of popular operating systems. These libraries offer a wealth of pre-built widgets that ensure your app looks and feels native on Android and iOS devices. By leveraging these libraries, you can easily adopt the distinctive styles and user interface patterns of each platform.
Flutter提供了现成的库,如Material和Cupertino,它们体现了流行操作系统的设计原则。这些库提供了大量预先构建的小部件,确保你的应用在Android和iOS设备上的外观和感觉都是原生的。通过利用这些库,您可以轻松地采用每个平台的独特风格和用户界面模式。