這兩天在讀Peter Levels的書(shū)籍《The Indie Maker Handbook》,第二章Build讓我受益匪淺,幾個(gè)問(wèn)答觀(guān)點(diǎn)分享給大家。原文用了GPT4做翻譯,排版會(huì )有個(gè)別錯誤的地方,但不影響理解:
一、要構建網(wǎng)站,該學(xué)習編程嗎?
Peter Levels:是的,我建議你學(xué)。
現在學(xué)習變得越來(lái)越容易。對新手來(lái)說(shuō),學(xué)習編程似乎很難,因為人們的方法是錯誤的。你可能會(huì )騎自行車(chē),對吧?當你開(kāi)始“學(xué)習騎自行車(chē)”時(shí),你有沒(méi)有想過(guò)你會(huì )成為蘭斯·阿姆斯特朗?沒(méi)有。而你可能也不是。你只是會(huì )騎,但你沒(méi)有參加世界錦標賽。
學(xué)習編程也是一樣,這并不意味著(zhù)你必須很棒,或者甚至很擅長(cháng)。只要知道一些基礎就可以把東西拼湊起來(lái)。當我編程時(shí),每天我都要谷歌如何做我不知道的事情。編程是持續學(xué)習的。
你可以問(wèn)任何程序員,他們都會(huì )給出相同的答案。好消息是,如今互聯(lián)網(wǎng)上有如此多的信息。幾乎你面臨的每一個(gè)問(wèn)題,都有人在你之前遇到過(guò)。
如果你在尋找“學(xué)習編程”的方法,我會(huì )說(shuō)不要選擇課程、訓練營(yíng)或導師。它們通常需要很多錢(qián),而且它們不會(huì )教你編程的核心:自己解決問(wèn)題。這是最大的技能?;◣讉€(gè)小時(shí)到幾天的時(shí)間來(lái)讓某事工作。不要放棄,繼續嘗試。
如果你想學(xué)習編程,我的建議是:嘗試用 HTML、CSS 和一些 JavaScript 構建你的想法,看看你能走多遠。只要谷歌每件你不知道的事情。從“如何制作一個(gè) HTML 頁(yè)面”開(kāi)始。然后是“如何在 HTML 中使文本變色”。然后是“如何在 HTML 中制作一個(gè)按鈕”。等等,繼續搜索。
你會(huì )驚訝于你能走多遠,這就是我(和許多其他人)學(xué)會(huì )編程的方式,自己弄清楚。
二、工具
Peter Levels:不要糾結于選編程語(yǔ)言,使用對你來(lái)說(shuō)學(xué)習或工作最容易的工具。
最高優(yōu)先級:使用你已經(jīng)知道的東西,看看你能走多遠。如果你開(kāi)始達到它的限制(對于大多數現代語(yǔ)言來(lái)說(shuō)似乎很難),再轉向一種語(yǔ)言或框架。
基本的輕量級技術(shù)棧是一個(gè)前端(客戶(hù)端),使用 HTML、CSS 和 JavaScript 構建。然后你使用 JavaScript 通過(guò)發(fā)起網(wǎng)絡(luò )請求與服務(wù)器通信。這個(gè)請求被你的后端(服務(wù)器)接收。這個(gè)
后端可以運行任何東西。我使用 PHP,但如今你也可以在服務(wù)器上運行 JavaScript(例如使
用 Express 或 Node.JS)。你出于安全原因將后端(服務(wù)器)與前端(客戶(hù)端)分開(kāi),因為你不希望讓一個(gè)用戶(hù)可以看到整個(gè)用戶(hù)數據庫,對吧?后端代碼連接到你的數據庫(SQLite、MySQL 或 PostgreSQL 都很棒)。
特別是 SQLite 很棒,因為它不需要你安裝很多東西,當你創(chuàng )建一個(gè)數據庫時(shí),它只是一個(gè)文件。它非常便攜。你可以將數據庫文件從服務(wù)器復制到服務(wù)器。有關(guān) SQLite 的誤解是它會(huì )很慢或不夠可擴展。那是胡說(shuō)。在許多情況下,SQLite 現在比文件系統本身還要快。
癡迷于工具、花大量時(shí)間學(xué)習工具,只會(huì )讓你迷失方向、分散了注意力。做出產(chǎn)品、并發(fā)布、盈利是你的第一目標。
三、如何不寫(xiě)代碼,來(lái)構建應用網(wǎng)站
Peter Levels的觀(guān)點(diǎn):不會(huì )編碼意味著(zhù)你可以使用現成的工具快速原型設計,而不會(huì )迷失在龐大的代碼庫中。
如果你真的不想學(xué)編碼怎么辦?我會(huì )展示你如何使用現成的工具構建一個(gè)基本的原型。你將能夠制作一個(gè)登陸頁(yè)面,讓用戶(hù)輸入數據,操作和處理數據,向他們收費,給他們發(fā)送消息,并為你的承包商(或你)添加一個(gè)任務(wù),而不需要編寫(xiě)一行代碼。
我會(huì )討論每個(gè)部分使用的工具,并給出一些例子。這些工具顯然可能會(huì )變化,可能已經(jīng)過(guò)時(shí)。如果是這樣,一般概念仍然存在。我會(huì )給你一些指導。由你來(lái)連接所有東西并執行。要有創(chuàng )造力
①構建登陸頁(yè)面
要讓用戶(hù)進(jìn)入,你需要一個(gè)登陸頁(yè)面。幸運的是,現在有現成的網(wǎng)站構建器,提供了可以定制的模板。最著(zhù)名的之一是 Squarespace。更近期的獨立網(wǎng)站制造商是 Carrd。其他的有 Tilda 和 Wix。如果你需要更多自由度以及稍后添加自定義代碼的能力,嘗試 WordPress,它允許你寫(xiě) PHP或 JS 來(lái)定制你的網(wǎng)站并輕松添加功能。
你會(huì )希望使用你的登陸頁(yè)面來(lái)解釋你的產(chǎn)品或服務(wù)。并從那里引導他們走向所謂的行動(dòng)號召(或 CTA)。你想從用戶(hù)那里得到什么?你想保存他們的姓名和郵箱嗎?你想讓他們付錢(qián)給你嗎?在頁(yè)面中心頂部添加一個(gè)大的彩色按鈕作為行動(dòng)號召將引導他們點(diǎn)擊那里。當他們點(diǎn)擊時(shí),將他們鏈接到下一部分(在大多數情況下意味著(zhù),從用戶(hù)那里收集數據)
②從用戶(hù)那里收集數據
你需要一個(gè)表單,用戶(hù)可以在其中輸入他們的數據。這可能是他們的姓名、電子郵件地址、電話(huà)號碼或任何你需要的信息。有很多工具可以創(chuàng )建表單并將數據直接發(fā)送到你的數據庫或電子郵件。Typeform 是一個(gè)流行的選擇,因為它用戶(hù)界面友好,看起來(lái)很現代。Google 表單是一個(gè)更基本的選擇,但它是免費的,并且可以很好地完成工作。你可以將這些表單嵌入到你的登陸頁(yè)面中,或者你可以在行動(dòng)號召按鈕上設置一個(gè)鏈接,當用戶(hù)點(diǎn)擊時(shí)會(huì )將他們帶到表單頁(yè)面。確保你的表單簡(jiǎn)潔明了,不要要求用戶(hù)提供太多信息,否則他們可能會(huì )失去興趣。
③處理和操作用戶(hù)數據
在你獲得用戶(hù)數據之后,你可能想要對其做些什么。比如保存它,或者處理它然后保存,或者處理它并作為下一步驟做些事情。這就是 Zapier 出場(chǎng)的時(shí)候。它就像魔法。
Zapier 是一個(gè)網(wǎng)絡(luò )應用程序,它允許你將大多數你知道的網(wǎng)絡(luò )應用程序與其他應用程序連接起來(lái)。它就像中間的膠水。它可以簡(jiǎn)單地傳輸數據(或數據的一部分),比如從 Google 表格、收到的電子郵件或 Stripe 交易中獲取的數據,并發(fā)送到另一個(gè)服務(wù)?;蛘咚梢栽趥鬏斶^(guò)程中處理和改變數據,它甚至支持基本的 JavaScript 代碼:你可以創(chuàng )建自己的流程,讓它們做任何你想讓它們做的事情。并且它們會(huì )永久運行。這很像你在服務(wù)器上有的定時(shí) cron 作業(yè),但同樣,不需要你自己編碼。有很多預制的流程(所謂的“zaps”)。比如從 Google 表單獲取數據或將數據發(fā)送到 Google表單:或者從 Typeform 獲取數據并將其發(fā)送到 Dropbox:
④聯(lián)系用戶(hù)
在你處理了數據之后,你可能想要聯(lián)系你的用戶(hù)。幸運的是,Zapier 支持 MailChimp,這意味著(zhù)你現在可以自動(dòng)發(fā)送電子郵件:或者你可以讓 MailChimp 做點(diǎn)什么。反過(guò)來(lái),MailChimp 也有高級的內置自動(dòng)化功能:這意味著(zhù)你想要在用戶(hù)訪(fǎng)問(wèn)你的網(wǎng)站并輸入數據后做的任何事情都是可能的。比如在他們注冊后 14 天發(fā)送一封帶有另一個(gè)網(wǎng)絡(luò )應用鏈接的電子郵件?;蛘咴谒麄冏院蟮囊恍r(shí)內發(fā)送一張自動(dòng)化的 PayPal 發(fā)票。不僅僅是電子郵件。你可以通過(guò)電話(huà) API 服務(wù) Twilio 向用戶(hù)發(fā)送短信或機器人語(yǔ)音電話(huà)。然后你甚至可以保存他們在電話(huà)上的回應。并且反過(guò)來(lái),將其發(fā)送到另一個(gè)網(wǎng)絡(luò )應用程序!
⑤為承包商制定任務(wù)
如果你需要一個(gè)人來(lái)處理一些數據或與用戶(hù)合作怎么辦?將它發(fā)送到生產(chǎn)力軟件 Trello,在那里你將其添加為你的承包商要執行的待辦事項列表:
⑥向用戶(hù)收費
最重要的部分之一實(shí)際上是讓用戶(hù)付錢(qián)給你。直到最近,這還是保留給那些能夠將支付邏輯編碼在一起的人?,F在不再是了。網(wǎng)站建設工具 Carrd 支持 Stripe Checkout,這意味著(zhù)你只需連接你的 Stripe 賬戶(hù),就可以在你的登陸頁(yè)面上接受支付。
評論0