flutter_flutter bloc - CSDN
flutter 订阅
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。 展开全文
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。
信息
推出时间
2015年5月3日 [2]
外文名
Flutter [1]
Flutter框架概况
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台 [3]  。Flutter 可以方便的加入现有的工程中。在全世界,Flutter 正在被越来越多的开发者和组织使用,并且 Flutter是完全免费、开源的。它也是构建未来的 Google Fuchsia 应用的主要方式。Flutter 组件采用现代响应式框架构建,这是从React中获得的灵感,中心思想是用组件(widget)构建你的UI。 组件描述了在给定其当前配置和状态时他们显示的样子。当组件状态改变,组件会重构它的描述(description),Flutter 会对比之前的描述, 以确定底层渲染树从当前状态转换到下一个状态所需要的最小更改。
收起全文
精华内容
参与话题
  • 从简到难,从浅入深,逐步带领大家了解Flutter,熟悉Flutter的组成部分,并且带领大家学习如何使用Flutter实现UI功能编写。通过对本视频的学习,你将会掌握Flutter常用组件和常用布局构建复杂布局、Flutter路由导航...
  • flutter基础教程

    万人学习 2020-05-08 15:32:59
    Flutter基础入门视频教程,Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。通过这门课程的学习使得大家掌握使用flutter来编写跨平台移动客户端应用。
  • 谷歌——Flutter

    千次阅读 2018-08-10 08:47:51
    Flutter——谷歌开源的跨平台UI开发框架 Fluter特性介绍 Flutter官网介绍如下: Flutter is Google’s mobile UI framework for crafting high-quality native interfaces on iOS and Android in record time. ...

    Flutter——谷歌开源的跨平台UI开发框架

    Fluter特性介绍

    Flutter官网介绍如下:

    Flutter is Google’s mobile UI framework for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.

    这个说明告诉我们:Flutter是一款UI框架,可以制作跨平台(Android、IOS)的,高速的本地界面(不是H5)。Flutter可以跟现有的代码一起工作,并且可以被世界各地开发者使用,因为他是免费的、开源的! 

    学习这个跨平台的UI框架,也许有一天你能成为一个Android、IOS双端开发者,或者成为谷歌新系统Fuchsia开发者!不管怎么样,会让你的技能池更加丰富,让你变的更强大!

    拥抱变化,才能把握机会!不学习就落后,落后就挨打!


    我们已经知道Flutter是什么了,那么它有哪些特点呢? 它能做什么呢?

    • 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.

    Flutter的热加载可以帮助你快速简单的尝试,构建UI,添加功能或者快速的修复BUG。你可以在任何具备IOS或Android的硬件的模拟器上体验不要一秒的重载时间,并且不会丢失任何状态! 
    这里写图片描述

    • Expressive, beautiful UIs(漂亮的UI)

    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.

    你的用户会感到高兴,因为Flutter内置的Material Design设计和Cupertino (iOS-flavor)控件,拥有丰富的api,能平滑滚动,并能保留了平台的特性

    这里写图片描述 这里写图片描述

     

    •  
    • Modern, reactive framework(时髦而高效) 

     

    Easily compose your UI with Flutter’s modern 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. 
    Flutter是个时髦而高效的UI框架,它有丰富的平台特性,布局,基础控件。它的2D,动画,手势,感应等强大的API,灵活使用,能解决你头疼的UI问题!

    
     
    1. //官方示例代码

    2. class CounterState extends State<Counter> {

    3. int counter = 0;

    4.  
    5. void increment() {

    6. // Tells the Flutter framework that state has changed,

    7. // so the framework can run build() and update the display.

    8. setState(() {

    9. counter++;

    10. });

    11. }

    12.  
    13. Widget build(BuildContext context) {

    14. // This method is rerun every time setState is called.

    15. // The Flutter framework has been optimized to make rerunning

    16. // build methods fast, so that you can just rebuild anything that

    17. // needs updating rather than having to individually change

    18. // instances of widgets.

    19. return new Row(

    20. children: <Widget>[

    21. new RaisedButton(

    22. onPressed: increment,

    23. child: new Text('Increment'),

    24. ),

    25. new Text('Count: $counter'),

    26. ],

    27. );

    28. }

    29. }

    • 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.

    Flutter 的工具和库,可以帮助你在IOS和Android上轻松实现生活上的想法。如果你没有任何移动开发经验,你可以学习Flutter来简单、快捷的构建漂亮的移动端应用程序。如果你是一个有经验的iOS和Android开发人员,您可以使用Flutter利用你现有的代码(Java,ObJC、Swift)进行开发!

    很厉害!为了让你好好使用这个框架,谷歌兼容了你现有的代码 

    想详细了解Flutter的特性你可以去官网逛逛 

    看了Fluter的特性之后,你是否对Flutter已经感兴趣?是否跃跃欲试!是的话请您继续看,我们开始配置环境!


    Fluter环境配置

    1、系统配置

    • Windows 7 及以上并且 64位
    • 除了Android Studio占用的空间,硬盘剩余空间必须大于40MB
    • Flutter依赖命令行工具,所以你必须有GIT环境,并且有GIT命令面板可以使用

    2、获取Flutter SDK

    打开你的GIT命令面板,输入:

    git clone -b beta https://github.com/flutter/flutter.git
    • 1

    通过镜像获取SDK 
    获取成功之后,需要配置环境变量,只需要把flutter\bin 加入到path路径当中即可(请复制完整的路径) 
    然后在CMD命令中输入

    flutter doctor
    • 1

    检查你的依赖是否已经下载成功。

    • 这个命令不能在第三方的命令控制面板(shell)比如GIT上输入,请使用电脑自带的CMD面板

    • 如果显示命令不存在,则说明环境没配置成功,需要重新配置或者重启计算机

    • 如果现实出错,别放弃,多试几次

    成功之后相关的依赖应该已经下载成功,环境配置也基本成功。Flutter支持的Android最低版本的手机是4.1,你也可通过命令查看手机是否支持

    3、设置你的手机

    • 打开手机的开发者模式,开启USB调试功能,把手机跟电脑连接

    • 输入在命令板上输入

    flutter devices
    • 1

    即可查看手机相关信息,即代表手机支持。

    • 模拟器也可以用这个命令,但是需要注意的是谷歌推荐 x86 或者 x86_64

    其实环境很好配置,下载flutter的SDK,然后加入到环境变量中即可

    以上操作已经完成,我们可以设置我们的IDE了

    设置Flutter IDE

    • 1、下载Android Studio 3.0或者更高版本,当然你也可以使用 IntelliJ:

      • IntelliJ IDEA Community, version 2017.1 or later. 
        IntelliJ IDEA Ultimate, version 2017.1 or later.
    • 下载Flutter 和Dart插件

    Flutter用于开发者的工作,比如编译调试等。Dart用于编码,解析 
    下载步骤:(1)打开Android Stsudio (2)打开插件设置(Preferences>Plugins) (3)选择Browse repositories,然后选择Flutter,点击下载(4)提示下载Dart的时候选择Yes(5)重启IDE

    Hellord

    创建一个新的Flutter的应用,运行,并学习如何用热重载进行更改。

    • 选择File>New Flutter Project
    • 选择项目类型为Fluter应用,下一步
    • 输入项目名称,并下一步
    • 点击finish
    • 等待Android Studio下载SDK,并创建项目

    * 一般创建的app是使用的Material组建*

    **在你的项目中,你的app的代码是lib/main.dart

    看看AndroidStudio的toolbar 
    看看AndroidStudio的toolbar,可以选择手机版本,手机型号,然后点击run,就可以把项目运行到手机上了

    然后可以试试Flutter的热重载能力:

    • 改变字符:
    
     
    1. 'You have pushed the button this many times:' to

    2. 'You have clicked the button this many times:'

    • 1
    • 2
    • 不要点击Stop,让你的app继续运行
    • 然后点击 Save All (cmd-s / ctrl-s),或者点击Reload按钮我们立刻就可以看到内容改变,非常方便高效

    基于以上,我们已经了解了Flutter是什么,它的特性,以及环境配置和简单的尝试

    下一次内容我们会分享如何构建一个Flutter APP

    当然你也可以访问官网查看学习资料进行学习:官网

    展开全文
  • * flutter 中 Scaffold 使用精讲* flutter 中 Text 使用精讲* flutter 中 TextField 使用精讲* flutter 中 button 使用精讲* flutter 中 Row 使用精讲* flutter 中 Column 使用精讲* flutter 中 ...
  • 为大家学习Flutter,阿里操碎了心

    万次阅读 多人点赞 2019-02-17 00:35:32
    本文转载自公众号 鸿洋国内在实践Flutter以及对外分享方面,闲鱼可以说一直位于前列,不断输出了非常多的实践类文章,例如大家可以在羽雀的网站看到他们对外的Flutte...
        

    本文转载自公众号  鸿洋


    国内在实践Flutter以及对外分享方面,闲鱼可以说一直位于前列,不断输出了非常多的实践类文章,例如大家可以在羽雀的网站看到他们对外的Flutter技术文章:


    https://www.yuque.com/xytech/flutter


    640?wx_fmt=png


    此外,最近在逛github时,又发现了一个非常良心的项目,然后我就顺手装了一下apk。


    可以说真的为大家学习Flutter操碎了心:

    https://github.com/alibaba/flutter-go


    打开app的介绍:


    由“阿里拍卖”前端团队几位Flutter粉丝,用业余时间开发的一款,用于Flutter教学帮助的App,这里没有高大尚的概念,只有一个一个亲身经历的尝试,用最直观的方式展示Flutter官方Demo.


    大家都了解,学习Flutter一方面是新增Widget非常多,看几篇入门例子,可以牵扯出几十个没见过的Widget:


    640?wx_fmt=jpeg


    就像这样,这是我在看入门的几篇文章时,简单画的UML图,把一些陌生的类都标识出来。


    每个Widget所支持的属性都想搞明白还是比较费力的,刚好这个开源项目,就包含这样一个特点:


    • 详解常用的Widget多大140+个

    • 持续迭代追新官方版本(我说这几位大哥,你们可别离职了...)

    • 配套Demo详解Widget用法

    • 一站式搞定所有常用的Widget


    切换到组件Tab,就可以看到Widget的大类了:


    640?wx_fmt=png


    640?wx_fmt=png


    例如,我想看看Flutter的Tab说明与用法:


    640?wx_fmt=png


    下面展示的不是图,而是真正的组件用法,是可以交互的,也就是说,你可以在开源项目中找到其源码示例。


    例如,如果大家运行过Flutter的第一个demo,那么一定知道Scaffold这个类,这个类中属性可不少:


    640?wx_fmt=png


    好了,还有一个非常赞的功能:


    就是业界出现过非常多的Flutter的教程,例如我的老朋友张风捷特烈就写过一个系列,这个app还收集了大部分在网络上的Flutter文章:


    640?wx_fmt=png


    滑了半天才滑完,数量非常多...我要思考下要不要抓个包,也收录一波去wanandroid.com,供大家在PC端查看...


    好了,因为是开源项目,而且是团队形式对外的,所以一般情况下迭代已经对于issue的维护都比较好,大家有什么建议也可以直接以issue方式提供给开发团队。


    640?wx_fmt=png


    最后,真心感谢这类对外的分享,着实能为广大开发者省下不少时间!


    https://github.com/alibaba/flutter-go


    项目首页就有Android包下载地址。


    另外大家也可以复制这个链接到浏览器体验:

    http://www.wanandroid.com/blogimgs/927cbde1-6f10-4ff4-986c-446f35e13d63.apk


    此外,有些作者定了非常完善的学习规划,并且将产物在github上以仓库形式对外的,可以联系我,很乐意分享给大家!




    喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容


    640?wx_fmt=jpeg

    展开全文
  • 阅读本篇文章需要开发者对flutter和react-native都有起码的了解,本人是做iOS出身,因此目前只做了关于iOS方面的尝试,希望能帮助到需要的人吧。 网上已经有太多关于flutter 和 react-native各方面对比的文章介绍、...

    阅读本篇文章需要开发者对flutter和react-native都有起码的了解 ,本人是做iOS出身,因此目前只做了关于iOS方面的尝试,希望能帮助到需要的人吧。

    网上已经有太多关于flutter 和 react-native各方面对比的文章介绍、本文不做这种事情。

    本人最近一直在研究react-native技术栈,但是今天突发奇想考虑能不能在一个工程中集成flutter 和 react-native两种当下最火热的跨平台方案到一个iOS工程中。

    不管是flutter还是react-native都有集成到现有iOS原生工程中的方案,所以我推测从技术上我想的这种方法是可行的,在考虑从react-native所用的环境是node环境、flutter 是dart开发环境,所以两个技术不会相互影响

     

    -------------------------------------------------------干货开始分割线------------------------------------------------

    1、首先我们来看下混合并且成功运行之后的工程目录结构(当前是直接将react-native代码和rn所需的node环境移植到现有flutter环境中)

    相信接触过react-native和flutter开发的人对当前目录结构并不会陌生、其实就是很暴力的直接把rn复制粘贴到flutter工程中了

    再放两张图对工程目录和文件加以说明

    flutter&react-native层已经配置完毕了。。只要是做过玩过这两种方案的开发人员对这个目录结构很容易理解

    2、下面来看下xcode里面需要做什么操作吧、

    首先看下rn的环境

    rn在高于0.60.*的版本上是采用pod的形式管理rn的依赖库

    flutter工程我是采用手动创建的形式。。具体代码为

     flutter create -t app -i objc -a kotlin <project-name>

    此种方法创建的flutter工程可以指定iOS的版本为objc,在vscode创建的flutter工程在iOS平台的语言是默认swift (会对pod有影响),至于为什么不用swift 我只能说是因为react-native 一个名叫DoubleConversion的第三方依赖在swift环境下会有问题,应该也有解决办法,希望有真正的大神还不吝赐教

    在iOS目录中 执行`pod  install`添加rn的依赖到iOS项目中、

    上图红框中都是rn本身的依赖、必须在最外层项目中执行`yarn` 或者 `npm i`添加rn的第三方模块到目录node_modules中、pod install 其实就是把node_modules中的pod 库添加到iOS工程中

    3、最后就是编译flutter

    到目前为只应该是xcode中‘App.framework’ 和‘Flutter.framework’应该都是灰色的、除非已经编译过flutter了

    在vscode编译或者直接fn+f5就可以直接运行flutter了,成功之后‘App.framework’ 和‘Flutter.framework’ 应该都可以了。

    4、在xcode 中添加rn 的sh脚本

    因为是把rn环境移植到flutter环境、所以flutter的脚本已经有了。

    rn脚本如图所示

    export NODE_BINARY=node
    
    ../node_modules/react-native/scripts/react-native-xcode.sh

    我是直接在flutter根目录中添加rn的运行环境的、理论上应该也可以直接把rn的运行环境直接移植到iOS工程的根目录中,但是添加的脚本和pod依赖路径在/node_modules/之前就只能用一个点了,比如

    export NODE_BINARY=node
    
    ./node_modules/react-native/scripts/react-native-xcode.sh

     

    最后附上一张在flutter内部成功运行react-native代码的图

    好了、至此,整个iOS项目中已经有了flutter和react-native了,虽然对大部分开发者此种方案用处不大,但是作为一种尝试也未尝不可。打开xcode 直接运行吧。

    如果有兴趣可以联系我qq:1250623585

     

     

     

    展开全文
  • 想了解 Flutter 和 React Native 看下面几个文章就可以啦; 移动端跨平台开发的深度解析 2018-7 全网最全 Flutter 与 React Native 深入对比分析 2019-6 GMTC2019|闲鱼-基于Flutter的架构演进与创新 2019-6 H5...

    想了解 Flutter 和 React Native 看下面几个文章就可以啦;

    移动端跨平台开发的深度解析  2018-7

    全网最全 Flutter 与 React Native 深入对比分析  2019-6

    GMTC2019|闲鱼-基于Flutter的架构演进与创新 2019-6

     

    H5+原生混合

    原生开发可以访问平台所有功能,而混合开发中,H5代码是运行在WebView中,而WebView实质上就是一个浏览器内核,其JavaScript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于H5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的API, 然后暴露给WebView以供JavaScript调用,这样一来,WebView就成为了JavaScript与原生API之间通信的桥梁,主要负责JavaScript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于WebView的用于在JavaScript与原生之间通信并实现了某种消息传输协议的工具称之为WebView JavaScript Bridge, 简称 JsBridge,它也是混合开发框架的核心。


     

    React Native

    React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。

    Flutter 

     

     

     

    来自CSDN的课程:《flutter入门

     

     

     

     

     

     

     

     

    展开全文
  • 面试官:你有用过Flutter吗? Flutter架构是怎么样,为什么会比其他如ReactNative好心理分析:面试官所在的项目是用Flutter 开发的,或者正在转Flutter这种技术。如果你不会,面试官在第一眼会认为后面来应聘的人或许...
  • 2020我们为什么要掌握 Flutter

    千次阅读 2020-04-24 10:33:17
    移动开发技术手段从原始的原生应用开发,到 Google...不过这些方案或多或少都有一些局限性和缺点,于是 Google 推出了新的跨平台移动应用开发技术:Flutter。 为什么说 Flutter 将是未来的主流跨平台开发框架? Goog...
  • Flutter介绍 Flutter 是谷歌公司开发的一款开源、免费的移动 UI 框架,可以让我们快速的在 Android 和 iOS 上构建高质量 App。Flutter是完全免费、开源的。它最大的特点就是跨平台、以及高性能。 Flutter 是谷歌...
  • flutter的一些认识

    千次阅读 2018-06-04 16:57:18
    官方文档也大致看了两遍,写了几天的flutter,基本上对于flutter有了一些认识那么flutter 是什么:它是google的一套跨平台框架,使用dart语言,支持android,ios,貌似还支持html5,但html5 这块还没有去实践,就不...
  • Kotlin vs Flutter,我到底应该怎么选?

    万次阅读 多人点赞 2020-01-17 08:05:15
    在移动应用开发方面,Kotlin和Flutter是目前比较火热的两门技术。其中,Kotlin是由Jetbrains研发,后被Google大力扶持,Flutter则是由Google自己独立研发的。从目前Google官方的态度来看,这两门技术都被无限看好,...
  • Flutter实战一Flutter聊天应用(一)

    万次阅读 2017-06-05 20:02:08
    不知不觉,进阶的教程已经写了几十篇了,通过前面的学习,大家已经打下了良好的基础,接下来我们就开始进行项目实战吧!...首先我们要在IntelliJ编辑器中启动一个新的Flutter项目: 启动IntelliJ IDE
  • Flutter官方介绍:大致意思这么讲:Flutter是谷歌的移动应用SDK,用于在创纪录的时间内在iOS和Android上制作高质量的原生界面。Flutter与现有代码一起使用,被世界各地的开发人员和组织使用,并且是免费和开源的。...
  • Flutter是什么? 跨平台(Android/ios)构建移动应用程序的简单高效方式 Flutter核心只有一层轻量的C/C++代码,而上层使用了Dart语言(一种现代的、简洁的、面向对象的语言-ps:我没学直接当java来用了。。。), ...
  • flutter 屏幕适配 字体大小适配

    万次阅读 热门讨论 2020-07-25 12:14:35
    前言: 现在的手机品牌和型号越来越多,导致我们平时写布局的时候会在个不同的移动设备上显示的效果不同, 比如我们的设计稿一个View的大小是300px,如果直接写300px,可能在当前设备显示...而flutter本身并没有适...
  • 由于Flutter准备上线后需要将Flutter字符表打进崩溃系统,供崩溃系统查询。即使是发布到线上的崩溃,也能在崩溃系统中扫描出来。这里只是记录将对应Flutter版本号找到对应带符号表的过程,我们的工作就是将符号表...
  • 如何使用Flutter开发web应用

    万次阅读 2019-08-15 20:54:33
    前言:Flutter系列的文章我应该会持续更新,从User Interface(UI)到数据相关(文件、数据库、网络)再到Flutter进阶(平台特定代码编写、测试、插件开发等),欢迎感兴趣的读者持续关注(可以扫描左边栏二维码或者...
  • flutter 输入框组件TextField

    万次阅读 多人点赞 2019-11-14 19:24:24
    TextField 顾名思义文本输入框,类似于Ios中...相信大家在原生客户端上都用过这个功能,就不在做具体介绍了,接下来还是具体介绍下Flutter中TextField的用法。 TextField的构造方法: const TextField({ Key ...
  • Flutter混合开发二-FlutterBoost使用介绍

    千次阅读 2019-05-31 07:55:15
    Flutter混合开发专题一》中我们介绍了Flutter官方提供的混合开发解决方案,但是其存在着一些问题并没有解决,比如原生和Flutter页面叠加跳转由于Flutter Engine重复创建而导致内存暴增的问题、Flutter应用中全局...
1 2 3 4 5 ... 20
收藏数 50,512
精华内容 20,204
关键字:

flutter