每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 t.me/openingsource


今日推荐开源项目:《用 proton-native 创建跨平台桌面应用》;GitHub地址

推荐理由:proton-native 是一个结合了 node, libui, react 的一个产物,使用 node 的环境, react 的语法和 libui 的跨平台调用 ui 控件的能力。proton-native 可用于构建跨平台的桌面应用,构建方式简单,构建的包轻量。

使用

在安装了 node 环境的前提下开始创建一个 app,注意 node 版本,自己测试了一下发现 8.0 会报错,用了最新的 9.7.1 才不会出问题,使用最新的 node 8.9.4 LTS 版本也应该问题不大。

写了一个小 Demo,获取天气信息并展示出来

 

只是纯粹获取信息展示出来,但是目前 proton-native 的表现还是非常糟糕的。

2018年3月12日:开源日报第4期

感想

初步使用 proton-native 后感觉和想象中还是有很大的差距,在构建 UI 方面确实没有 Electron 一类来得方便,并且在功能上还有很多缺失,连最基础的 Text 都会出现很多问题。从目前的扩展性和自由度角度出发还很难构建一个商业化的产品,但是对于自己尝试玩玩的小项目还是值得一试的。

如果要构建一个产品化的东西还是先考虑,Electron 和 Nwjs,React-Native 也有桌面版的在 macOS 下的 react-native-macos,当然如果要考虑跨平台的话,做一个壳放个 webview 也是一个选择哇。


今日推荐英文原文:《How I Hacked My University’s Registration System with Python and Twilio

推荐理由:学校的选课系统经常没法用?或者选不上心仪的课?…..不用担心,看看这位小哥,是如何使用 Python 和 Twilio 来 hack 掉他们学校的选课系统的。不过,建议最好不要在你们自己的学校做这件事….别人学校…嗯,可能也不合适。

 

How I Hacked My University’s Registration System with Python and Twilio

2018年3月12日:开源日报第4期

University students know the pain of trying to register for a class only to realize it’s full. At my university we didn’t even have a waitlist system for most classes. We had to resort to logging in and checking the site multiple times a day. This seemed like something a computer could do, so I set out to automate it with a bit of Python and the Twilio API.

Getting Started

Because the university’s course registration system is behind a password login, we’re going to use a simplified site I set up. For the purposes of this demo, it alternates each minute between having no open seats in CS 101 and having one open seat.

We’re going to use a few libraries to help us with this project. Assuming you already have pip installed, go ahead and install them by running the following pip command: