1. 程式人生 > 其它 >開源專案——5種技術編寫的7個demo工程

開源專案——5種技術編寫的7個demo工程

android/ios/flutter/angular/java web 5種技術編寫的7個demo工程,有點用,可以看看,github地址

android_demo

1.專案簡介

《第一行程式碼》第二版書中示例demo,時間過去比較久,有一些API變動,自己動手寫了一遍。

2.環境簡介

語言:java 1.8

依賴庫:詳見android_demo/app/build.gradle下的dependencies

3.專案截圖

4.開發流程與程式碼邏輯簡述

  • 開啟Android Studio配置安卓開發環境
  • MainActivity為入口檔案,修改其中的跳轉頁面,體驗不同的demo

5.技術準備

6.總結

因為在學習之前有java基礎,直接閱讀此書沒有遇到什麼困難,一些API的變化搜尋引擎就解決了。作為一名Flutter工程師,收穫了一些安卓系統特有的知識,如服務,內容提提供器,廣播,通知,請求許可權,除錯安卓程式,打包構建等等。FLutter作為依附於native系統的技術,熟悉native系統的特性還是很有比較必要的,雖然大部分知識FLutter工作中用不到,但感覺收穫還是蠻大的。在今年的學習計劃結束後,後續可能把native系統的學習作為首要目標。

android_web

1.專案簡介

自己寫的一個登入demo,呼叫了真實的介面,主要就是想模擬一下真實的android開發流程。

2.環境簡介

語言:java 1.8

依賴庫:詳見android_demo/app/build.gradle下的dependencies

3.專案截圖

4.開發流程與程式碼邏輯簡述

  • 開啟Android Studio配置安卓開發環境
  • 編寫xml佈局檔案
  • 在Activity中獲取頁面控制元件,給按鈕新增監聽事件
  • 將輸入框中的元素通過網路請求傳送給伺服器,拿到返回結果後將json序列化為Java物件。

5.技術準備

6.總結

一個簡單的小APP,包含了移動開發中必備的環節,網路請求,獲取頁面元素,json序列化。官網文件+搜尋引擎+一點經驗解決工作中百分之九十五的問題。。

angular_demo

1.專案簡介

使用Angular框架和TypeScript編寫的前端專案。主要包含一些web開發中常用元件的展示。

2.環境簡介

語言:TypeScript

框架版本:Angular CLI:11.2.6

包管理工具:Node:14.16.0

3.專案截圖

4.開發流程與程式碼邏輯簡述

  • 搭建開發環境
  • 建立工程,安裝元件庫NG-ZORRO和ng-bootstrap
  • 在專案中引入所需要的具體元件
  • 在html檔案中繪製佈局,在ts檔案中編寫邏輯

5.技術準備

6.總結

很簡單的開源專案,當時寫這個主要是為了熟悉一下angular元件。作為github上自己唯一的前端專案,我感覺很沒水平,連最起碼流程頁面都沒有一個,不過自己本身前端水平也不高,也不打算長期在這方面發展,計劃之內還有其他的事情,只能接受這種不完美了。

在職業生涯的初期,自己一直在寫Angular,從Angular.js到Angular7,8,11,由於對前端沒有一點的興趣,唉,工作之外的時間都去學java寫後臺了,一直也沒有深入瞭解angular,就是CRUD,但是這種工作和私下學習分開的學習方式對我來說效果很不好,導致JAVA伺服器端開發和前端開發都沒有深入,其實自己現在也面臨著這樣的問題,工作兩年,java web,angualr,flutter,android,iOS,除卻FLutter有一些積累外,其他的技術都是勉強應付工作,環境和個人認知導致的吧,自己這隻有廣度沒有深度的技術棧,從資本主義的角度來看,專精一門的工人生產力更高,也就是所謂的大廠螺絲釘。提高自己的生產力,就是讓自己更值錢,接下來的一年也會朝著專精一門的方向發展,除卻計算機基礎知識的學習外,在flutter和android上提高自己的技術深度。爭取在工作三年之際給自己一個滿意的答案。

