颤振稳定性叶瓣图

Last week, Michael Long wrote an article explaining in detail why Flutter won’t be the “next big thing.” It evoked some passionate reactions from readers, most of them disagreeing with what he wrote. Because I strongly disagree as well, I wrote this article to explain exactly why Flutter will, in fact, be the next big thing!

上周,迈克尔·朗( Michael Long)发表了一篇文章,详细解释了为什么Flutter不会成为“下一件大事”。 这引起了读者的热情React,其中大多数人不同意他的著作。 因为我也强烈不同意,所以我写这篇文章是为了确切解释为什么Flutter实际上将成为下一个大问题!

什么是颤振? (What Is Flutter?)

Flutter is a cross-platform toolkit for developing GUI applications developed by Google. A Flutter app natively compiles to:

Flutter是用于开发由Google开发的GUI应用程序的跨平台工具包。 Flutter应用程序本机可编译为:

  • iOS and AndroidiOS和Android
  • Windows, Linux, and macOSWindows,Linux和macOS
  • The web网络

Many developers have already discovered Flutter and consider it to be a fresh breeze compared to traditional app development frameworks. Most of those who work with it are raving about the increased development speed.

与传统的应用程序开发框架相比,许多开发人员已经发现Flutter,并认为它是一件轻而易举的事。 使用它的大多数人都对开发速度的提高感到津津乐道。

Dart, the programming language used by Flutter, is designed for GUI development. It’s fast and feels natural to those familiar with JavaScript, C#, Java, Kotlin, and similar languages. It’s an open-source, versatile language that compiles to native code or JavaScript but can also be run in a VM.

Dart是Flutter使用的编程语言,专为GUI开发而设计。 对于熟悉JavaScript,C#,Java,Kotlin和类似语言的人来说,它的速度很快且感觉自然。 这是一种开放源代码的通用语言,可编译为本机代码或JavaScript,但也可以在VM中运行。

In fact, a notable feature of Flutter is the way it leverages the Dart virtual machine during development. Flutter allows you to develop your application interactively and quickly inspect its current state. Any changes to your code are instantly injected in the running app, so you can directly see the effect.

实际上,Flutter的显着功能是在开发过程中利用Dart虚拟机的方式。 Flutter允许您交互式地开发应用程序并快速检查其当前状态。 对代码的任何更改都会立即注入正在运行的应用程序中,因此您可以直接看到效果。

But why is Google pushing so hard to develop this new toolkit? And why is Flutter going to be the next big thing in app development?

但是,为什么Google如此努力地开发这种新工具包? 为什么Flutter将成为应用程序开发中的下一件大事?

正确完成跨平台开发 (Cross-Platform Development Done Right)

There are other cross-platform toolkits out there like QT, React Native, and Xamarin. I’m not going to argue which one is best.

还有其他跨平台工具包,例如QT,React Native和Xamarin。 我不会争论哪个是最好的。

What I would like to lay out, though, is that Google is doing many things right here:

不过,我想说的是Google在这里做了很多事情:

  • The overall design of the Flutter project is excellent and future-proof.Flutter项目的总体设计非常出色,并且面向未来。
  • The developer documentation is solid and keeps improving.开发人员文档稳定可靠,并不断改进。
  • The ecosystem of Dart and Flutter packages is quite impressive for such a young project.对于这样一个年轻的项目,Dart和Flutter软件包的生态系统令人印象深刻。
  • The way everything is composed of widgets feels very natural to many and allows for lots of creativity and adaptability.一切由小部件组成的方式对许多人来说非常自然,并允许大量的创造力和适应性。
  • The speed with which Flutter as a project is progressing is astonishing.Flutter作为项目的发展速度之快令人惊讶。
  • All the major platforms are supported already (some are still in beta).所有主要平台均已受支持(有些仍处于beta中)。

There are more than 90,000 Flutter apps in Google’s Play Store, up from 50,000 just a few months before. There are no stats for iOS, but it should be similar.

Google的Play商店中有超过90,000种Flutter应用程序,而几个月前只有50,000种。 没有iOS的统计信息,但应该相似。

外观 (Look and Feel)

I’ve heard the arguments about Flutter not looking like a native app. Although I get where that’s coming from, I don’t see the problem. People don’t care about the exact and native look and feel of a button. As long as it looks nice and the overall design conforms to what they know (e.g. Material Design), it’s fine!

我听过有关Flutter看起来不像本地应用程序的争论。 尽管我知道问题出在哪里,但我看不到问题所在。 人们不在乎按钮的确切和原始外观。 只要看起来不错并且整体设计符合他们所知道的内容(例如Material Design),就可以了!

