谷歌能让跨平台移动应用开发变得更轻松吗?

今天,谷歌将在伦敦为Flutter举行开发者大会,Flutter是一个新的开发环境,用于开发Android和iOS的移动应用程序。谷歌称Flitter为“便携式UI工具包”,保罗·米勒称它为“各种谷歌项目中的弗兰肯斯坦怪兽”。最重要的消息是,它即将推出beta版,并已达到1.0,为那些在采用它之前一直在等待更正式内容的开发人员打开了大门。...

今天,谷歌将在伦敦为Flutter举行开发者大会,Flutter是一个新的开发环境,用于开发Android和iOS的移动应用程序。谷歌称Flitter为“便携式UI工具包”,保罗·米勒称它为“各种谷歌项目中的弗兰肯斯坦怪兽”。最重要的消息是,它即将推出beta版,并已达到1.0,为那些在采用它之前一直在等待更正式内容的开发人员打开了大门。

本质上,Flatter是一个框架,允许您在Android和iOS上创建本机应用程序,而无需跨平台框架带来的常见折衷。你可能听说过“编写一次,在任何地方运行”这句话,但它几乎肯定是在开发人员的一个不可能的梦想或用户的一个活生生的噩梦的背景下出现的。

那么,通常困扰跨平台应用程序的折衷方案是什么?最主要的一点是,这些应用程序通常运行缓慢,因为它们通过代码解释器(通常是JavaScript)运行,而不仅仅是编译本机ARM代码。另一个大问题是,这些应用程序通常看起来或感觉不是本地的,因为它们使用不同的按钮、小部件或诸如此类的东西。

颤振有一些巧妙的技巧来避免这些问题。第一个也是最重要的一个是,它编译为本机代码。第二,你用它**的应用在外观和行为上都可以像任何其他本地应用一样——事实上,当你比较你在开发环境的emulator窗口中看到的东西和实际**上显示的东西时,它们是“像素完美的”。Flatter使用相同的代码库来创建iPhone和Android应用程序,但它们看起来可能不同,所以iPhone上的东西不会让人觉得它属于Android(反之亦然)。

我想,这些东西似乎是你**真正本土的东西所需要的一切,但弗利特用了一种有趣的方式。这就是“弗兰肯斯坦怪兽”部分的用武之地。把它拿走,保罗:

[Flutter is] based on Google’s own Dart programming language, which is apparently popular within Google but nowhere else. It has a rendering engine based on the Skia Graphics Library, the same thing Chrome uses to draw pixels on a screen. There’s an IntelliJ IDE for Flutter, just like Google has with Android Studio. And Google is also using Flutter in its upcoming Fuchsia OS, so that whole team is in the mix. Instead of wiring up to native Android and iOS components, Flutter paints every single pixel to the screen. Flutter has pixel-perfect replicati*** of the iOS UI and Android’s Material UI, so developers can build familiar experiences out of the box.

这是一种消极的方式,但如果你正在寻找的是一种快速简便的方式来构建一个应用程序,那么Flutter对你来说真的很有用。Flitter的集团产品经理Tim Sneath说:“对我们来说,最接近的类比不是跨平台框架,而是更像Unity。Unity是一个游戏引擎,您编写的代码在这两个平台上都运行得非常好,而且它的引擎经过了优化,获得了巨大的收益。”

在谷歌之前,Sneath在微软工作了17年,微软的竞争对手也一直在为开发者开发工具,以改进跨平台的移动应用程序。微软在近三年前收购了Xamarin,并将其与VisualStudio开发工具紧密结合,使开发人员能够构建跨iOS和Android的应用程序。Facebook也有自己的跨平台解决方案,称为React Native。

斯奈思说,尽管弗利特已经进入测试阶段,但他看到一大批严肃的公司在使用它,包括阿里巴巴、Groupon、飞利浦顺化和腾讯。谷歌广告应用程序也在Flutter上运行,但大多数谷歌应用程序不运行,而且可能不会。这并不是谷歌希望每个人都能切换到的一个勇敢的新开发环境。相反,这是一种快速方便地**应用程序的新方法。

最让人们兴奋的部分是所谓的“有状态热重新加载”,这意味着在开发环境中编写代码时,您可以立即看到应用程序的外观,而无需等待编译或丢失应用程序的状态。这是网络开发者想当然的事情,看到移动应用程序真的很酷。

我还采访了谷歌设计副总裁Matías Duarte,他对Flitter中的这一特殊功能感到非常兴奋。他把它比作Firebug出现的那一刻。突然,您可以在浏览器中开始编辑HTML,并实时查看结果,而无需重新加载任何内容。它可以让你在网页上玩来玩去,看看它们是如何运转的,Duarte希望新的**应用开发者也能享受到同样的乐趣和可访问性。

“我们希望在软件中释放人性的创造性表现力,”他说网页具有大量的创意表达和品牌多样性。但我们在本机应用程序开发中没有看到这么多,因为它总是通过这些移动缓慢的本机框架进行传输。”