雖然自己一直苦於沒有技術深度,但是這種技術廣度也讓自己對整個產品的開發流程更加了解,其實很多技術知識都是可以複用的,像本篇文章中介紹的框架Angular的響應式程式設計,在FLutter中也同樣適用;還有端開發的統一流程,傳送請求,獲取資料,更新UI;就是後端和前端的某些知識也是可以通用的,在寫後臺的過程中學習SQL知識,在端開發的本地儲存上一樣適用;面向物件還能在指令碼開發中發揮作用。還有程式架構mvc,mvp,mvvm之類,很多很多吧。

得益於這兩年來的自學,不誇張的說,讓自己培養出了較強的學習能力,學習能力其實是很抽象的,首先有學習的熱情,同樣學習熱情的兩個人,在學習過程中的速度和效果,就可以理解為學習能力。這兩年間自己的大腦裡已經有了一張圖譜,在面對新知識的時候,會敏銳的發現哪些知識和之前學的知識類似,並將他們關聯起來,哪些是需要重點學習的新概念,哪些是不太重要的知識。大腦其實是很懶惰的,碰到理解不了的東西他就會分散你的注意力,讓你去做一些不需要動腦的事情,我把這些事情稱之為精神垃圾。學習分兩種,向之前提過的將知識與原來學習過的東西聯絡起來不算真正意義上的學習,叫複習。只有哪些你理解不了的概念,大腦不想讓你繼續學下去的知識,才是有效的學習。面對這樣的情況,就是用意志力和大腦對抗,我就是要弄懂,一遍不懂就重複看,看懂為止。意志力又是一個新概念了,我覺得很多偉大的文學作品都增強了我的意志力,讓我勇於面對生活,活著就挺難了。

沒有文件的開源專案相當於沒有靈魂,自己專門騰出一些時間,給這些專案賦予靈魂,為測試不同的專案配置了很多環境。好處就是自己的開源專案寫的沒那麼多,工作量尚可,自己的記憶也還不錯,專案的一些流程和細節都還能想的起來。還沒有靈魂的專案不多了,爭取這周搞完,以後寫專案寫完之後一定要寫一份文件,這種堆積起來一次補齊的方式太累了。這兩年總是在迷茫和換工作中度過,很多自己想做的事情都被準備面試耽誤了,這份工作無論如何也要做一年多,把自己想做的東西,想學的知識有條不紊的完成,也算對得起自己。

flutter_demo

1.專案簡介

flutter APP。

專案分五個資料夾:

  • 動畫元件
  • 工作中用到或是一些其他有趣的元件
  • 佈局相關的元件
  • 學習FLutter編寫的練習或是測試程式碼
  • 工具類,後面會單獨寫成一個專案

2.環境簡介

語言:Dart

fLutter版本:Channel master, 2.3.0-17.0.pre.414

3.專案截圖

4.開發流程與程式碼邏輯簡述

  • 元件比較多就不一一介紹了

5.技術準備

  • Dart基礎
  • FLutter API

6.總結

這個專案維護是比較多的,首頁上展示的只有動畫和一些有趣的元件,可以下載體驗一下,看看有沒有感興趣的功能。這個專案有單獨的地址,目前這個demo工程只是一些測試程式碼。

IOS_Demo

1.專案簡介

學習ios寫的小demo,比較零碎,看到感興趣的知識點就自己動手試一下,沒有什麼下載價值。

2.環境簡介

語言:Swift 5.4

UI框架:UIKit

3.專案截圖

4.開發流程與程式碼邏輯簡述

  • 更多的使用了storyboard拖拽控制元件的開發方式,簡單體驗了一下。

5.技術準備

6.總結

找的不少教程都不寫純程式碼,都是storyboard拖拽控制元件結合程式碼,不太喜歡這種方式.

寫在末尾

由於更換了電腦,兩個java相關的工程需要重新搭建環境補齊文件,暫時不打算更新了,感興趣的網上隨便搜幾篇技術文章就能搭。

後續如果自己想寫點後臺的話,就順手把這兩個readme補齊。