In fact, not relying on the native layout elements of a platform — minimizing the reliability on the underlying platforms — is one of Flutter’s biggest strengths. Flutter developers don’t have to worry about what the upstream operating systems will do in their next update. As long as Flutter has its canvas to draw on, it will keep working just fine.

实际上,不依赖平台的本机布局元素(将底层平台的可靠性降至最低)是Flutter的最大优势之一。 Flutter开发人员不必担心上游操作系统在下一次更新中会做什么。 只要Flutter可以绘画画布,它就可以正常工作。

紫红色 (Fuchsia)

If you haven’t heard of Fuchsia yet, I don’t blame you. It’s a new open source operating system that Google has been creating since at least 2016. It is designed from the ground up for security and updatability.

如果您还没有听说过紫红色,我也不会怪您。 这是Google至少自2016年以来就一直在创建的新的开源操作系统。它是为安全性和可升级性而全新设计的。

Note that this is not a 20% project from a few Googlers. It’s a real OS that’s being developed to run on many platforms: phones, watches, car entertainment systems, PCs, and laptops! Big names from tech are quietly working on it, and it’s being developed for “production devices and products used for business-critical applications.”

请注意,这不是几个Google员工的20%的项目。 它是一个真正的操作系统,可以在许多平台上运行:电话,手表,汽车娱乐系统,PC和笔记本电脑! 科技界的知名人士正在悄悄进行研究,并且其开发目的是“用于关键业务应用的生产设备和产品”。

So why am I telling you this? Well, guess what the Fuchsia developers are integrating into their new OS? Yep, it’s Flutter! Once Fuchsia is ready for release, it will have a headstart if hundreds of thousands of apps can run on it with little to no modifications.

那我为什么要告诉你呢? 好吧,猜猜紫红色的开发人员正在将什么集成到他们的新操作系统中? 是的,这是Flutter! 紫红色准备好发布之后,如果成千上万的应用程序几乎无需修改就可以在其上运行,这将是一个先机。

Linux (Linux)

Canonical, maker of the most popular Linux distribution Ubuntu, has contributed to the Flutter project as well. With the GTK+-based host they created, Flutter apps can run on Linux too. It’s a smart move. With a relatively small investment, Linux might start getting much more end-user desktop apps — something that has been lacking for years.

最受欢迎Linux发行版Ubuntu的制造商Canonical也为Flutter项目做出了贡献。 利用他们创建的基于GTK +的主机,Flutter应用程序也可以在Linux上运行。 这是明智之举。 通过相对较小的投资,Linux可能会开始获得更多的最终用户桌面应用程序-多年来一直缺乏。

现有平台一片混乱 (Existing Platforms Are a Mess)

I started learning Android, for the second time in my life, about a year ago. What I found was a big, ugly mess. Learning Android, as a newcomer, is torture.

大约一年前,我第二次开始学习Android。 我发现是一个很大的丑陋的烂摊子。 作为一个新手,学习Android是一种折磨。

The project switched to Kotlin as the primary language, but many examples and tutorials still use Java. Although Kotlin is an excellent alternative to Java, it also obfuscates (or abstracts away) some critical concepts and makes Android development even more confusing. Also, it’s one more language you need to learn. Java was not the problem and Kotlin didn’t solve much. But it did introduce extra noise and a scattered landscape.

该项目改用Kotlin作为主要语言,但是许多示例和教程仍然使用Java。 尽管Kotlin是Java的绝佳替代品,但它也混淆(或抽象化了)一些关键概念,并使Android开发更加混乱。 另外,这是您还需要学习的另一种语言。 Java不是问题,而Kotlin并没有解决太多问题。 但是它确实引入了额外的噪音和分散的景观。

Android also has seen many iterations of its libraries that often try to be downward-compatible. It’s hard to know what, right at this moment, is the best way to do something in Android. You’ll usually find two or three alternative methods, all doing things differently.

Android还看到了其库的许多迭代,这些迭代通常试图向下兼容。 目前,很难知道什么是在Android中执行操作的最佳方法。 通常,您会发现两种或三种替代方法,它们的处理方式有所不同。

I truly tried and I’m convinced I started the right way by focussing on Jetpack, which is supposed to be the latest and greatest. But even Jetpack seemed unnecessarily complicated to me, and documentation was scarce too.

我确实尝试过,并且坚信我通过专注于Jetpack(这是最新和最出色的)开始了正确的道路。 但是,即使对于我来说,Jetpack似乎也不必要地变得复杂,而且文档也很少。

Web development has a similar story. It’s a scattered landscape full of libraries that compete with each other — many of them with a short lifespan — causing lots of rewriting and relearning. To create a modern web application, you need to learn many technologies: CSS, HTML, JavaScript, TypeScript, a framework like Angular or React, NPM, etc. The learning curve is steep!

