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

颤振稳定性叶瓣图

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 Android

    iOS和Android
  • Windows, Linux, and macOS

    Windows,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

颤振稳定性叶瓣图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值