作者:我的小熊不见了 

文末送书,不要错过哦

大家好,我是萝卜


Python真的要一统天下了?_vue.js


Python 最近又在搞大事情,就在最近,github上突然多了一个神奇的项目


GitHub地址:https://github.com/pyscript/pyscript



并且最近一直在更新。一看这个名字就让我们不禁想起JavaScript,再去官网一看


pyscript官网:https://pyscript.net/


这家伙不仅模仿了JavaScript的名字,甚至连身子都想要取而代之!

官方对pyscript的期望是可以在浏览器上直接运行python。


<html>|
...|
<py-script> print('Now you can!') </py-script>|
</html>|


怀着一颗好奇心,我们把github上的代码克隆下来,发现是一个基于node的前端项目,那第一步先把他跑起来!

进入\pyscript-main\pyscriptjs目录下,


  1. 首先安装依赖 cnpm i
  2. 然后先在本地运行 npm run dev
  3. 打开 http://localhost:8080/


首页是一个纯纯的html文件,在\pyscript-main\pyscriptjs\examples目录下的index.html,如下图:


Python真的要一统天下了?_python_02


我们先来看看最简单的Hello world页面,如下图:


Python真的要一统天下了?_vue.js_03


页面确实够简单,再看看它的代码:



<body>
Hello world! <br>
This is the current date and time, as computed by Python:
<py-script>
from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
</py-script>
</body>

想必大家都可以看得懂这段代码,精彩的点在于,只要在<py-script>标签中,就可以直接使用python语法来进行操作了,并且似乎比JavaScript还要直接嗷,甚至还有点数据绑定的意思。

再来看看另一个经典的例子,todo_list,对应todo.html,如下图:

Python真的要一统天下了?_html_04


再看代码:


...
<py-script src="/todo.py"> </py-script>
...
<section>

<div class="text-center w-full mb-8">
<h1 class="text-3xl font-bold text-gray-800 uppercase tracking-tight">To Do List</h1>
</div>
<div>
<input id="new-task-content" class="border flex-1 mr-3 border-gray-300 p-2 rounded" type="text">
<button id="new-task-btn" class="p-2 text-white bg-blue-600 border border-blue-600 rounded" type="submit" pys-onClick="add_task">
Add task
</button>
</div>

<py-list id="myList"></py-list>
<div id="list-tasks-container" class="flex flex-col-reverse mt-4">
</div>

<template id="task-template">
<section class="task bg-white my-1">
<label for="flex items-center p-2 ">
<input class="mr-2" type="checkbox" class="task-check">
<p class="m-0 inline"></p>
</label>
</section>
</template>

</section>

在代码最上面竟然引入了一个.py文件,代码中使用pys-onClick绑定了add_task方法,而add_task方法在引入的todo.py中进行了声明:


def add_task(*ags, **kws):   ...

也就是说,pyscript真的可以做到和JavaScript在浏览器中运行时一样的调用体验,甚至还可以在浏览器中引用python类库!

在另一个todo_pylist.html页面中,提供了直接在浏览器中运行python命令的方法,


Python真的要一统天下了?_python_05


为了显示自己在处理复杂图形方面的能力,示例中还提供了和three.js结合而成的webgl示例页面:


Python真的要一统天下了?_python_06


和一些图表页面:


Python真的要一统天下了?_vue.js_07


可以看到,在功能实现上,pyscript基本可以实现JavaScript能够实现的功能。


不过从目前的体验上来看,在浏览器上运行python属实是够慢的,每次打开页面都得等好几秒,并且第一次打开页面的时候竟然还要下载python类库,github上已经有人提出了这个问题,并且官方回答他们已经努力了,并且还在继续努力。


让我们拭目以待吧~


Python真的要一统天下了?_python_08

周五送书

本次活动赠送北京大学出版社出版赞助的《Vue.js框架与Web前端开发从入门到精通》,最近几年Vue越来越火热,BAT等互联网大厂都在前端职位招聘中加入了精通Vue.js框架的要求,就连饿了么公司的技术团队也专门为Vue.js设计了UI框架体系。本书的实操案例都是笔者独立完成的实际项目,有着对标市场实际需求的参考价值,同时本书提供的框架模式可以让读者应用于其他项目,从而提高开发效率,减少开发弯路。

Python真的要一统天下了?_vue.js_09

内容简介

本书从Vue.js框架技术的基础概念出发,逐步深入Vue.js进阶实战,并在最后配合一个网站项目和一个后台系统开发实战案例,重点介绍了使用Vue.js+axios+ElementUI+wangEditor进行前端开发和使用组件进行Vue单页面网页复用,让读者不但可以系统地学习Vue.js前端开发框架的相关知识,而且还能对业务逻辑的分析思路、实际应用开发有更为深入的理解。

本书语言平实,用词诙谐,案例丰富,实用性强,特别适合刚入社会的职场新人、Vue.js框架的初级读者和进阶读者阅读,也适合希望从后台开发转型做前端的程序员等其他编程爱好者阅读。另外,本书也适合作为相关培训机构的教材使用。

作者简介

舒志强,从事IT行业12年,负责前端设计、Flash AS2/AS3脚本编写、前端布局开发(JavaScript原生或Vue.js框架)、大数据可视化开发(ECharts)、GIS地图开发(百度)、Java后台接口开发(SSM框架)、整个项目策划与交付。

曾先后为浙江大学水质研究所(现名浙江大学控制科学与工程学院工业控制研究所)、杭州华数传媒电视、银江股份设计项目;与中兴软创有多个合作项目;独立设计完善了杭州未来科技城梦想小镇智慧旅游项目、贵州安顺黄果树二期(关岭县智慧旅游系统);完成荣盛房地产发展股份有限公司前台和后台的前端开发工作。目前任职于中软国际有限公司高级前端开发工程师。


送书方式

本次共包邮送书1本,通过抽奖小程序送出。公众号后台回复“20220701”获取抽奖链接

PS

以后基本每周五都会进行送书活动,小伙伴们多多来参与呀,另外如果有比较好的送书参与形式,也可以微信私聊或者后台留言哈,萝卜哥会酌情考虑的