搜尋
首頁後端開發php教程五個步驟告訴你如何開發網路應用程式

這是一個常被問到的問題,問的理所當然。身為一個程式設計師,為什麼我就非要被認為知道如何開發Web應用程式?這個問題沒有一個簡單的答案,甚至那些教育機構都未必能清楚的知道;我上的那個大學並沒有提供任何關於這個主題的課程。所以,像大多數在這個領域裡的web開發人員一樣,我只是透過去做,去實驗才學會了這些。沒有人告訴我如何去做,我從給自己做點什麼東西開始,學會如何開發web應用程式是在這個過程中的副產品。這是學習任何語言的一個非常有效的方法。

你很幸運,我在這裡將會把如何開發一個web應用程式的主要過程都講一下。希望能幫助你入門。 `

Web應用程式與網站之間的區別

首先,我要說明,開發一個web應用程式跟開發一個網站是不一樣的。雖然在總體上有很大相似之處,但開發它們所需的時間有巨大的差異。那究竟web應用程式和網站有什麼不同呢?通常,維基百科能幫助我們解釋這個問題,讓我們來看看維基百科是如何定義應用軟體的:

應用軟體,通常也被稱為應用,指的是專門為幫助用戶執行一個或多個相關特定任務而設計的電腦軟體。企業軟體,會計軟體,辦公室套件,繪圖軟體,媒體播放器等都屬於這種軟體。

跟應用軟體相對照的是系統軟體和中間件,它們管理電腦效能,管理如何跟電腦集成,但通常這些工作並不會直接反映到使用戶受益的任務執行上。舉個例子,一個不是很恰當的實體類比,應用軟體跟系統軟體之間的關係就好比一個電燈泡和一個發電廠之間的關係,發電廠(系統軟體)只是產生電能,它自己沒有任何真正的用途,除非利用一個電燈泡這樣的應用工具才能為使用者提供服務。

從裡面,我總結出來自己對web應用程式的定義:

一個web應用程式是一個能夠讓用戶完成某些特定任務的網站。而一個普通的網站的主要目標是給用戶提供資訊(博客,新聞,指導,等)。

Web應用程式的開發過程

現在特徵已經弄清楚了,我們就可以開始定義開發一個web應用程式的整個過程了。當然,這依賴於工程的大小,過程中的某些步驟可能很小,在你的腦海裡就能完成這種工作,但把事情整個的了解一下總是有好處的。同時還有一點很重要的你要明白,這篇文章不會對每個步驟進行深層的描述。

步驟一:分析

開發一個web應用的第一步是分析你的需求。你此時應該定義出一個盡量周全的你的應用應該提供的功能清單。如果是你為一個客戶做這些工作,你需要明白他們想要什麼(要確保你們對方都知道對方在說些什麼)。從你們的討論中,你能總結出需求和軟體規格。你即使是為自己開發,我也建議你把希望這個web應用程式能夠做的功能寫下來。

步驟二:設計

一旦你弄清楚了這個web應用程式需要做哪些事情,你就可以開始設計了。這個步驟通常會反覆進行很多次,每次都把設計細化一些。你第一要做的是畫出頁面流程圖(畫在紙上,或使用軟體工具,憑各自所好吧。我喜歡用紙,這樣我可以做更快速的改變)。頁面流程圖通常是很抽象的黑白繪畫,畫出你將要實現的web應用的樣子(你可以加一些色彩,但盡量保持簡單)。

這個步驟能夠讓你知道你的應用程式最終會是什麼樣子。跟37signals倡導的相反,我建議使用一些字詞描述,適度細化。當我想到一個很好的想法時,或想到事情該如何做時,我會把它標註到紙上(例如,當點擊這個按鈕時應該使另外一個元素改變或隱藏,我會把這寫在流程圖上)。

當你對做出的草圖滿意後,你可以開始製作實體模型了。

實體模型仍然是一些圖案,但有色彩和細節。最終的實體模型看起來應該像你將要實現的web應用的一個截圖。如果你為一個客戶開發,他會看看這些東西,並給你他的認可。然而,很多人都喜歡跳過這一步(大多數都是非設計人員),他們喜歡直接奔向網頁原型。

原型是用HTML開發出來,使用CSS渲染(有時也是有Javascript)。頁面版面要做出來,連結能夠點,顏色,字體,字體大小要設定好(如果你做了實體模型,這個會很容易)。這一步非常的重要,因為這裡所有的東西都能用於你最終的應用。如果允許的話,在你的原型上做一些可用性測試,從長期的效果來看,這能讓你避免大量的失誤。

在這個步驟的最後,你基本上就知道了你的web應用是如何組織到一起的了。登入頁面有些什麼,使用者如何從主頁轉向到各個頁面。

步驟三:實作

選擇一個框架

現在我們已經知道要去開發什麼東西,那就要把它做出來了。這一部分的工作很多,你大部分的時間都要花在這個上面。你第一個要做的決定是如何著手,採用什麼樣的技術,什麼框架。你有很多選擇的餘地,你需要選出一個適合你的。以下是最常用的框架的清單:

ASP.NET

PHP 上的任何一個流程的框架

Python with Django

Ruby on Rails

沒有明確的標準說哪個框架最好。它們都各有不同,每個都有自己的長處。最重要的是你要知道它們任何一個都能讓你發展出好用的web應用。

開發

一旦你知道如何去開發,那就要甩開臂膀開乾了。這個開發工作可以看作有很多塊,但說到底,這都是標準的程式設計活動了。在後台,你要創建類,對象,服務,過程,以及持久層來把這些對象保存到資料庫中。後台是整個應用的核心,對任何應用來說,它跟普通的程式設計沒有什麼區別。接著是前台的開發,你現在寫的程式碼才是真正給使用者使用的操作介面。你把後台的程式和原型介面整合在一起,把系統各部分整合在一起。你也可以把你在開發過程中想到的一些很炫的小功能用JavaScript實現。

再說一次,有很多種途徑可以實現後台程式。建議你去讀一讀與你選擇的框架相關的資料,弄清楚如何實現這一部分的工作。通常,這些知識會跟物件導向程式設計有關,但有些框架正在慢慢向領域驅動的設計發展。

步驟四:打磨拋光

現在應用程式已經開發出來,各個獨立的模組也整合到了一起。你需要透過測試來確保你在步驟一中定義的需求和軟體規格是否被實現(這個問題在你開發的整個過程中都要記在腦中)。你要確保那些愚蠢的用戶不能透過試圖做一些你還沒有實現的操作而把你的應用程式弄壞。你同時也要確保你的程式能夠在各種瀏覽器裡(希望不是IE6)都能正確的運作。

現在也是你做一些小的調整,改進你的應用程式給人的感覺的時候,讓它趨於完美。

步驟五:發布和後續工作

這最後一步(但不是就此完結)是發布你的應用,讓用戶能夠真正使用它(如果這個應用是個公眾開發的應用,別忘了做新聞宣傳)。如果你願意,先發布一個Beta版,這樣只有一小部分用戶能夠發現你的應用裡的大問題(因為你的程式里肯定會有bug),他們會幫助你改進程式的品質。不要忙著增加功能,要專注於把你目前的程式變的穩固。

當經過了beta階段,你的程式已經變得十分的穩固,聽取用戶回饋的意見,自己試用一下自己的應用,你可以開始思考如何使應用變的更好。找出不和諧的地方,消除掉。以後每次的迭代都要經過上面所說的五個步驟,但就像我最初說的,你現在已經有了一個可以運行的應用程序,你很容易直接在心裡完成這些步驟,直接奔向在程式碼裡測試你的功能。

恭喜,你已經自豪的成為一個web應用程式的作者了。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您如何防止與會議有關的跨站點腳本(XSS)攻擊?您如何防止與會議有關的跨站點腳本(XSS)攻擊?Apr 23, 2025 am 12:16 AM

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

您如何優化PHP會話性能?您如何優化PHP會話性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

什麼是session.gc_maxlifetime配置設置?什麼是session.gc_maxlifetime配置設置?Apr 23, 2025 am 12:10 AM

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

您如何在PHP中配置會話名?您如何在PHP中配置會話名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

您應該多久再生一次會話ID?您應該多久再生一次會話ID?Apr 23, 2025 am 12:03 AM

會話ID應在登錄時、敏感操作前和每30分鐘定期重新生成。 1.登錄時重新生成會話ID可防會話固定攻擊。 2.敏感操作前重新生成提高安全性。 3.定期重新生成降低長期利用風險,但需權衡用戶體驗。

如何在PHP中設置會話cookie參數?如何在PHP中設置會話cookie參數?Apr 22, 2025 pm 05:33 PM

在PHP中設置會話cookie參數可以通過session_set_cookie_params()函數實現。 1)使用該函數設置參數,如過期時間、路徑、域名、安全標誌等;2)調用session_start()使參數生效;3)根據需求動態調整參數,如用戶登錄狀態;4)注意設置secure和httponly標誌以提升安全性。

在PHP中使用會議的主要目的是什麼?在PHP中使用會議的主要目的是什麼?Apr 22, 2025 pm 05:25 PM

在PHP中使用會話的主要目的是維護用戶在不同頁面之間的狀態。 1)會話通過session_start()函數啟動,創建唯一會話ID並存儲在用戶cookie中。 2)會話數據保存在服務器上,允許在不同請求間傳遞數據,如登錄狀態和購物車內容。

您如何在子域中分享會議?您如何在子域中分享會議?Apr 22, 2025 pm 05:21 PM

如何在子域名間共享會話?通過設置通用域名的會話cookie實現。 1.在服務器端設置會話cookie的域為.example.com。 2.選擇合適的會話存儲方式,如內存、數據庫或分佈式緩存。 3.通過cookie傳遞會話ID,服務器根據ID檢索和更新會話數據。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中