Duarte说,颤振——特别是颤振上的材料设计——可以“轻松过渡”到更复杂或更具创造性的UI。因此,基本用户可以只使用内置的小部件和工具,但从开始定制到完全定制应该不会太困难。”这是一个连续的梯度,”杜阿尔特说。

对于Duarte来说,材料设计不仅仅是应用程序的标准外观。这是一个完整的设计理念,设计师和开发人员可以对其进行解释和改变。弗利特是他的材料设计哲学可以被实例化的另一个地方。即使你只做了一些基本的东西,你仍然可以**一个在iOS上看起来像本地人的应用程序(有一些俗称“Cupertino”的组件。)

我可能已经十年没有认真地编写代码了(即使在那时,我的上限也对使用PHP的CMS造成了损害),但我非常清楚,当有人在跨平台开发的背景下说“两全其美”时,我的愤怒会上升。总是有妥协的。要么你得到一个缓慢的应用程序,一个感觉不自然的应用程序,一个你写了两次的应用程序,或者其他什么。

对于Flatter,“其他东西”是一堆东西的组合,比如需要使用Dart或者有一个应用程序在技术上不使用每个平台提供的本机小部件。也可能是其他任何事情。这里(自然)有一个相当不错的HackerNews帖子,它基于(自然)一篇关于Flatter的利与弊的中篇文章,包括一点关于它与React Native的比较。

因此,要回答标题中的问题:是的,Flitter可以让跨平台应用程序开发变得不那么糟糕,但它不是(也永远不会是)一颗灵丹妙药。不过,这似乎有点酷,而且它很可能会在谷歌神秘的Fuchsia操作系统中扮演不可或缺的角色。所以,如果没有别的,那就值得关注了。

  • 发表于 2021-08-26 20:37
  • 阅读 ( 110 )
  • 分类:互联网

你可能感兴趣的文章

7款轻量级android go应用,节省存储空间和内存

Android Oreo(Go版)是谷歌在入门级智能**上改善Android用户体验的尝试。Go版配备了Android 8 Oreo的所有花哨功能,以及谷歌核心应用的精简版。 ...

  • 发布于 2021-03-11 11:53
  • 阅读 ( 237 )

谷歌眼镜又回来了,让你的工作更轻松

谷歌眼镜(googleglass)又回来了,它的目标受众比以前更加理智。消费者版已经泡汤了,但谷歌现在正把注意力集中在商业上。他们的想法是,员工将佩戴谷歌眼镜,以帮助他们提高工作效率。这也许管用。 ...

  • 发布于 2021-03-13 19:33
  • 阅读 ( 181 )

为什么2017年是安卓年,而不是苹果年

...的62亿部,而游戏商店将成为明显的受益者。预测显示,谷歌商店的增长将是苹果商店增长的四倍。 ...

  • 发布于 2021-03-14 12:54
  • 阅读 ( 209 )

用12个小步骤让2017年成为迄今为止最有成效的一年

... 选择具有提醒、重复事件和跨平台访问的日历。其中最流行和直观的选择是谷歌日历。你可以在网上和你的Android或iOS设备上使用它。 ...

  • 发布于 2021-03-16 11:38
  • 阅读 ( 216 )

135件你不知道谷歌能做的有用的事情(免费电子书)

几乎每个互联网用户在数字生活的某些方面都依赖谷歌的一些服务。无论是谷歌搜索、Gmail、谷歌日历、Chrome、谷歌地图,还是其他众多的谷歌服务。 ...

  • 发布于 2021-03-19 04:34
  • 阅读 ( 196 )

googlekeep vs.evernote:哪款记事本应用最适合你?

...左侧有笔记、提醒、标签、存档和设置的链接。和大多数谷歌服务网站一样,你可以从顶部访问你的帐户、通知和其他谷歌应用程序。 ...

  • 发布于 2021-03-23 18:55
  • 阅读 ( 222 )

手机上的fortnite battle royale值得一玩吗?

...好。但这个游戏是重向地雷启发建筑机械。擅长建球绝对能让你在防守和进攻上对其他球员都有优势。建筑是皇家战役中胜负的区别。 ...

  • 发布于 2021-03-25 16:31
  • 阅读 ( 245 )

你现在可以用谷歌在ar上试妆了

... 谷歌总是想办法通过谷歌购物改善网上购物。最近,该公司一直在转向AR,以使网上购物成为一种更好的体验。 ...

  • 发布于 2021-03-29 00:14
  • 阅读 ( 187 )

飞行时间和激光雷达有什么区别?

... 为什么苹果和谷歌使用不同的深度传感器? ...

  • 发布于 2021-03-29 13:21
  • 阅读 ( 217 )

什么是安卓附近的共享,它的工作方式像空投?

...Share最终将在**和电脑(甚至可能是mac)之间提供类似的跨平台支持。它也可以在没有互联网连接的情况下工作,尽管在撰写本文时还不知道加密。 谷歌和苹果的方法在技术上有一些细微的差别,但它们提供了相同的功能。AirDrop...

  • 发布于 2021-04-01 21:00
  • 阅读 ( 294 )
lvjzxnl
lvjzxnl

0 篇文章

相关推荐