Dropbox 用什么语言开发的?(Python在各个平台都是全能的,特别是有PyObjC真没想到)

Dropbox 绝大部分是用 Python 开发的。用到 Python 的地方有:服务器后台、客户端、Dropbox 网页版前段、API 后台、数据分析。

在服务器端、桌面版客户端使用的是 Python 的官方实现 CPython。Android 和 iOS 上由于内存限制使用的是原生应用(Java、Obj-C)。

用到过的 Python 技术包括:

  • Twisted:基于事件的网络框架,他们用这个做了服务器端推送通知服务
  • PyObjC:OS X 客户端系统调用
  • PyWin32:Windows 客户端系统调用
  • WxPython:跨平台客户端界面
  • ctypes:外部功能调用,用来调用系统功能(如 Windows 的 DLL)
  • py2exe:Windows 平台打包工具
  • py2app:OS X 平台打包工具

PyCon 2011 上 Dropbox 的 Rian Hunter 对此有过介绍 http://ontwik.com/python/pycon-2011-how-dropbox-did-it-and-how-python-helped/

作者:Rio
链接:http://www.zhihu.com/question/19550782/answer/12278781
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

时间: 2024-11-16 08:50:03

Dropbox 用什么语言开发的?(Python在各个平台都是全能的,特别是有PyObjC真没想到)的相关文章

python是c语言开发的

python是c语言开发的. #c语言,没有字符串:字符串使用字符组表现 hello —五个字符 字符数组 [’h’,’e’,…’o’] 所以python中如果对一个字符串进行修改,就是在内存中开辟了一块内存. 比如hello 改成helloaa 并不是将[’h’,’e’,’l’..,o]数组后面加上[a,a] 而是内存中开辟一个空间把前面的hello重写后加上[a,a] 即是:[’h’,’e’,’l’..,’o’,’a’,’a’] 那为什么不是添加,而是重新开辟空间呢? 因为内存的使用地址是连

sklearn:Python语言开发的通用机器学习库

引言:深入理解机器学习并完全看懂sklearn文档,需要较深厚的理论基础.但是,要将sklearn应用于实际的项目中,只需要对机器学习理论有一个基本的掌握,就可以直接调用其API来完成各种机器学习问题.本文选自<全栈数据之门>,将向你介绍通过三个步骤来解决具体的机器学习问题. sklearn介绍 scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了.其完善之处不仅在于实现的算法多,还包括大量详尽的文档和示例.其文

Python语言开发环境之Spyder

https://blog.csdn.net/qq_34706955/article/details/80807091 Spyder(Scientific PYthon Development EnviRonment)是一个强大的交互式 Python 语言开发环境. 它有一个Editor(编辑器)用于编写代码:Console(控制台)可以评估代码并且在任何时候都可以看到运行结果:Variable Explorer(变量管理器)可以查看代码中定义的变量.还有其他的一些设备可以帮你高效地开发代码. I

Go语言开发环境配置

一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具(https://godoc.org/),更有很多大公司开始或迁移到go语言,一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google.CloudFlare

(转载)Go语言开发环境配置

一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具(https://godoc.org/),更有很多大公司开始或迁移到go语言,一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google.CloudFlare

PyCharm Golang开发环境搭建(最方便快捷的GO语言开发环境)

IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime还要输入python脚本,粘进去通不过,头疼. 突然悟出一个道理,如果你觉得当前手上的事情变得非常痛苦的时候,不是事情本身的问题,是你没找到好的解决方法的问题,或者说,“不是事情太痛苦,是你太笨了”. 在不停的装插件,尝试过程中,突然发现,PyCharm跟Idea一样,也是支持Go插件的,立马悟到,

Python 全栈开发一 python初识

1.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. Python是一样什么类型的语言 Python是一种强类型定义的解释型的动态语言. 强类型与弱类型语言的区别: 强类型定义语言 一种总是强制类型定义的语言.Java和Python是强制类型定义的.如果你有一个整数,如果不

Go语言开发(五)、Go语言面向接口

Go语言开发(五).Go语言面向接口 一.Duck Typing简介 1.Duck Typing简介 对于一门强类型的静态语言来说,要想通过运行时多态来隔离变化,多个实现类就必须属于同一类型体系,必须通过继承的方式与同一抽象类型建立is-a关系.而Duck Typing则是一种基于特征,而不是基于类型的多态方式.Duck Typing仍然关心is-a,只不过is-a关系是以对方是否具备相关的特征来确定的.是否满足is-a关系可以使用所谓的鸭子测试(Duck Test)进行判断."当看到一只鸟走起

Go语言开发(六)、Go语言闭包

Go语言开发(六).Go语言闭包 一.函数式编程 1.函数式编程简介 函数式编程是一种编程模型,将计算机运算看作是数学中函数的计算,并且避免了状态以及变量的概念.在面向对象思想产生前,函数式编程已经有数十年的历史.随着硬件性能的提升以及编译技术和虚拟机技术的改进,一些曾被性能问题所限制的动态语言开始受到关注,Python.Ruby和Lua等语言都开始在应用中崭露头角.动态语言因其方便快捷的开发方式成为很多人喜爱的编程语言,伴随动态语言的流行,函数式编程也开始流行. 2.函数式编程的特点 函数式编