Web开发也有类似的故事。 这是一个分散的景观,到处都是图书馆,彼此竞争,许多图书馆的寿命很短,从而导致大量的重写和重新学习。 要创建现代的Web应用程序,您需要学习许多技术:CSS,HTML,JavaScript,TypeScript,诸如Angular或React的框架,NPM等。学习过程非常艰巨!

For advanced, single-page web apps, Flutter is an excellent alternative to this mess. The bonus, getting the Android and iOS apps pretty much for free, will save companies precious time and money.

对于高级单页Web应用程序,Flutter是解决此类问题的绝佳选择。 这项免费赠送的免费功能,可以使公司节省宝贵的时间和金钱。

结论 (Conclusion)

I’m convinced that Flutter will replace many Android and iOS applications in the coming months and years. It’s so easy to build cross-platform apps with Flutter that these apps will start to pop up in the Windows, macOS, and Ubuntu Linux app stores as well.

我坚信Flutter将在未来几个月和几年内取代许多Android和iOS应用程序。 使用Flutter构建跨平台应用程序非常容易,这些应用程序也将开始在Windows,macOS和Ubuntu Linux应用程序商店中弹出。

With Flutter’s support for the web, more and more apps will start to become available right from the browser. That’s ideal for one-time usage or for teasing people to install the app on their devices.

随着Flutter对网络的支持,越来越多的应用程序将直接从浏览器开始可用。 这是一次性使用或吸引人们在其设备上安装该应用程序的理想选择。

Flutter is an unstoppable train that’s coming towards all of us. You can either hop on early or get crushed by it sometime in the future.

Flutter是一列不可阻挡的火车,正驶向我们所有人。 您可以提早跳入,也可以在将来的某个时间被它压倒。

But that’s just my opinion. I’d love to hear your take on this in the comments!

但那只是我的个人意见。 我很乐意在评论中听到您对此的看法!

If you want to learn more, you can start your first Flutter project, or read my five minute introduction to the Dart language.

如果您想了解更多信息,可以开始您的第一个Flutter项目,或阅读我有关Dart语言的五分钟介绍。

翻译自: https://medium.com/better-programming/why-flutter-is-in-fact-the-next-big-thing-in-app-development-8f514dd3a252

颤振稳定性叶瓣图


http://www.taodudu.cc/news/show-5722735.html

相关文章:

  • 3-git 起步我都学了些什么
  • git版本控制、本地仓库、远程连接等操作分析
  • 【安全牛学习笔记】存储型XSS和BEEF浏览器攻击框架
  • 深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
  • 幼儿园 计算机课教案,幼儿园小班主题《计算机环境与幼儿兴趣培养》优质公开课Word教案.doc...
  • 幼儿园 计算机课教案,幼儿园教案集全套教案系统归类整理教程课件计算机环境与幼儿兴趣培养.doc...
  • 幼儿园1计算机第一节课教案,3.7日 第一节幼儿园课
  • 幼儿园科学教案计算机,大班科学教案:认识电子计算器.doc
  • 幼儿园计算机教学计划,幼儿园计算机可以识别可爱的鼠标活动教学计划
  • 计算机中班音乐,幼儿园中班音乐课件大全
  • 关于PCI-E接口你要知道这些点
  • Java及网络基础
  • IOS-Swift面试相关基础
  • ssh远程登陆配置、公私钥密码ssh体系构建
  • 手机投屏电视怎么设置?三种方法任你选择,都超简单!
  • 《武林外传》产品体验总结
  • 从《后浪》争议声中,看B站到底该如何出圈? | Alfred数据室
  • 语c专业cos的专业语言,【语c】尝试c下美琴学生党可能回复不及时,非专业语c,可能会...
  • 频上热搜,微博坐拥2700万+粉丝,李子柒为何能够持续大火?
  • 溜溜梅还“溜”吗?
  • 如何构建php邮件服务器,php - 邮件服务器怎么搭建?
  • Linux网络服务与shell脚本——Postfix邮件服务器搭建
  • 邮件服务器 搭建
  • James邮件服务器搭建
  • winserver搭建smtp_WinServerPOPSMTP邮件服务器搭建详细图解教程
  • 浏览器和服务器之间交换数据通过什么协议,HTTP协议
  • HTTP协议违背事件分析
  • HTTP协议是什么?有什么作用?
  • HTTP协议:一.什么是 HTTP 协议?
  • 手机照片导入电脑

