ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

【根权限系列】Magnet新的跨平台应用开发方案 – 译学馆
未登陆,请登陆后再发表信息
最新评论 (0)
播放视频

【根权限系列】Magnet新的跨平台应用开发方案

Google Root Access: What we learned building plug-ins for Android, with startup Magnet

马丁:今天我们的客人是帕斯卡尔·杰隆
MARTIN OMANDER: My guest today is Pascal Jaillon,
他是创业公司Magnet的开发负责人
who leads the developer program at the start up Magnet.
帕斯卡尔 欢迎参加我们的节目
Pascal, welcome to the show.
帕斯卡尔:谢谢!
PASCAL JAILLON: Thank you.
马丁:那么 帕斯卡尔
MARTIN OMANDER: So Pascal, would you
要说一说Magnet吗
tell us a bit about the startup Magnet?
帕斯卡尔:好的 Magnet提供了
PASCAL JAILLON: Yes, so Magnet offers
让开发者构造移动应用的
a suite of products for developers
开发套件 开发出来的应用可以
to build great mobile applications– apps that
充分利用我们口袋里的
take full advantage of all of all
迷你计算机的
the powers of those minicomputers
所有计算能力
that we now carry in our pockets.
马丁:是 很好
MARTIN OMANDER: Yes, good.
那么你们在使用的是哪个谷歌开发者产品呢?
So what Google Developer products do you work with?
帕斯卡尔:当然 我们在为安卓开发
PASCAL JAILLON: So we develop for Android, obviously.
我们使用了谷歌提供的所有工具
And we use all the tools that Google can provide,
从微型SDK 旧版本
from know the Mini-SDKs, the older
集成开发环境 代码生成器等等 每一个都用了
versions, the IDEs, the [? generators, ?] everything.
如今 开发者不会尝试去
Nowadays, developers don’t really try,
说要让他们的用户依赖
or having anything to say about the version or the platform
某个版本或者平台才可以用
that the users will use for the mobile applications.
因此在Magnet 我们确保可以开发出
So at Magnet, we make sure we can develop apps
适用于所有设备的应用
for all those devices in the nature.
马丁:我没有听过你说
MARTIN OMANDER: So I haven’t heard you
“平台”这个词
say the word “platform” yet.
但我估计接下来会听到这个词
But I suspect that the word will come up.
我是一名开发者 我觉得很多开发者
And I’m a developer, and I think many developers
听到平台这个词都会觉得有点紧张
with me get a bit nervous when we hear the word
因为这会意味着一个全新的代码基础
“platform,” because it entails going to a new code base.
你无法了解新平台的
You don’t know the and weaknesses and strengths
优势和坑
of this new platform.
因此老实说 对于开发者来说
It’s a bit scary, honestly, for a developer to go
尝试全新的平台 让人有点害怕
with something completely new.
你们关注到了开发者的这种忧虑了吗?
How do you address those concerns from developers?
帕斯卡尔:是的 非常深刻的
PASCAL JAILLON: Yeah, well totally.
用户 也就是开发者 最初想尝试一下它 是吗?
People, developers, want to try it first, right?
你要构建的平台越大
So the bigger the platform you’re building, the more,
事实上你就越应该将它拆分掉 形成模块
actually, you have to cut that into pieces, into components,
这些模块可以独立测试 使用
that can be actually tried and used independently
互相之间不影响
from each other.
这就是我们在Magnet关键工作
So that that’s exactly what we did at Magnet.
我们提供了不同的细小组件
We are addressing different pinpoints
都是开发者所需要的 从网络连接 到
that developers have, from connectivity, to real time
实时消息 远程持久化存储
messaging, to remote persistence.
每个组件都是属于一个
And each of those pinpoints is addressed
不同的产品
to a different products.
马丁:那么就是说开发者可以只试试一小块
MARTIN OMANDER: Ah, so a developer can dip their toe in,
一两个模块 而不用
and use one or two of these, without going
把你们的整个平台都纳入进去
whole hog with your platform.
帕斯卡尔:没错
PASCAL JAILLON: That’s right.
这点非常重要 他们可以
And it’s very important that they
试试 玩玩 比如 有代表性的是我们新的
can try it, play with it, for– typically, our new messaging
消息解决方案 我们在云端部署了一个版本
solution, we are hosting a version in the cloud,
这样他们可以简单试试
so they can just use it, and see how
看看它是怎样工作的 再决策是否要将它
it works before they can decide to adopt it
包含到自己的产品里
in their own product.
马丁:创建一个好的开发者体验不是件容易事
MARTIN OMANDER: Building a good developer experience is hard.
我的意思是 我们在谷歌就在做这事
I mean, we try to do it here at Google.
你们做的很棒
And you’re doing it as well.
这在最终上线之前
It must have taken lot of iterations
一定经历了大量迭代吧
before you had something that was ready to ship,
我猜
I’m guessing.
帕斯卡尔:绝对的
PASCAL JAILLON: Absolutely.
对我们来说理解开发者的工作模式
And it was very important for us to understand
是非常重要的 他们是
how developers actually work, how they
如何开发移动应用的
develop the mobile application.
因此 我们需要深入理解
So we need to understand closely the way
他们构建应用产品的方式 这决定了
they work to build your product that actually addresses
切入的形式
the pinpoints.
因此聚焦切入方式是很重要的
So focusing on the key pinpoint is important.
在我们设计rest2mobile时 这是我们
And then, in the case of rest2mobile, the first product
第一个产品 关注的是连接性
that addresses the connectivity, we
我们意识到 保持开发者在流程中
realized, to keep the developers in the flow,
即 为集成开发环境(IDE)提供一个插件会比
it was better to actually build a plug-in for the IDEs
做一个完整的解决方案 要更好
as opposed to perhaps a competitive solution, where
这不会要求用户使用浏览器下载完整的SDK
using the web browser to download the full SDK,
因为我们更希望用户能在集成开发环境里直接完成
we wanted to do that within their IDEs
而不用切换使用场景
to keep the developers inside their IDEs
确保生产力 聚焦在代码编写上
where they are productive, and doing all the coding.
马丁:你刚刚提到了集成开发环境
MARTIN OMANDER: You mentioned IDEs.
在安卓开发领域 开发者会使用各种不同的集成开发环境
Developers use many different IDEs on Android.
你们怎么处理这个问题?
How did you deal with that?
帕斯卡尔:是的 还有
PASCAL JAILLON: Right, so also, we
我们希望确保他们
wanted to make sure that they had
在不同的开发环境里拥有同样的体验
the same experience across multiple IDEs, also on iOS,
即便是使用Xcode开发iOS应用都一样
on Xcode.
因此我们做了很多工作
So we ended up doing a lot of work,
比我们一开始预计的要多得多
more work than we intended first.
我们在开发环境上选择了Android Studio
But we’ve got IDEs for– we picked Android Studio,
因为这是谷歌官方的
because that’s the official– I think– by Google.
作为附加 我们还
And as a bonus, we got that to work
兼容了IntelliJ 因为它是前者的代码基础
with IntelliJ, because it’s a [INAUDIBLE] code base.
我们还开发了命令行工具
But we also built a command line tool
可以用于自动化 也可以提供给那些
for automation, and for developers
不使用IDE的开发者用
who are not in the IDE.
我们还为Xcode编写了一个插件
And we built another plug-in for Xcode.
对我们来说 这是大量的额外工作 但是都很有意义
It was more work on our side, but, all good.
马丁:还有Eclipse
MARTIN OMANDER: And one for Eclipse.
帕斯卡尔:你可以使用Eclipse
PASCAL JAILLON: You can use Eclipse.
虽然我们并没有为Eclipse提供一个完整插件
But we don’t have to a full plug-in for Eclipse.
但命令行工具可以帮助使用Eclipse的
But our command line tools helps developers
开发者生成代码
who are in Eclipse to generate the code
应用于他们的移动应用开发
in their mobile applications.
马丁:明白了
MARTIN OMANDER: I see.
那么 哪里能看到安卓开发者的兴趣变化呢?
So where are seeing the most Android developer interest?
人们在往Android Studio上迁移吗?
Are people moving to Android Studio?
还是说他们仍然留在Eclipse上?
Are they still on Eclipse?
帕斯卡尔:我们看到了这个切换
PASCAL JAILLON: We see the switch
开发者在向Android Studio迁移
happening to Android Studio.
这是个非常棒的集成开发环境
It’s a great IDE.
很好用
It works really well.
体验也很棒
The experience is great.
他们得到了很多用户反馈
They get a lot of the feedback and the work
基于IntelliJ的功能
that was done with IntelliJ IDEA,
这绝对是个开发安卓应用
so that’s definitely a great place
最佳的起点
to start building Android applications.
马丁:当我下载完这个插件
MARTIN OMANDER: When I download this plug-in
在开发环境里安装上以后
from my [INAUDIBLE] and install it in my IDE,
会发生什么?
what happens then?
作为开发者 它能帮到我什么?
How does it help me, as a developer?
帕斯卡尔:使用最早的产品
PASCAL JAILLON: With this first product– again,
rest2mobile 我们希望能帮到开发者
rest2mobile– we want to help the developer
来为他们的应用提供连接能力也就是说将他们的移动应用
build their connected apps– to connect their mobile apps
连接上REST接口 连接到REST服务上
to REST APIs, to REST services.
这个工作有点小复杂
It’s a little bit complicated.
你得处理到服务端的远程连接
You have to deal with remote connection to a server.
还要处理JSON的开销
You have to deal with JSON payloads.
马丁:对于网络来说 在网络上传输的任何东西
MARTIN OMANDER: For the network, anything on the network–
都会要考虑超时
it can time out.
帕斯卡尔:非常对
PASCAL JAILLON: Exactly.
产品里提供了一些离线能力
[? I’m ?] working with some offline capabilities.
那么 我们希望提供在主干之外提供这样的能力
So we wanted to offer those capabilities out of the box,
通过插件来提供
with a plug-in.
因此我们实现了代码自动生成
So we do code generation.
我知道代码生成的名声不太好
And I know that code generation sometimes has a bad reputation.
马丁:是啊 代码生成
MARTIN OMANDER: Yeah, code generation.
我听到这个词 就会有怀疑
When I hear that, I get suspicious.
这种生成的代码我不能动
It will be code I can’t touch.
脆弱的代码 如果我一修改 就可能各种出错
Magic code that, if I touch it, it’ll break.
而且还无法再生成出来
I can’t easily regenerate it.
帕斯卡尔:是的 我们试图
PASCAL JAILLON: Yeah, and we wanted
打消掉开发者的这些顾虑
to make sure that that was not a concern for the developers.
尽可能的生成最好的代码
So we generated the best code we could,
确保这些代码是
made sure that the code that ends up
你的应用中如同你自己手工写的
being in your mobile apps is as good as what
一样高质量
you would have done by yourself, if that were written by hand.
除了你不用手写了 直接生成
But we take all the burden out of your hands.
我们帮你生成了
We create this code for you, make
它肯定是对单元测试友善的
sure it’s [? unitest ?] friendly.
会连同单元测试代码一同生成
It comes with [? unitest. ?] It’s
对代码重构也是友善的 应用只需要
refactoring friendly, something that the app won’t decompile
编译一次
just once.
它包含一个完整的生命周期
There is a full life cycle.
支持重构 允许修改
So being able to refactor, to make changes,
这是超级重要的 这是我们
that was super important, and we addressed that
在插件里非常强调的能力
with our plug-in.
马丁:我明白了
MARTIN OMANDER: I see.
那么 你们在为安卓生态系统开发过程中
So when building for the Android ecosystem,
有什么学到的经验可以分享吗?
what lessons have you learned?
这些可以给和你们类似的
And what experience would you like
创业团队做分享的呢?
to share with other startups in a similar position to you guys?
帕斯卡尔:毋庸置疑 安卓
PASCAL JAILLON: So definitely, Android
在应用开发方面比iOS更加的开放
is more open than iOS on the app side.
你们做的很好的是 有更多的文档
So that’s, good because there are more documents,
更多的文档
more documentation.
对我们来说开发这样的插件要更容易些
It’s a bit easier for us to build these kinds of plug-ins.
同时 会有多种集成开发环境
At the same time, there are multiple IDEs,
你刚刚也提到了
as you said earlier.
我们得针对不同的平台 不同的开发环境
So we had to address different platforms, different IDEs,
生成不同的代码基础
and build for different code base.
在Xcode方面不存在这个问题
It was not the case on the Xcode side, when
我们也为Xcode开发了插件
we built the plug-in for Xcode.
但是这里的文档就很少了
But at the same time, we had much less documentation,
我们就不得不去看其它的地方 比如GitHub项目之类
so we had to look at other– like, Github projects,
去通过别的项目来理解该怎么做
and work with other projects to understand how to that,
从别的移动开发者身上学习这个经验吧
to offer the same experience for other mobile developers.
马丁:很好
MARTIN OMANDER: Great.
帕斯卡尔 感谢你的参与
Thank you for coming in here, Pascal,
为我们和观众分享你的经验
and sharing your experiences with us, and our viewers.
帕斯卡尔:谢谢您的邀请
PASCAL JAILLON: Thanks for having me.
马丁:如果您发现一些
MARTIN OMANDER: We hope you found something
对您的创业有价值的信息
you can use in your startup.
请告诉我们 这对我们很重要
Your input matters.
在下方给我们流言吧
Please leave your comments below.
我们会逐条阅读的
We read everything you write.
要了解更多关于谷歌在创业的哪些方面帮到你
To learn how Google can help your startup,
可以访问developers.google.com/startups
go to developers.google.com/startups.
如果你希望参与节目成为嘉宾
If you would like to be a guest on the show,
可以在这里报名:bit.ly/applyrootaccess
go to bit.ly/applyrootaccess.
今天就到这吧
That’s it for now.
下次再见
See you next time.
(音乐播放)
[MUSIC PLAYING]

发表评论

译制信息
视频概述
听录译者

收集自网络

翻译译者

知易行难

审核员

自动通过审核

视频来源

https://www.youtube.com/watch?v=5gArR3JACBI

相关推荐