1. 程式人生 > >小程式「Github開源社群」

小程式「Github開源社群」

來自公眾號 : DeveloperPython

01、初衷 

大概上上週我花了週末兩天的時間編寫了一款小程式並順利提交稽核。

也就在前兩天我的小程式 「Github開源社群」 歷經了兩週的稽核,終於。。。。。。成功釋出了,並且繫結到了公眾號。 

以下是這兩天時間的資料分析報表。

(實時訪問次數 pv)

粗略的分析下:實時訪問次數波動很明顯,當然這也是正常的。高流量基本保持在早上十點到中午。晚上還會出現個別熬夜的程式設計師在看程式碼。總體呈下降趨勢。

(訪問來源、訪問時長、訪問深度)

粗略的分析下:

訪問來源主要來自會話,其次來自掃小程式碼。

訪問時長最高點在 11-20 秒,當然還有大量使用者超過1分多鐘在使用小程式。

其次,訪問深度(訪問了多少個頁面),大部分只訪問了一個頁面,最深頁面在5個頁面的深度。

——————劃重點———–

那麼,為什麼我會選擇去編寫一個關於 程式設計師 的小程式呢?

首先,我是程式設計師。其次,也是因為前段時間我一直在更新關於Github的教程。因此,為了方便自己,同時方便讀者和開發者,我選擇開發了一款關於Github的小程式。 

02、小程式的功能

「Github開源社群」目前的功能很簡單,包括每日開源趨勢、模糊搜尋想要的程式碼、檢視具體的程式碼文件以及倉庫的資訊。

用微信掃一掃下方,可體驗小程式。

效果圖

(啟動小程式,預設展示當天最熱開源專案,並支援檢視文件)


(支援搜尋程式碼)

後續將支援的功能

程式碼檢視
登入Github賬號,實現點贊等
社群
。。。

03、開發過程

雖說這是一款工具性的小程式,但確切的說是一款C/S的軟體。C端也就是整合進微信的小程式,S端的話就是我編寫並部署在阿里雲的服務端。

C端包含了wxml、wxss、json、js還有其他配置屬性。

S端的話我就直接用Python + web.py構建的,同時基於Github Api開發。

開發流程看似簡單,但對於我這個前端半調子來講,確實在開發C端遇到很多問題。當然,解決方法也就是Google + 大神。

04、如何開發一款自己的小程式

一個idea

這個idea很重要,因為自己的想法將會推動自己去實踐並完成。如果沒有一個自己的idea,那麼與其說學技術,倒不如說你是在說服自己擁有多一點的技能。

所以,idea很重要。

如果一開始我並沒有想好要去做什麼小程式,然後就上手去學習如何開發,我猜可能在後面的學習過程中我將會很難堅持。因為那樣是枯燥無味的,我並不知道自己用這個技術能做點什麼。

其次,Github開源社群的idea我在開發前一個禮拜都有了。外加晚上熬夜到一兩點,加上週末,大概花了兩三天時間就出來了。

所以,在學習開發小程式之前,先想好自己要做什麼。接下來,再動手去了解、學習這個技術,並運用起來。

需要了解的技術點

雖說小程式有一套自己的開發語言,但是,框架中主要的還是Page的生命週期和App的管理。其次,就是css的一些知識點。

所以,一開始你可以去小程式的官網著重瞭解Page生命週期和App的管理。其次,熟悉下小程式的那幾個重要的元件,其中包括View、button等等的。

接下來,你需要學習css的東西,這個其實不復雜,去w3c上面將css的關鍵知識點過一遍。瞭解前端的頁面是如何佈局的。

上手

js ---------- JavaScript檔案

json -------- 專案配置檔案,負責視窗顏色等等

wxml ------- 類似HTML檔案

wxss ------- 類似CSS檔案

在根目錄通過App來命名這四種檔案,也就是程式的入口。
App.js

這個檔案是必須要有的。其中主要寫的內容也就是上面提到過管理App生命週期的。
App.json

這個也是必須要有的。其中包含了整個小程式的全域性配置。
App.wxss

有點類似於css的,進行佈局用的。當然,這也是全域性的。
App.wxml

這個可選,是用來佈局小程式的介面的。有點類似於html。
關於具體的文件,連結在這。
https://mp.weixin.qq.com/debug/wxadoc/dev/component/
如果有需要詳細的講解,那麼可以留言,我考慮後續更新一系列的小程式開發教程。

05、個人開發經驗

雖說在不早之前,微信開放了個人小程式的開發資格。不過,你還是不能隨心所欲的開發小程式。

你能隨心所欲開發的功能也大概只有工具類的。假設,你要是想開發一個社群類的小程式,那麼你得要有諸多的證件。所以,在上手小程式之前,你需要看看小程式的開發規約,確保自己的idea是否需要各種證件。

其次,小程式的相容性,目前Github開源社群在 iOS 9.3.2 上出現 SDK Exception 。還沒找到合理的解決方案。

稽核時間較長。你能做的就是等待。

開發工具有時候響應很慢,同樣的你只有等待,畢竟目前開發工具並沒有到1.0版本。

等等的坑。。。

目前動態化的開發模式越來越火了,包括JSBridge、Weex、React等等的。所以,作為非前端的你是否也需要學習下前端的知識點呢?

行為藝術要持之以恆,iOS專用讚賞通道。