颤振稳定性叶瓣图_为什么颤振实际上是应用程序开发中的下一件大事相关推荐

  1. 颤振稳定性叶瓣图_用3d设计颤振

    颤振稳定性叶瓣图 I had the pleasure design two vignettes for our Google Flutter Vignette Showcase. What made ...

  2. 为什么颤振不是下一件大事

    重点(Top highlight) I've noticed quite a few articles recently promoting Flutter as the "next big ...

  3. 晶振噪声及杂散_关于晶振的知识

    晶振的基本原理及特性 晶振一般采用如图1a的电容三端式(考毕兹)交流等效振荡电路:实际的晶振交流等效电路如图1b,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实现,这也是压控作用的 ...

  4. 单片机广告灯实验总结_温州很强的ly51s单片机程序开发公司

    温州很强的ly51s单片机程序开发公司 sdthfsfd 温州很强的ly51s单片机程序开发公司 "时,表示波特率自适应工作正确完成,如图所示,可以进行参数设置和校准操作.这也是为什么晶振的 ...

  5. 小程序转换纯数字数字_低代码,快速的应用程序开发和数字转换

    小程序转换纯数字数字 最近,许多低码/无码解决方案在企业中得到了发展,使非技术人员可以选择创建简单的应用程序. 分析人士预测,低码行业将以每年20%以上的速度增长. 但是什么是低码,为什么它如此流行, ...

  6. 光耦p621引脚图_光耦反馈设计再也不愁!开关电源中的几种典型光耦隔离接法对比...

    在一般的隔离电源中,光耦隔离反馈是一种简单.低成本的方式.但对于光耦反馈的各种连接方式及其区别,目前尚未见到比较深入的研究.而且在很多场合下,由于对光耦的工作原理理解不够深入,光耦接法混乱,往往导致电 ...

  7. 正点原子stm32f407开发板pcb图_#试用名单公布#正点原子ARM Linux开发板I.MX6ULL

    活动报名链接: http://www.cirmall.com/bbs/thread-161572-1-1.html 恭喜以下五位获得试用资格,管理员会将确认邮件发送至各位获奖者邮箱,请在3个工作日内回 ...

  8. 数控车椭圆编程实例带图_数控车床任意位置椭圆宏程序编程,内附实例程序!...

    不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了. 椭圆的参数方程为:X=a*COSθ Y=b*SINθ 可改写为: #1=30*cos[#3] #3为参数方程对应的中角度 #2=2 ...

  9. 数控车椭圆编程实例带图_数控车床加工椭圆的宏程序实例

    随着数控技术不断进步, 数控车床加工中各种复杂形面也日渐增多, 如椭圆.抛物线.正弦曲线.余弦曲线.双曲线等各种非圆曲面.对于上述各种复杂成形面, 利用CAM 软件进行自动编程相对简单, 但由于种种原 ...

最新文章

  1. 2021全国高校计算机能力挑战赛(决赛)Java
  2. 腾讯员工:越来越多的新生都想要学计算机专业,好日子长不了
  3. 什么才是有效的工程教育的方法?
  4. MFRC522开发笔记
  5. 高内聚、低耦合的理解
  6. gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_关于TCP/IP,必知必会的十个问题!...
  7. JEB 无源码调试 以dvm smali字节码方式,Demo尝试
  8. 2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态...
  9. 有了async/await,你可以丢掉promise链了
  10. 【codevs1553】互斥的数
  11. gridpanel select选中行方法
  12. 经典排序算法(十三)--奇偶排序Odd-even Sort
  13. 编程大佬都推荐的Python编辑器
  14. web网页设计与开发____婚纱网站(5页 汉堡菜单 响应式)
  15. 阿里云云解析DNS各种概念深度剖析
  16. 如何在windows电脑网页上创建苹果ID?
  17. 【工作笔记】ERROR: Section image.ub.0 offset of 0x520000 overlaps with prior section end address of D19B00
  18. 解决Microsoft Teredo Tunneling Adapter 這個裝置無法啟動。 (代碼 10)
  19. openCV 需要显示的图片太大超出了屏幕范围
  20. 多搜 - 多个网站一起搜 (舆情监控版)

热门文章

  1. 海尔会成为最大的智联网企业么?
  2. echarts 更改各种颜色大全
  3. HTC One M8 拥有 IPX3 防水认证
  4. 解决flex布局导致图片变形
  5. Android Jetpack系列之Lifecycle
  6. 社区声起,描摹 NFT「网红相」丨目击
  7. 解决vite 打包在ios11 白屏的问题
  8. JS 将数组循环赋值对象
  9. 关于《利用LexYacc进行词法分析和语法分析并生成语法树》
  10. 盈建科弹性板6计算_YJK计算参数( 注释)20171011