Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

企业 Python

关于 Python 等动态类型语言的一个错误观念认为它们用于构建企业级应用还不太可靠。然而,几乎所有的商业和政府机构都已经或多或少使用 Python 了,无论是作为不同的应用程序之间的粘合代码还是构建应用程序本身。

什么是企业软件?

企业软件是为机构的需求而非个人的需要创建的。为企业编写的软件通常需要与历史遗留系统,例如现有的数据库和单机应用程序进行整合。通常也需与 轻量级目录访问协议 (LDAP)活动目录 (AD) 这样的认证系统整合。

机构开发企业软件,包含大量的定制需求以适应其运营模式的具体需要。 因此,由于组织内部不同派系之间为争取软件能优先解决其各自的需求而罔顾他人的斗争,往往会导致软件开发过程变得异常复杂。

因企业软件建设过程涉及到许多利益相关者而产生的复杂局面,导致了大量的预算以及由机构中非技术人员执行的过度审查。而这些非技术人员通常在编程语言和框架的选择上妄加评断—而他们是不应该做出技术设计决策的。

为什么企业环境中存在对 Python 的误解?

传统大型机构使用静态类型语言如 C++、 .NET 和 Java 构建企业软件。上世纪80年代和90年代的大公司,如微软、Sun 和 甲骨文将这些语言标榜为”企业级“语言进行市场销售。其直接后果是,其它语言受到了冷落,并被看作不适应 CIO 的艰难技术环境。除了 Java、C++ 和 .NET,其它语言都被认为是有风险的,因而不值得投资使用。

此外, 在 20 世纪 90 年代, ”脚本语言“如 Python、Perl 和 Ruby 都还不够强大, 因为他们的核心标准库都仍处在开发阶段。像 DjangoFlask 以及 Rails (Ruby 语言) 这样的框架还没有产生。 那时的网络还刚刚开始,大多数企业应用还只是 Windows 系统上的桌面应用程序。 而 Python 根本不适合用于那样的环境。

为什么说 Python 现在适合于构建企业级软件?

从本世纪初到现在,许多动态类型语言及其生态系统有了很大的发展,而且在某些方面往往超越了其它生态系统。Python、 Ruby 以及其它之前被冷落的语言现在有了更广阔并且维护良好的开源生态系统,它们受到独立开发者和大公司的支持,包括微软、IBM、谷歌、Facebook、Dropbox、Twilio等等。

Python的开源库,特别是针对Web开发和数据分析的那些代码,对于任何语言来说,都是维护良好功能完备的典范。

同时,一些传统的企业软件开发语言如 Java 因受主要企业支持者投资不足影响,已经衰落了。当 Oracle 于2009 年收购 Sun 时,在 Java 中增加新的语言特性以升级到 Java 7 的计划已被拖了很多一段时间。Oracle 还在 Java 安装包中捆绑了不需要的广告软件,而 Python 社区绝不会容忍这种情况发生,因为这门语言是开源的,并不受某一公司控制。

其他的生态系统,如微软的 .NET 平台则发展的较好。微软在整个新世纪的早期阶段对 .NET 平台进行了持继投资以促进及发展。

然而,微软的企业产品,它们的应用程序服务器和相关软件往往有昂贵的许可费用。此外,微软也是开源运动的主要支持者, 尤其对于 Python 来说,他们的 Visual Studio Python 工具集 提供了一流的 开发环境

最终的结果是企业软件开发在过去的几十年中发生了翻天覆地的变化。CIO和技术管理人员,如果想继续为他们的业务侧客户提供商业价值的话,不再能忽视 Python 及伟大的开源社区在企业软件开发领域所取得的进展了。

开源企业 Python 项目

  • 由美国政府机构 消费者金融保护局 (CFPB)主导的 Collab 是一个为大型机构服务的企业内联网及协作平台。该项目目前已投入运行,并被成千上万的 CFPB 员工使用着。

  • Pants 是一个针对大型机构软件项目的构建系统,这些项目通常包含许多个由不同的编程语言编写的子项目 。

企业 Python 软件开发资源

关于用 Python 进行开发接下来想学什么?

编写 Python 应用应该用什么编辑器?

给我一份最佳 Python 学习资料吧。

为什么说 Python 是一门不错的编程语言?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

企业 Python

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介 » 企业 Python 2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目