python生态初识

pycharm专业版初探

前言

如果你有幸和我一样使用pycharm专业版IDE,并在创建项目的时候产生了如下疑问:

左边的导航栏中多了和社区版这么多的不同的项目类型都是一些什么东东?

所以,我去百度了一下,并做了以下整理。

希望能帮助大家了解python的一些生态知识。
python生态初识

Pure python

纯python项目。大概和社区版一样的基础功能。想必大家都很了解了。不多做介绍。

Django

Django是一个中量级(个人觉得比flask要厉害,但是比spring web比还是有差距)的web开发框架。下面是官方的自我介绍:

Django是一个高级Python Web框架,鼓励快速开发和简洁实用的设计。它由经验丰富的开发人员构建,可以解决大部分Web开发的麻烦,因此您可以专注于编写应用程序而无需重新发明轮子。它是免费和开源的。

  • 太快了。

    Django旨在帮助开发人员尽快将应用程序从概念转变为完成。

  • 令人放心的安全。

    Django认真对待安全性,并帮助开发人员避免许多常见的安全性错误。

  • 极具可扩展性。

    Web上一些最繁忙的网站都利用Django的功能来快速灵活地进行扩展。

Flask

来自百度百科简介

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,用户可以根据需要自己选择各种数据库。Flask自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、用户身份认证和数据库集成等功能。Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。Werkzeug库十分强大,功能比较完善,支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Javascript调试,提高用户体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。系统运行速度很快,页面加载过程会将源码进行编译形成python字节码,从而实现模板的高效运行;模板继承机制可以对模板内容进行修改和维护,为不同需求的用户提供相应的模板。目前Python的web框架有很多。除了Flask,还有django、Web2py等等。其中Diango是目前Python的框架中使用度最高的。但是Django如同java的EJB(EnterpriseJavaBeansJavaEE服务器端组件模型)多被用于大型网站的开发,但对于大多数的小型网站的开发,使用SSH(Struts+Spring+Hibernat的一个JavaEE集成框架)就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。

google app engine

一个网站应用构建的神器。下面百度百科介绍:

2008年4月7号,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。

这次发布的是没有包含全部特性的预览版,提供了一个配额系统,它限制了在预览期间应用免费可用的存储、CPU和带宽。一旦预览期结束,配额仍将免费,但是开发者需要按需购买额外资源。额外资源的价格尚未公布(甚至可能尚未确定)。

预览版的配额包括:3个应用/开发者、500MB存储/应用、2000封邮件/天(连续24小时)、10 GB入站带宽、10 GB出站带宽、200M CPU兆周、650k HTTP请求、2.5M Datastore API调用和160k URL Fetch API调用。 [1]

您可以使用 Google提供的免费域名(见扩展阅读)为您的应用程序提供服务,也可以使用 Google Apps 从您自己的域为它提供服务。您可以与全世界的人共享您的应用程序,也可以限制为只有您组织内的成员可以访问。

您可以免费开始使用 App Engine。注册一个免费帐户即可开发和发布您的应用程序以供全世界的人共享,而且不需要承担任何费用和责任。每个免费帐户都可使用多达 500MB 的持久存储空间,以及可支持每月约 500 万页面浏览量的足够 CPU 和宽带。

使用 Google App Engine 的试用版本期间,只可以使用免费帐户。您很快就能够购买其他的计算资源。 App Engine提供了一个web应用运行的框架,App Engine应用程序易于运行、部属和扩展。App Engine不同于其他方案:App Engine不是网格计算—它不能运行任意的作业。它不提供物理主机但提供了打包代码上传的方式。用户在只需要在代码中指定了response和request,剩下的运行和部署的任务就交给了App Engine。用户不需要预留资源,例如RAM、CPU或者诸如此类。

Google App Engine是Google提供的可扩展系统上构建网络应用程序。每个Google App Engine应用程序都可使用多达500MB的持久存储空间以及可支持每月500万综合浏览量的足够带宽和CPU。目前每个用户可以免费创建十个应用。

Google App Engine可让您在Google的基础架构上运行您的网络应用程序。App Engine应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。

pyramid

Pyramid 是一个小型、快速、实际的python web框架。

web2py

还是web框架,到这里我懵了。好吧都是开发web的。

scientific

PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等。

Angular CLI

Angular CLI 是一个命令行接口(Angular Command Line Interface),用于实现自动化开发工作流程。能让开发者更容易搭建和运行Angular工程。

AngularJS

JS前端框架

结尾

相信看到这里大家其实心里大致清楚了python的生态能干些什么。
python主要就是干数学(一切科学仿真)和web的啊!!!
但是个人觉得python的web解决方案和springboot还是有差距的。虽然Django等框架都以快速开发为核心设计的,其学习成本相对比较低,入门很快。
但是springboot和springcloud。。。。说实话太强大了。么法比较。