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