by Vivian Cromwell
通过维维安·克伦威尔(Vivian Cromwell)
I interviewed Evan You, the creator of vuejs.org which is a popular progressive JavaScript framework. Evan works on Vue full time with the funding from the Patreon campaign. Previously, he worked at Google and Meteor.
我采访了vuejs.org (一个流行的渐进式JavaScript框架)的创建者Evan You。 埃文(Evan)在Patreon竞选活动的资助下全职从事Vue工作。 之前,他曾在Google和Meteor工作。
This article was originally posted on Between the Wires, an interview series featuring those who are building developer products.
本文最初发布在“电线之间” ,这是一个采访系列,主要介绍那些正在开发开发人员产品的人。
Okay, so I was born in China, my hometown is called Wuxi. It’s a medium-sized city, which is right next to Shanghai. Actually, I went to Shanghai for high school for three years and commuted back and forth. After high school I went to the US for college. I guess I got early access to computers, but I didn’t really get into programming too much. I was more interested in games, and I did play a lot with Flash when I was in high school, because I really enjoyed making those interactive storytelling experiences.
好吧,所以我出生在中国,我的家乡叫无锡。 这是一个中等城市,紧邻上海。 实际上,我去上海读了三年高中,来回上下班。 高中毕业后,我去了美国读大学。 我想我很早就可以使用计算机,但是我并没有真正开始编程。 我对游戏更感兴趣,在高中的时候就曾在Flash上玩过很多游戏,因为我真的很喜欢进行互动式讲故事的经历。
“I was attracted to JavaScript because of the ability to just build something and share it instantly with the world. You put it on the web, and you get a URL, you can send it to anyone with a browser. That was the part that just attracted me to the web and to JavaScript.”
“我之所以被JavaScript吸引,是因为它能够构建某些东西并立即与世界分享。 您将其放在网络上,然后获得一个URL,可以将其发送给使用浏览器的任何人。 那是吸引我到网络和JavaScript的部分。”
When I went to college in the US, honestly I didn’t know what I wanted to do and I was majoring in studio art and art history. When I was about to graduate, I realized it was pretty hard to find a job doing studio art and art history.
老实说,当我在美国上大学时,我不知道自己想做什么,我的专业是工作室艺术和艺术史。 当我即将毕业时,我意识到很难找到从事工作室艺术和艺术史的工作。
I figured maybe I could go to a master’s program that fit my interests better and developed more skills. I went to Parsons and studied the Master of Fine Arts for Design and Technology. It was a really cool program because everyone was half designer and half developer. They taught you things like openFrameworks, processing, algorithmic animations, and you also had to design apps and interfaces.
我想也许我可以去一个更适合我的兴趣并发展更多技能的硕士课程。 我去了帕森斯大学,学习了设计和技术美术硕士。 这是一个非常酷的程序,因为每个人都是设计人员和开发人员的一半。 他们教了您诸如openFrameworks,处理,算法动画之类的知识,并且您还必须设计应用程序和界面。
Parsons didn’t really teach a lot of JavaScript, but I was attracted to JavaScript because of the ability to just build something and share it instantly with the world. You put it on the web, and you get a URL, you can send it to anyone with a browser. That was the part that just attracted me to the web and to JavaScript.
帕森斯并没有真正教过很多JavaScript,但是我被JavaScript吸引了,因为它能够构建某些东西并立即与世界分享。 您将其放在网络上,然后获得一个URL,可以将其发送给使用浏览器的任何人。 那是吸引我到Web和JavaScript的部分。
At the time, Chrome experiments had just been released, and I was totally blown away. I immediately jumped into JavaScript and started learning it myself, and began building things similar to Chrome experiments. I put those things in my portfolio and then it somehow got picked up by the recruiter at Google Creative Lab. I joined as part of the Five program. Every year Creative Lab recruits five new graduates. It’s basically a small team with a copywriter, a creative technologist, a graphic designer, a strategist, and a wildcard.
当时, Chrome实验刚刚发布,我被彻底震撼了。 我立即跳入JavaScript并开始自己学习它,并开始构建类似于Chrome实验的内容。 我将这些东西放入我的投资组合中,然后以某种方式被Google Creative Lab的招聘人员拿走了。 我加入了“五项计划” 。 创意实验室每年都会招募五名新毕业生。 它基本上是一个小团队,有一名撰稿人,一名创意技术人员,一名图形设计师,一名战略家和一个通配符。
My job at Google involved a lot of prototyping in the browser. We had this idea and we wanted to get something tangible as fast as possible. Some of the projects used Angular at that time. For me, Angular offered something cool which is data binding and a data driven way of dealing with a DOM, so you don’t have to touch the DOM yourself. It also brought in all these extra concepts that forced you to structure the code the way it wanted you to. It just felt too heavy for the use case that I had at that time.
我在Google的工作涉及浏览器中的许多原型设计。 我们有这个主意,我们想尽快得到切实的东西。 当时有一些项目使用Angular 。 对我来说,Angular提供了一些很酷的功能,那就是数据绑定和一种以数据驱动的方式处理DOM的方式,因此您不必亲自接触DOM。 它还引入了所有这些额外的概念,这些概念迫使您按照所需的方式构造代码。 对于我当时的用例来说,感觉太重了。
I figured, what if I could just extract the part that I really liked about Angular and build something really lightweight without all the extra concepts involved? I was also curious as to how its internal implementation worked. I started this experiment just trying to replicate this minimal feature set, like declarative data binding. That was basically how Vue started.
我想,如果我可以提取我真正喜欢的有关Angular的部分,并在不涉及所有额外概念的情况下构建真正轻量级的东西呢? 我也对它的内部实施如何工作感到好奇。 我开始本实验只是尝试复制此最小功能集,例如声明性数据绑定。 基本上这就是Vue的开始方式。
I worked on it, and felt it had potential, because I enjoyed using it myself. I put a little bit more time into it and packed up properly, gave it a name, called it Vue.js. That was in 2013. Later on I thought, “Hey, I put so much time into this. Maybe I should share it with others so they could at least benefit from it, or maybe they will find it interesting.”
我一直在研究它,并认为它具有潜力,因为我喜欢自己使用它。 我花了更多时间并正确打包,给它起了个名字,叫做Vue.js。 那是2013年。后来我想:“嘿,我花了很多时间。 也许我应该与其他人分享它,以便他们至少可以从中受益,或者他们会发现它很有趣。”
In February 2014, that was how I first released it as an actual project. I put it out on Github and sent a link to Hacker News, and it actually got voted to the front page. It stayed there for a few hours. Later, I wrote an article to share the first week usage data and what I learned.
在2014年2月,这就是我第一次将其发布为实际项目的方式。 我在Github上发布了该链接,并发送了指向Hacker News的链接,而该链接实际上已获得投票。 它在那里呆了几个小时。 后来,我写了一篇文章,分享了第一周的使用情况数据和我学到的知识。
That was my first experience seeing people going to Github and starring a project. I think I got several hundred stars in the first week. I was super excited back then.
那是我第一次见到人们去Github并担任项目主演。 我认为第一周获得了几百颗星星。 那时我很兴奋。
I think, in terms of all the frameworks out there, Vue is probably the most similar to React, but on a broader sense, among all the frameworks, the term that I coined myself is a progressive framework. The idea is that Vue is made up of this core which is just data binding and components, similar to React. It solves a very focused, limited set of problems. Compared to React, Vue puts a bit more focus on approachability. Making sure people who know basics such as: HTML, JavaScript, and CSS can pick it up as fast as possible.
我认为,就现有的所有框架而言,Vue可能与React最相似,但是从更广泛的意义上讲,在所有框架中,我创造的术语是一个渐进式框架。 这个想法是Vue由这个核心组成,它只是数据绑定和组件,类似于React。 它解决了非常集中,数量有限的问题。 与React相比,Vue更加注重可及性。 确保了解诸如HTML,JavaScript和CSS之类的基础知识的人可以尽快找到它。
On a framework level, we tried to build it with a very lean and minimal core, but as you build more complex applications, you naturally need to solve additional problems. For example routing, or how you handle cross component communication, share states in a bigger application, and then you also need these build tools to modularize your code base. How do you organize styles, and the different assets of your app? Many of the more complete frameworks like Ember or Angular, they try to be opinionated on all the problems you are going to run into and try to make everything built into the framework.
在框架级别,我们尝试使用非常精简且最小的内核进行构建,但是当您构建更复杂的应用程序时,您自然需要解决其他问题。 例如路由,或如何处理跨组件通信,在更大的应用程序中共享状态,然后还需要这些构建工具来模块化代码库。 您如何组织样式以及应用程序的不同资产? 许多更完整的框架(例如Ember或Angular )都试图对您将要遇到的所有问题持保留态度,并尝试将所有内容构建到框架中。
It’s a bit of a trade off. The more assumptions you make about the user’s use case then the less flexibility the framework will eventually be able to afford. Or leave everything to the ecosystem such as React — the React ecosystem is very, very vibrant. There are a lot of great ideas coming out, but there is also a lot of churn. Vue tries to pick the middle ground where the core is still exposed as a very minimal feature set, but we also offer these incrementally adoptable pieces, like a routing solution, a state management solution, a build toolchain, and the CLI. They are all officially maintained, well documented, designed to work together, but you don’t have to use them all. I think that’s probably the biggest thing that makes Vue as a framework, different from others.
这有点折衷。 您对用户用例所做的假设越多,框架最终将无法承受的灵活性就越低。 或将一切都留给生态系统,例如React-React生态系统非常非常活跃。 有很多很棒的主意,但也有很多流失。 Vue尝试在仍然将核心作为最小功能集公开的中间立场,但我们还提供了这些可逐步采用的部分,例如路由解决方案,状态管理解决方案,构建工具链和CLI。 它们都经过正式维护,有据可查,可以协同工作,但您不必全部使用它们。 我认为,这可能是使Vue成为框架的最大区别。
“I’m creating value for these people, so theoretically if I can somehow collect these values in a financial form, then I should be able to sustain myself.”
“我正在为这些人创造价值,因此从理论上讲,如果我可以某种方式以财务形式收集这些价值,那么我应该能够维持自己。”
I’m creating value for these people, so theoretically if I can somehow collect these values in a financial form, then I should be able to sustain myself. This gets complicated because JavaScript framework is relatively hard for people to pay upfront, given how the JavaScript ecosystem has been working.
我正在为这些人创造价值,因此从理论上讲,如果我可以某种方式以财务形式收集这些价值,那么我应该能够维持自己。 鉴于JavaScript生态系统的工作原理,JavaScript框架相对难以让人们提前付款,因此情况变得复杂。
Vue has a very vibrant user base. Many of Vue users are from the Laravelcommunity and they are also really enthusiastic and nice people. I thought, would crowdfunding work? I just wanted to try this idea on Patreon. Actually Dan Abramov, the creator of React-Hot-Loader and Redux, also did a small campaign on Patreon before. That’s actually what interests me. I have a rough idea of how many people are using Vue. Let’s say there are 10,000 users. If maybe 1% of them is willing to give me ten bucks a month, that is something.
Vue具有非常活跃的用户群。 Vue的许多用户来自Laravel社区,他们也是非常热情和友善的人。 我以为,众筹能行吗? 我只是想在Patreon上尝试这个想法。 实际上,React-Hot-Loader和Redux的创建者Dan Abramov之前也曾在Patreon上做过一次小型活动。 这实际上是我感兴趣的。 我对有多少人正在使用Vue有一个大概的了解。 假设有10,000个用户。 如果他们中的1%愿意每月给我10美元,那是什么。
In February, I started a Patreon campaign, and it is a two-part thing. One part is targeted towards individuals who are using Vue. Typically they’re just willing to give up a small sum, kind of like buying me coffee. Then there’s the other camp with actual business entities, like start-ups or consultancy shops, who’ve built stuff with Vue. It’s important for them to see that Vue is maintained in the long run. It affords them peace of mind knowing that their financial support will make Vue more sustainable and they can feel safe using it for the long run.
2月,我发起了Patreon广告系列 ,这是一个分为两部分的事情。 一部分针对使用Vue的个人。 通常,他们只是愿意放弃一小笔钱,就像给我买咖啡一样。 然后是另一个由实际业务实体组成的阵营,例如初创企业或咨询店,他们已经用Vue构建了东西。 对于他们来说,很重要的一点是,要长期维护Vue。 知道他们的财务支持将使Vue更具可持续性,并且长期使用它们,他们会感到放心,这使他们高枕无忧。
Another aspect of it is Patreon rewards. If companies are willing to sponsor us, then I could put their logo up on a sponsor page on vuejs.org. It raises the awareness of the community. Half the Patreon funds are coming from individuals and one of them sponsored $2000 a month. I had no idea if it would work out when I tried it, but it turns out it’s kind of working. I think I made the full-time jump when I had $4000 a month on Patreon, and now it’s grown to over $9800 a month.
另一个方面是Patreon奖励。 如果公司愿意赞助我们,那么我可以将其徽标放在vuejs.org的赞助商页面上。 它提高了社区的意识。 Patreon资金的一半来自个人,其中一个每月赞助2000美元。 我不知道在尝试时是否可以解决问题,但事实证明这是可行的。 我想当我每月在Patreon上有4000美元时,我就进行了全职跳槽,现在它已增长到每月9800美元以上。
When I started the Patreon campaign Vue was already showing really strong growth. In early 2015, Vue was largely still just a random open source project, but the Laravel community started going full on with Vue. I felt like if I couldn’t actually make any money out of it, it wouldn’t make sense.
当我启动Patreon广告系列时,Vue已经显示出强劲的增长。 在2015年初,Vue在很大程度上仍然只是一个随机的开源项目,但是Laravel社区开始全面使用Vue。 我觉得如果我不能真正从中赚钱,那就没有意义了。
I have to give a special thanks to Strikingly, which is a start-up based in Shanghai. They are really actively involved in JavaScript and Ruby communities in China. They don’t actually use Vue a lot, but they have this monthly fund that they use to sponsor open source projects. They were the first $2000 a month sponsor for six months.
我要特别感谢总部位于上海的初创企业Strikingly 。 他们确实积极参与了中国JavaScript和Ruby社区。 他们实际上并不大量使用Vue,但他们有每月的资金用于赞助开源项目。 他们是六个月以来第一个每月$ 2000的赞助商。
That helped significantly in the early phase. Also, Taylor Otwell, creator of Laravel, is also sponsoring Vue. He started with 100, and bumped it up to 200, and 500 over time.
在早期阶段,这有很大帮助。 另外, Laravel的创始人泰勒·奥特威尔 ( Taylor Otwell )也赞助了Vue。 他从100开始,然后逐渐上升到200和500。
I would say there isn’t any real money involved in marketing. I didn’t buy ads or anything. It’s mostly, just writing some blog posts. A lot of times I was just managing the Twitter account. I think that’s pretty much it. Occasionally I’d write a post on Medium.
我会说营销没有涉及任何真正的金钱。 我没有购买广告或任何东西。 通常,只是写一些博客文章。 很多时候我只是在管理Twitter帐户。 我想就是这样。 有时我会在Medium上发表文章。
The Chinese market is unique. I’m Chinese and I’m pretty involved in the Chinese JavaScript community. A lot of people knew Vue because they knew me. We had this whole translation of Vue documentation into really well written Chinese, so that helped a lot with Vue’s adoption in China. A lot of users also know, “Hey, the author of this library is Chinese.” They just naturally feel inclined to at least check it out, but I think that helped quite a bit in the early phases. Vue just started being used by more and more companies in China, including teams at Alibaba, Tencent and Baidu. Those are all billion-dollar valued companies in China. React also has a really big mindshare in China.
中国市场是独一无二的。 我是中国人,并且非常参与中国JavaScript社区。 很多人认识Vue是因为他们了解我。 我们将Vue文档的整个翻译过程翻译成非常好的中文,因此对Vue在中国的采用大有帮助。 许多用户还知道,“嘿,这个库的作者是中文。” 他们自然很乐意至少检查一下,但是我认为这在早期阶段起到了很大作用。 Vue刚开始被越来越多的中国公司使用,包括阿里巴巴,腾讯和百度的团队。 这些都是在中国价值十亿美元的公司。 React在中国也占有很大份额。
There is a Quora clone in China named Zhihu, people ask all kinds of random questions on there and I answer a lot of JavaScript and Vue.js-related questions for them.
中国有一个名为Zhihu的Quora克隆,人们在那里询问各种随机问题,我为他们回答了许多与JavaScript和Vue.js相关的问题。
I guess the language barrier is probably the hardest part. The idea is if you don’t really put dedicated effort into pushing something in China, then no one’s going to notice it, unless you’re as big as React. You need someone who can speak Chinese, someone who can speak native Chinese to actually do it.
我想语言障碍可能是最难的部分。 这个想法是,如果您没有真正致力于在中国推广产品,那么除非您像React一样大,否则没人会注意到它。 您需要一个会说中文的人,一个会说中文的人才能真正做到这一点。
Another interesting thing is that there are actually many other users from other regions of the world such as Italy, Spain, Portugal and Japan. Some of the most active contributors are from Japan. They are really, really meticulous in translating the documentations.
另一个有趣的事情是,实际上还有来自世界其他地区的许多其他用户,例如意大利,西班牙,葡萄牙和日本。 一些最活跃的贡献者来自日本。 他们在翻译文档时确实非常细致。
“I have to completely rethink the problem in a certain way, but I think that’s just how software development goes because you would never get anything right just from the first try.”
“我必须以某种方式完全重新考虑问题,但是我认为这就是软件开发的方向,因为从一开始就永远做不到正确的事情。”
Hm, I know, there are probably quite a few. To date, Vue has been rewritten from the ground up twice. Obviously, I rewrote it because the original implementation had problems that just could not be solved by gradually refractory. It’s like every six months I look at the code base from six months ago. I’ll be like, wow. How did this even work?
嗯,我知道,可能有很多。 迄今为止,Vue已被彻底重写两次。 显然,我重写了它,是因为最初的实现存在逐步耐火材料无法解决的问题。 就像我每六个月看一次六个月前的代码库一样。 我会喜欢的,哇。 这怎么工作?
I have to completely rethink the problem in a certain way, but I think that’s just how software development goes because you would never get anything right just from the first try.
我必须以某种方式完全重新考虑问题,但是我认为这就是软件开发的过程,因为您不会从第一次尝试中就获得任何正确的解决方案。
The journey of building Vue is also a journey of just growing as a developer, because over time I had to add new features, maintain it, fix bugs and ensure the whole ecosystem worked correctly together. It just naturally exposes you to all the problems you would run into as a software engineer. It’s just a learning process.
构建Vue的旅程也是作为一名开发人员成长的旅程,因为随着时间的流逝,我不得不添加新功能,对其进行维护,修复错误并确保整个生态系统能够正确地协同工作。 它自然会使您面临软件工程师遇到的所有问题。 这只是一个学习过程。
“There is not going to be this one true framework that just makes everyone happy. The more important part is, make it better for the people who actually enjoy your framework. Focus on what you believe is the most valuable thing in your framework and just make sure you’re doing a great job, rather than worrying about how you compare to others.”
“不会有一个能让每个人都高兴的真正框架。 更重要的部分是,让对真正喜欢您的框架的人更好。 专注于您认为是框架中最有价值的事情,只需确保自己做得很好,而不用担心与他人的比较。”
There definitely have been. There’s a lot of pressure in terms of competition. When Vue was still relatively unknown, that pressure isn’t there because any exposure is good. People aren’t going to hold you up to a certain standard. But as Vue has grown bigger and bigger, naturally people started comparing Vue to things like Angular or React, and they point out things like, “hey, React does this better. Angular does this better.”
肯定有。 竞争压力很大。 当Vue还是相对未知的时候,就没有压力了,因为任何接触都是好的。 人们不会让您达到某个标准。 但是随着Vue变得越来越大,人们自然会开始将Vue与Angular或React之类的东西进行比较,他们指出诸如“嘿,React可以做得更好。 Angular做得更好。”
That puts a lot of pressure on you and it can be stressful having to compete with all the big guys. Especially now that I’m doing this full-time. The viability of Vue in the ecosystem basically is directly related to how well I am doing.
这给您带来很大压力,不得不与所有大个子竞争,这可能会带来很大压力。 特别是现在我正在全职工作。 Vue在生态系统中的生存能力基本上与我的状况直接相关。
But recently I just watched a talk by Evan Czaplicki, the author of Elm, where he talked about how he had a similar pressure when he was working on Elm. There was Om, the ClojureScript interface on top of React. There was PureScript, there’s other functional compiling to JavaScript languages out there, he was also worried how Elm could compete with those libraries.
但是最近,我刚刚观看了Elm的作者Evan Czaplicki的演讲 ,他在演讲中谈到了他在Elm工作时如何承受类似的压力。 Om是React之上的ClojureScript接口。 有PureScript ,还有其他功能可以编译成JavaScript语言,他还担心Elm如何与这些库竞争。
Later on, he talked to Guido, author of Python, and Guido gave him advice, he said, “just do a good job.” The idea behind that is that Python also had this problem. It competes with a lot of dynamic languages, like Ruby, JavaScript, Perl, and it’s also in the same problem domain. It ends up all of these languages that are successful in their own right, and they have their own dedicated community using them, enjoying those languages.
后来,他跟圭多 ,Python的作者,和Guido给他建议,他说,“只是做了很好的工作。” 其背后的想法是Python也存在此问题。 它可以与许多动态语言(例如Ruby,JavaScript,Perl)竞争,并且也位于同一问题域中。 最终,所有这些语言以其自身的成功而告终,他们拥有自己的专用社区来使用它们,享受着这些语言。
People prefer different languages for a reason. Similar to JavaScript frameworks, people would prefer different frameworks for a reason. There is not going to be this one true framework that just makes everyone happy. The more important part is, make it better for the people who actually enjoy your framework. Focus on what you believe is the most valuable thing in your framework and just make sure you’re doing a great job, rather than worrying about how you compare to others.
人们倾向于使用不同的语言是有原因的。 与JavaScript框架类似,出于某种原因,人们倾向于使用其他框架。 不会有一个能让每个人都开心的真实框架。 更重要的部分是,让对真正喜欢您的框架的人更好。 专注于您认为是框架中最有价值的东西,只需确保自己做得很好,而不用担心与他人的比较。
That’s a hard question because the scope of Vue.js has definitely increased over time. We now have this whole framework ecosystem, and we’re also expanding to explore things like Weex which is rendering Vue components to a native UI.
这是一个很难的问题,因为Vue.js的范围肯定随着时间的推移而增加。 现在,我们已经拥有了整个框架生态系统,并且我们还在扩展以探索诸如Weex之类的东西 ,该事物将Vue组件呈现到本机UI。
I also really care about the approachability part of Vue, which is rooted in the belief that technology should be enabling more people to build things.
我也真的很在乎Vue的可及性部分,它源于一种信念,即技术应该使更多的人能够建造东西。
Anime, I read a lot of manga. In case you haven’t noticed, Vue’s releases are code-named with anime names. It started in .09, every big release code-name is incrementing with a letter. 2.0 is G which is Ghost in the Shell. F is actually reserved for 1.1. 1.0 was Evangelion.
动漫,我读了很多漫画。 如果您没有注意到,Vue的发行版将以动漫名称进行代号命名。 它始于.09,每个大发行版代码名称都以字母递增。 2.0是G,它是Shell中的Ghost。 F实际上是为1.1保留的。 1.0是新世纪福音战士。
I really enjoy karaoke.
我真的很喜欢卡拉OK。
General technology. It’s weird because I’m not super excited about AR or VR stuff. I really want to talk about something that’s closer to developers. Something like what Guillermo is doing with Now. Developers build tools for developers, and the developer experience of these tools, that is also user experience but for developer tools.
通用技术。 这很奇怪,因为我对AR或VR的东西并不超级兴奋。 我真的很想谈谈更接近开发人员的内容。 类似于Guillermo对Now所做的事情。 开发人员为开发人员构建工具,以及这些工具的开发人员体验,也就是用户体验,但适用于开发人员工具。
Obviously TJ Holowaychuck and Guillermo Rauch. I’m not a computer science major. I basically learned programming through just random online resources and books, but an important way that I learned was just by reading other people’s code. When I read TJ’s code, I always feel like it’s really elegant. That’s the word that comes to mind and that affected me a lot. TJ is definitely a hero to me.
显然是TJ Holowaychuck和Guillermo Rauch 。 我不是计算机科学专业的。 我基本上是通过随机的在线资源和书籍学习编程的,但是,我学习的一个重要方式就是阅读其他人的代码。 当我阅读TJ的代码时,我总是觉得它真的很优雅。 那就是我想到的这个词,它对我影响很大。 TJ绝对是我的英雄。
This project is made possible with sponsorships from frontendmasters.com, egghead.io, Microsoft Edge and Google Developers.
来自frontendmasters.com , egghead.io , Microsoft Edge和Google Developers的赞助使该项目成为可能。
Donate to support this project.
捐款支持该项目 。
To suggest a maker you’d like to hear from, please fill out this form.
要建议您想听听的制造商,请填写此表格 。
You can also send feedback to betweenthewires on Twitter.
您还可以发送反馈betweenthewires在Twitter上。