我們在寫一個網站或者一個網頁界面的時候,需要學習很多東西,對小白來說很困難!比如我要做一個簡單的網頁交互:
要懂後端,比如Python裏面的Django或者Flask,或者是Java裏面的SpringBoot
要懂前端,現在都叫大前端了(因爲很複雜),比如前端的框架Vue/React, 然後頁面的美化框架Bootstrap ,還有html ,csss 和Javascript 三駕馬車.
天啊,聽聽頭都大呢!其實我就給老闆做一個簡單的交互的頁面,而且我只會Python ,有沒有很簡單的辦法可以做到呢。
今天小編在Github上逛的時候,找到一個非常酷的神器,名字叫remi ,目前收穫了2300個贊。
star並不是很多,但是這個庫可是選入2018年的十大明星庫,號稱是一個獨立的GUI庫,而且最牛逼的就是這個庫竟然小於 100K,是否很神奇呢,我們一起來體驗看一下特性:
跟其他GUI庫區別? Kivy,PyQT和PyGObject都需要主機操作系統的本機代碼,這意味着安裝或編譯大型依賴項。Remi只需要一個Web瀏覽器即可顯示您的GUI。
我需要懂HTML嗎? 不,只需要使用Python進行編碼。
它是開源的嗎? 當然!Remi是根據Apache許可發佈的。開源,免費!
我需要某種網絡服務器嗎? 不,自帶網絡服務器。
1
安裝
如何安裝呢,因爲是Python 庫,直接用pip 即可
pip install remi
如果是沒有網絡的,或者服務器跟外網不通的,可以離線安裝。下載這個包,然後用install 安裝
python setup.py install
2
快速體驗
我們來快速看一下,這個簡單的Hello world網頁。
這裏麪包含了一個 2個元素:
文本Hello world ;
一個Press me的按鈕;
點擊這個按鈕還會改變Hello world的文本內容,看點一下就變成了Button pressed.
上面這個簡單的效果,其實只用了20來行Python代碼,都是原生的Python代碼,沒有用一行HTML .
我們來看一下源碼:
整個的代碼的結構層次還很清晰的:
首先聲明一個MyApp類,這個類會繼承母框架App裏面的功能,可以認爲是一個網頁畫布;
然後在這個畫布裏面有3個函數:
init主要是做類的初始化工作;
main主要對這個畫布佈局進行設計,包含一個文本和一個按鈕。
on_button_pressed主要是控件的相應,點擊觸發函數
最後是start來啓動這個類,就會生成一個本地的網站鏈接
3
更多複雜的網頁元素
看完上面的設計是不是就覺得跟Python裏面大名鼎鼎的tk庫很相似啊,上面的只是開胃菜,這個remi還能提供更復雜的gui界面元素。
上面的是一個完整的demo頁面,基本上常見的控件元素的都包含了,比如有菜單欄,文本,按鈕,單選框,進度欄,下拉框,表格,彈出框,按鈕選取文件路徑,文件樹形結構,日期等幾十種控件。
有了這個神器,是不是可以告別Python裏面的tk庫,也可以省去學習HTML的時間,還等啥,趕緊下載嚐鮮一下吧。
鏈接:
https://github.com/dddomodossola/remi
本文轉載來自 程序員GitHub, 轉載請聯繫小編
近期十大熱門:
點的“在看”,否則就看不到我了555