有人在 Quora 上发问,为何Google不希罕 Node.js 呢,谷歌(Google卡塔尔(قطر‎ 的 UX
程序猿和根源 Node.js
团队的开垦者分别应对了他们对这么些主题素材的思想,对于编制程序语言来讲,每一门语言都有它和睦的优势,首要的是什么用它去消除难题。

澳门新葡萄京所有网站 1image

超级快入门,分界面上的选用方法

使用console

  • 创办八个Cloud Spanner instance、database、table。
  • 添加schema.
  • 写入或更新数据
  • 查询数据
    参考官网

澳门新葡萄京所有网站 2

Android developers love Kotlin. Google can tell us that 27% of the top
1,000 Android apps are built using Kotlin or that developers who are
using it have a 97% satisfaction rate and that’s great.

浓烈,通过谷歌(Google卡塔尔(قطر‎ Cloud SDK的办法操作Spanner

为了在当地、测量检验、线上等境况经过代码来操作Spanner DB须要展开以下步骤:

谷歌 UX 工程师 Sean Grogg :

But we’ve also had developers tell us in person that they not only love
it, but it’s also changed how much time they need to spend doing the
“boring” part of building an app. That gives them more time to do things
like polish the user experience or add small details that make a great
app stand out.

下载好Google Cloud SDK

本地开荒在此以前,要求下载并设置Google Cloud
SDK,然后就足以接纳gcloud工具。gcloud提供了重重谷歌Cloud
Platform的通令行接口。无论是通过命令行、脚本或其余自动化情势,都得以运用gcloud工具实践好多布满的平台职责。
举例,能够使用gcloud 去创设管理之下资源:

  • Google Compute Engine virtual machine instances and other resources
  • Google Cloud SQL instances
  • Google Kubernetes Engine clusters
  • Google Cloud Dataproc clusters and jobs
  • Google Cloud DNS managed zones and record sets
  • Google Cloud Deployment manager deployments
    也能够运用 gcloud 去布置 App Engine 应用,执行职分
    越多关于gcloud的成效看官方文书档案 gcloud
    Reference

对此别的语言,Google对其都秉持着中立的态势,唯有所谓的 Big
Three(Java、Python 和
Go)例外,这几个语言有着和谐极其的优势,在项目中应用它们无需开展额外的验证。

Kotlin helps make the tedious parts of building Android apps fewer and
farther between.

设置你的project为gcloud command-line工具的暗许project

指令如下:

gcloud config set project [MY_PROJECT_ID]

用作一家商号,谷歌(GoogleState of Qatar对 Node.js 并从未怎么一般见识。笔者写过众多 React
代码,它们都信任 Node ,此中一部分代码甚现今后还在谷歌(Google卡塔尔(قطر‎的 megarepo 中。

When a one-man dev team can see the same benefit as a big player, that
means a thing is pretty darn good. Part of what makes Kotlin work so
well for writing Android apps is Google’s support. Google treats Kotlin
as a primary (“First class” in its own words) language in Android Studio
and all the official Android developers’ documentation. This includes
examples and tutorials as well as code camps and even a complete — and
free — Udacity course. If you know how to code in Java, you’ll be up and
running with Kotlin in no time.

证实授权

Cloud Spanner使用 OAuth
2.0做API验证和授权。跑以下命令:

gcloud auth application-default login

或者

gcloud auth login | gmail@address

抑或直接

gcloud auth login

它会展开二个像样https://accounts.google.com/o/oauth2/auth?redirect_uri=XXXXXX的Google授权页面,直接点击当前客商同一时间赋予权力就能够。不过那么些授权情势只使用于地点情形,要是要布署到production情状,供给选取别的一种艺术,请仿效
Getting credentials for server-centric
flow和Setting
Up Authentication for Server to Server Production
Applications

本来,大概也有部分私人商品房大概共青团和少先队不太中意 Node.js
。Google里面包车型大巴确有局地人不爱好它,可是还要也是有多数人能够看见 Node.js
的价值,尤其是 Cloud 团队。

After seeing the success of Kotlin for Android development, Google is
moving it to the cloud with the Kotlin on Google Cloud Platform portal.

使用gcloud command-line工具

本地开辟情况的授权已经达成,接下去便是标准使用了。
第一验证一下 gcloud command-line 是不是足以纷来沓至并且操作Cloud Spanner。

gcloud spanner instance-configs list

经过以上命令能够看看project上面包车型大巴一雨后冬笋Cloud Spanner instance
配置音信。富含regional 和 multi-region 配置消息。

越来越多操作仿效gcloud
spanner。

  •  Node.js 是近期 Cloud Functions 独一辅助的语言

  •  它也是 App Engine 灵活情形的一局地

  •  它依然超级多产物的顾客端 library(Compute Engine,、Cloud Storage 以及Datastore 等)

Going beyond Android, we are happy to announce that the Google Cloud
Platform team is launching a dedicated Kotlin portal today. This will
help developers more easily find resources related to Kotlin on Google
Cloud. We want to make it as easy as possible for you to use Kotlin,
whether it’s on mobile or in the Cloud.

代码中行使Cloud Spanner client library操作Spanner DB

询问数据的叁个事例:

// Imports the Google Cloud client library
const Spanner = require('@google-cloud/spanner');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = 'my-project-id';
// const instanceId = 'my-instance';
// const databaseId = 'my-database';

// Creates a client
const spanner = new Spanner({
  projectId: projectId,
});

// Gets a reference to a Cloud Spanner instance and database
const instance = spanner.instance(instanceId);
const database = instance.database(databaseId);

// Reads rows from the Albums table
const albumsTable = database.table('Albums');

const query = {
  columns: ['SingerId', 'AlbumId', 'AlbumTitle'],
  keySet: {
    all: true,
  },
};

albumsTable
  .read(query)
  .then(results => {
    const rows = results[0];

    rows.forEach(row => {
      const json = row.toJSON();
      console.log(
        `SingerId: ${json.SingerId}, AlbumId: ${json.AlbumId}, AlbumTitle: ${
          json.AlbumTitle
        }`
      );
    });
  })
  .catch(err => {
    console.error('ERROR:', err);
  })
  .then(() => {
    // Close the database when finished.
    return database.close();
  });

除此以外,还扶植广大操作:建数据库,建表,对数码的增加和删除改查等等。越来越多的详细情况参见以下官方网址。

  • Getting Started with Cloud Spanner in
    C#
  • Getting Started with Cloud Spanner in
    Go
  • Getting Started with Cloud Spanner in
    Java
  • Getting Started with Cloud Spanner in
    Node.js
  • Getting Started with Cloud Spanner in
    PHP
  • Getting Started with Cloud Spanner in
    Python
  • Getting Started with Cloud Spanner in
    Ruby
  • Getting Started with Cloud Spanner in
    REST

Node.js 团队 Andreas Madsen:

Like Kotlin on the Android platform, Google is offering a complete SDK
for Google Cloud and tutorials to guide you through doing things like
building a backend for your app or using Kotlin to deploy Google App
Engine. It also promises a full set of APIs and code libraries for
Kotlin on Google Cloud Platform to help make moving a project from
another language to Kotlin or building a new Kotlin project from scratch
easier and worth doing.

Google的 V8 团队与 Node.js 团队具备紧凑的搭档。在新近的 Node.js 8中,我们对现在的 V8 保障了 ABI
宽容性。若无三个集团间的紧凑同盟,大家无计可施完结那或多或少。

Programming languages and developer tools to use them don’t really mean
much to end-users like ourselves. But they do make life easier for the
developers when they’re done right. Google looks to be learning from
mistakes it sees in its own past as well as the things Apple and
Microsoft are doing that could be improved and it’s partnership with
JetBrains to establish the Kotlin Foundation is one way it wants to fix
them.

Node.js 还在和 V8 团队协同付出 PromiseHook API ,它同意开垦者使用 C++
检查评定全部 promise 。它让大家能够在 domain module 中参加对 promise
的支撑,何况也是新的 async_hooks API 中的叁个首要组件。

For us, it all just means better apps. Who doesn’t love better apps?

有鉴于此,说谷歌讨厌 Node.js 完全是一派胡言。

Android开辟职员中意Kotlin。Google得以告知大家,前1000个Android应用程序中有27%是选择Kotlin营造的,大概使用它的开垦人士的餍足度为97%,并且极厉害。

Topseptools.tech SEO 经理 Muhammad Saeed:

但大家也许有开拓人士告诉我们他们不但钟爱它,并且还改正了他们花费多少日子来创设应用程序的“无聊”部分。那使他们有越来越多的岁月来做一些作业,比方改进客户体验或丰盛一些细节,使叁个绝妙的应用程序盛气凌人。

在应用 Node.js 的时候,你不可能一遍性管理五个 core ,比必要要对七个instance 进行 spin 。更糟的是,它的 cluster API
到现行反革命照旧还只是实验性意义。

Kotlin帮忙使创设Android应用程序的冗杂部分越来越少,更远。

本人之所以不爱好 Node.js ,是因为在行使 headless
浏览器运维测验的时候,你智能使用二个 core 。除非您能学会怎么样将测验的
load 实行分红,不然在真实浏览器中运转测量检验的进度会更加快。

当三个单人开采协会能够看出与大游戏者相仿的收益时,那意味专门的学业卓越不错。Kotlin编写Android应用程序的一有个别原因是Google的支撑。Google将Kotlin视为Android
Studio中的主要语言语言,以至独具官方Android开拓人士的文书档案。那包蕴示例和课程,以至代码阵营,以致四个完整的-
和私行 –
Udacity课程。倘诺你领略怎么利用Java编写代码,那么你超级快就能够使用Kotlin了。

调理也是个问题,要是您使用的是cluster
library,它会不能正常办事。作者分外盼望 Node.js 能一举成功那些难点。

在观望Kotlin用于Android开采的功成名就未来,Google正在通过Google云平台门户网址上的Kotlin将其搬迁到云端。

原文:Why does Google despise Node.js? Answer
Request
译文:SDK.cn  编译:鲁行云

超过Android,大家非常高兴地揭橥Google Cloud
Platform团队今日推出了特地的Kotlin门户。那将助长开拓人士更轻易地在谷歌Cloud上探求与Kotlin相关的能源。大家盼望让你尽可能轻松地使用Kotlin,无论是在移动道具也许在云端。

与Android平台上的Kotlin同样,Google提供了一体化的谷歌 Cloud
SDK和学科,可教导您完结为应用营造后端或应用Kotlin布置谷歌(Google卡塔尔 App
Engine等操作。它还承诺为谷歌 Cloud
Platform上的Kotlin提供一条龙API和代码库,以支援将品种从另一种语言调换到Kotlin,或然从头初阶创设叁个新的Kotlin项目更易于,更值得做。

采用它们的编制程序语言和开辟人士工具对像我们如此的最后顾客来讲并不是很要紧。不过,当他们做得好时,他们确实让开荒人士的生存变得更轻巧。谷歌(Google卡塔尔(قطر‎仿佛正在从它自个儿过去看来的荒诞中学习,甚至苹果和微软正在做的政工能够改良,它与JetBrains合营创建Kotlin基金会是它想要修复它们的一种艺术。

对大家的话,那整个只是代表更加好的运用。什么人不爱好更加好的应用程序?

澳门新葡萄京所有网站 3image

本国率先Kotlin 开采者社区公众号,首要分享、调换 Kotlin 编制程序语言、Spring
Boot、Android、React.js/Node.js、函数式编制程序、编制程序观念等相关核心。

敏捷拿动手提式有线电话机,扫一扫关切吧~

澳门新葡萄京所有网站 4开垦者社区
QRCode.jpg