{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

獨立開發(fā)一套軟件系統(tǒng)需要開發(fā)者精通哪些技術(shù)?

yimoyimo 回答0 收藏2
收藏問題

10條回答

niceforbear

niceforbear

回答于2022-06-28 16:03

目前的軟件開發(fā)產(chǎn)品多以互聯(lián)網(wǎng)形式呈現(xiàn),所以就以一套互聯(lián)網(wǎng)產(chǎn)品為例來說一下開發(fā)者都需要掌握哪些技術(shù)。

一套完整的互聯(lián)網(wǎng)產(chǎn)品包括移動端(iOS、Android、WP)開發(fā)、Web前端開發(fā)和后端開發(fā)幾個大的組成部分,下面分別描述一下這幾個部分都需要學(xué)習(xí)哪些技術(shù)。

iOS開發(fā)需要學(xué)習(xí)OC或者Swift編程語言,Android開發(fā)需要學(xué)習(xí)Java或者是kotlin,而WP開發(fā)則需要學(xué)習(xí)C#。移動端開發(fā)屬于比較典型的應(yīng)用型開發(fā),大部分開發(fā)任務(wù)并不復(fù)雜,大部分人經(jīng)過一段時間的學(xué)習(xí)都能夠掌握。

Web前端開發(fā)涉及到Html、CSS和JavaScript幾個大的內(nèi)容,另外還需要學(xué)習(xí)一下比較流行的開發(fā)框架。Web前端開發(fā)的學(xué)習(xí)重點在JavaScript上,雖然JavaScript看起來比較簡單,但也是有一定難度的,而且JavaScript正在從前端走向后端,從發(fā)展的前景來看,JavaScript還是非常不錯的。

可以做后端開發(fā)的語言比較多,比如Java、PHP、Python等都是比較常見的選擇。Java的特點是性能比較穩(wěn)定,對于大型Web開發(fā)來說是一個不錯的選擇。PHP是Web開發(fā)領(lǐng)域使用普及率非常高的編程語言,PHP自身具備極大的靈活性,所以深受開發(fā)人員喜愛,被稱為“最好的編程語言”。Python語言的特點是簡單、直接和靈活,Python有豐富的庫支持,但是Python在性能上還需要提高。

另外后端開發(fā)還需要掌握數(shù)據(jù)庫知識和一些常見的開發(fā)模式,在當(dāng)前的大數(shù)據(jù)時代,也需要掌握如何在大數(shù)據(jù)平臺上完成軟件的開發(fā)。

以上這些只是一些基本的開發(fā)技能,要想開發(fā)出一套高質(zhì)量的軟件系統(tǒng)還需要掌握包括測試在內(nèi)的一系列工具,當(dāng)然往往也需要一個專業(yè)的開發(fā)團(tuán)隊。

作者簡介:中國科學(xué)院大學(xué)計算機(jī)專業(yè)研究生導(dǎo)師,從事IT行業(yè)多年,研究方向包括動態(tài)軟件體系結(jié)構(gòu)、大數(shù)據(jù)、人工智能相關(guān)領(lǐng)域,有多年的一線研發(fā)經(jīng)驗。

歡迎關(guān)注作者,歡迎咨詢計算機(jī)相關(guān)問題。

評論0 贊同0
  •  加載中...
why_rookie

why_rookie

回答于2022-06-28 16:03

看運行在什么系統(tǒng)吧。

我現(xiàn)在運營6-7款軟件,都是自己獨立開發(fā)的,大部分都是winform下的軟件系統(tǒng)。

編程語言主要是C#,其中腳本系統(tǒng)之前用的是python,后來因為性能問題都改成了C#。

官網(wǎng)需要跟軟件系統(tǒng)授權(quán)整合,后端類庫和數(shù)據(jù)庫需要保持一致,用的也是C#,前端用的是asp.net+jqurey+ajax等等,都是比較老的技術(shù),運行穩(wěn)定,性能可靠,也沒什么不好。

數(shù)據(jù)庫是sqlserver,單庫裝在ucloud最便宜的ECS上,十幾萬的用戶數(shù)量,15分鐘在線峰值大概700以內(nèi),足夠了。

其他的像xml、css、ras、md5、json、http、cookie、gdi+、h5等等,這些點的應(yīng)用也稱得上技術(shù)的話,那可就多了去了。

不過我一直認(rèn)為我們絕大部分做的都是應(yīng)用軟件,說白了就是使用別人已經(jīng)創(chuàng)造好的技術(shù),技術(shù)再牛你也不過是個使用者,充其量算是個應(yīng)用型人才。搞算法、搞理論或者制訂標(biāo)準(zhǔn)的,那才是真正的技術(shù)。

評論0 贊同0
  •  加載中...
roadtogeek

roadtogeek

回答于2022-06-28 16:03

一: 獨立開發(fā)一套軟件系統(tǒng)先了解下前后端

Web前端和后端開發(fā)的區(qū)別和要求

有時候自己會分不清,其實是因為前后端都了解,類似于全棧工程師,但又什么都不是很精通。那到底什么是前端、后端呢,我整理了一些企業(yè)要求級別的前端/后端基礎(chǔ),開發(fā)框架等。

Web前端開發(fā)

什么是 Web 前端?

Web前端,顧名思義是來做web的前端頁面的。這里所說的前端泛指web前端,也就是在web應(yīng)用中用戶可以看得見碰得著的東西。包括web頁面的結(jié)構(gòu)、web的外觀視覺表現(xiàn)以及web層面的交互實現(xiàn)。web前端分為網(wǎng)頁設(shè)計師、網(wǎng)頁美工、web前端開發(fā)工程師。首先網(wǎng)頁設(shè)計師是對網(wǎng)頁的架構(gòu)、色彩以及網(wǎng)站的整體頁面代碼,負(fù)責(zé)網(wǎng)頁美工只針對UI這塊兒的東西,比如網(wǎng)站是否做的漂亮。web前端開發(fā)工程師是負(fù)責(zé)交互設(shè)計的,需要和程序猿進(jìn)行交互設(shè)計的配合。

Web前端開發(fā)需要掌握的技術(shù):

1.熟練掌握前端開發(fā)技術(shù)(HTML5、JS、JSON、XHTML、CSS3),了解各項技術(shù)的相關(guān)標(biāo)準(zhǔn)

2.掌握Ajax異步編程,能夠?qū)懗龈咝阅堋⒖蓮?fù)用的前端組件;

3.對OO、MVC、MVVM等編程思想、前端框架有深刻理解,熟練掌握一個前端框架(常用前端框架 Vuejs,AngularJS,React,Bootstrap,QUICK UI,移動端有:Frozen UI,weUI ,SUI,MUI,AUI)了解其原理(框架有很多,選擇兩三個主流的框架,熟練,深度了解才可以);

4.善于Web性能優(yōu)化,可訪問性、對SEO等有良好的體驗;理解表現(xiàn)層與數(shù)據(jù)層分離的概念、 Web語義化(這些也是在找工作中,很有用的加分項);

5.了解前端安全機(jī)制,熟悉HTTP協(xié)議以及瀏覽器緩存策略;

6.熟悉常見JS開發(fā)框架源碼實現(xiàn),(如:prototype、jQuery、Mootools,Ext, Dojo,underscore、YUI、Kissy),至少熟練一種(當(dāng)然也不要去選一些用的人很少的框架,要明白大項目都是團(tuán)隊做,不能自己搞一套);

7.擁有良好的代碼編寫,設(shè)計文檔撰寫的經(jīng)驗,熟練使用Git等版本控制工具;

8.對常見的瀏覽器兼容問題有清晰的理解,并有可靠的解決方案;如IE6/7/8/9、 Firefox、Safari、Chrome;

9.具有較高的審美(這個很重要,多去見識一些模板,高端的項目,就能感覺到有多大的差距)

web后端開發(fā)

什么是 Web 后端?

Web后端更多的是負(fù)責(zé)產(chǎn)品的服務(wù)技術(shù)實現(xiàn),包括業(yè)務(wù)邏輯,數(shù)據(jù)存儲和處理,消息隊列處理等。以及產(chǎn)品服務(wù)端接口實現(xiàn),包括與前端的接口,第三方的接口,服務(wù)體系內(nèi)部接口等。后端開發(fā)主要是對數(shù)據(jù)庫進(jìn)行交互以處理相應(yīng)的業(yè)務(wù)邏輯。web后端的話可供開發(fā)的語言有 java、php、jsp、.NET 這些后端開發(fā)語言,并且要掌握幾個常用后端框架。

Web前端開發(fā)需要掌握的技術(shù):

1.目前多數(shù)企業(yè)要求對服務(wù)器端高并發(fā),大數(shù)據(jù)量處理經(jīng)驗(簡單的說就是優(yōu)化服務(wù)器處理高并發(fā)事務(wù)的能力)

2.精通 java,php,jsp,servlet,java bean,JMS,EJB,Jdbc,F(xiàn)lex開發(fā),對相關(guān)的工具、類庫以及框架非常熟悉,常用后端框架如 SSM(Spring+SpringMVC+MyBatis)框架集,Velocity,Hibernate,iBatis,OSGI等,對Web開發(fā)的模式有較深的理解(只少熟練掌握一套后端框架);

3.至少熟悉一種關(guān)系型數(shù)據(jù)庫,如:mysql,oracle等。熟練使用oracle、sqlserver、SQL Develpoer,PLSQL,MySQL Workbench等常用的數(shù)據(jù)庫管理工具,對數(shù)據(jù)庫有較強(qiáng)的設(shè)計能力

4.熟悉maven項目配置管理工具,熟悉tomcat、jboss等應(yīng)用服務(wù)器,同時對在高并發(fā)處理情況下的負(fù)載調(diào)優(yōu)有相關(guān)經(jīng)驗者優(yōu)先考慮

5.精通面向?qū)ο蠓治龊驮O(shè)計技術(shù),包括設(shè)計模式、UML建模等

6.熟悉網(wǎng)絡(luò)編程,具有設(shè)計和開發(fā)對外API接口經(jīng)驗和能力,同時具備跨平臺的API規(guī)范設(shè)計以及API高效調(diào)用設(shè)計能力

7.熟悉部分前端知識

總結(jié)

我感覺無論在知識的掌握深度上,還是知識掌握的寬度上,都是不夠的。

二: APP開發(fā)制作方法/步驟

1/9 分步閱讀

用戶需求分析是整個APP開發(fā)流程中最重要的一環(huán),相當(dāng)于企業(yè)中決策者的地位,一款A(yù)PP成功與否也盡數(shù)決定于此。此處的用戶需求分析是基于用戶的要求進(jìn)行APP功能的梳理。注意此處是用戶,因為很多公司要求開發(fā)出來的APP是給其用戶使用,因此在整理APP開發(fā)需求時,不僅要了解開發(fā)企業(yè)的需求,也要了解其客戶群體的需求。最終將這些需求進(jìn)行梳理、分類,整理出大體的APP功能框架。此過程中需要與客戶密切的進(jìn)行溝通,力求做到?jīng)]有任何疑問,以免開發(fā)出不實用的APP。

2/9

產(chǎn)品原型設(shè)計  

在進(jìn)行一輪用戶需求分析之后,將整理出來的需求分類、整理、排序成功能結(jié)構(gòu)模塊,此時可以利用現(xiàn)有的功能模塊搭建一個簡單的產(chǎn)品原型。產(chǎn)品原型類似于一個APP產(chǎn)品的草圖,將基本的功能結(jié)構(gòu)展示給客戶,可以借助產(chǎn)品原型設(shè)計軟件模擬出相似的APP產(chǎn)品。將此產(chǎn)品原型與客戶進(jìn)行確認(rèn),確認(rèn)完畢就可進(jìn)入下一環(huán)節(jié)的開發(fā)

3/9

UI視覺設(shè)計  

在擁有APP產(chǎn)品原型草圖結(jié)構(gòu)之后,UI設(shè)計師們開始對APP的界面進(jìn)行設(shè)計美化,根據(jù)APP的表現(xiàn)內(nèi)容進(jìn)行版面結(jié)構(gòu)設(shè)計,然后對每一塊區(qū)域進(jìn)行相應(yīng)的配色,并繪制每個功能菜單的圖標(biāo)及其他頁面元素的設(shè)計,最終設(shè)計出所有的APP界面效果圖。此過程與客戶進(jìn)行溝通,參考客戶建議進(jìn)行設(shè)計。

4/9

數(shù)據(jù)庫搭建  

按照需求分析整理出來的功能數(shù)據(jù)處理情況,建立合理的數(shù)據(jù)庫表結(jié)構(gòu),優(yōu)化數(shù)據(jù)算法,提升數(shù)據(jù)的處理效率,保證在使用APP的過程中數(shù)據(jù)的安全性、準(zhǔn)確性、穩(wěn)定性和及時性。

5/9

服務(wù)端開發(fā)

APP應(yīng)用的核心處理過程均是由服務(wù)器端的程序完成的,客戶端的APP僅僅只需要進(jìn)行收發(fā)數(shù)據(jù)即可。由于用戶的移動端設(shè)備硬件配置和存儲容量有限,因此核心數(shù)據(jù)處理過程均是由服務(wù)器端進(jìn)行運算處理的,這種方式也被稱為云計算,服務(wù)器處理完成之后反饋給客戶端APP。因此服務(wù)器端的程序開發(fā)極為重要,所有的功能均需要嚴(yán)格按照需求分析階段整理的功能來進(jìn)行開發(fā)。

6/9

iOS/Android客戶端開發(fā)

此時按照設(shè)計師設(shè)計的APP效果圖進(jìn)行開發(fā)客戶端,主要是對設(shè)計效果圖的代碼實現(xiàn),并寫入功能調(diào)用的接口,連接服務(wù)器端,方便與服務(wù)器端的數(shù)據(jù)進(jìn)行交互。根據(jù)Android和iOS的設(shè)備軟硬件情況進(jìn)行APP開發(fā)和優(yōu)化,最終開發(fā)出與效果圖一致的APP客戶端。

7/9

APP程序測試

對已開發(fā)好的APP客戶端進(jìn)行全面的測試,此測試模擬用戶正常使用以及非正常使用的情況,通常會導(dǎo)入一些測試數(shù)據(jù)來進(jìn)行測試,將測試的結(jié)果進(jìn)行記錄,出現(xiàn)錯誤則返回到開發(fā)階段進(jìn)行修復(fù),如果測試通過,則說明整體APP開發(fā)過程已經(jīng)完成。將成品APP應(yīng)用交給用戶進(jìn)行試用,用戶滿意之后進(jìn)行下一步工作。

8/9

上傳到應(yīng)用商店  

到此階段一個APP開發(fā)已經(jīng)完成,在完成簽名驗證之后,將開發(fā)好的客戶端APP程序提交發(fā)布到各應(yīng)用商店。iOS版本的APP提交到蘋果的AppStore,安卓的提交到國內(nèi)各大安卓應(yīng)用商店。

9/9

APP的維護(hù)及更新

  對上線之后的APP進(jìn)行維護(hù),收集用戶反饋信息,及時修復(fù)APP應(yīng)用中出現(xiàn)的錯誤(Bug)。如客戶需要進(jìn)行APP的功能更新時,則返回至需求功能整理階段進(jìn)行開發(fā),新功能開發(fā)完成后經(jīng)測試通過即可發(fā)布更新。

評論0 贊同0
  •  加載中...
cncoder

cncoder

回答于2022-06-28 16:03

謝邀。作為程序員我自己表示并沒有達(dá)到獨立開發(fā)一套企業(yè)級的軟件系統(tǒng),如果只是一個比較普通的小項目,也是需要一定技術(shù)素養(yǎng)的。

本問答由科技黑洞宇文笑創(chuàng)作,喜歡科技關(guān)注宇文笑

由于軟件種類過多,所需技術(shù)千變?nèi)f化,這里只用B/S架構(gòu)的傳統(tǒng)web項目作為案例。獨立開發(fā)系統(tǒng),首先你要明確自己需要做什么,為什么人群做,怎么做。what,who,how,WWH就包含了所需要的技能。



what,做什么,這需要軟件工程的知識,設(shè)計一款軟件應(yīng)該嚴(yán)格按照軟件工程的思維去設(shè)計,而不是憑空浮想聯(lián)翩,有一些產(chǎn)品經(jīng)理不懂技術(shù)設(shè)計的功能令人啼笑皆非。

who,這款軟件為誰而設(shè)計的,這特別重要,因為這將影響業(yè)務(wù)邏輯以及數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫設(shè)計是軟件開發(fā)非常核心的部分,尤其是數(shù)據(jù)量龐大的項目,調(diào)優(yōu)可不是容易活。

how,怎樣做。這就涉及軟件的開發(fā),相關(guān)的技術(shù)活比較多。首先是精通一門編程語言,這里舉例Java,你要懂Java的web運用,熟悉適用項目的框架,知道怎么搭框架,比如基本的SSM框架,尤其是spring框架的掌握,然后在嵌入技術(shù)比如安全框架shiro,緩存數(shù)據(jù)Redis。



需要架構(gòu)的好,設(shè)計模式至少得熟悉,Java源碼至少得熟讀。性能要調(diào)好,那可能jvm也得去碰一碰。除此之外,你還需要Linux的技術(shù),這是用于服務(wù)器的運維,你還要懂前端,不然怎么和你的服務(wù)器進(jìn)行數(shù)據(jù)交互。

需要獨立開發(fā)系統(tǒng)需要很多方面的技術(shù),但是獨立開發(fā)優(yōu)秀實用的系統(tǒng)則需要良好的技術(shù)素養(yǎng)和高效高質(zhì)量的團(tuán)隊。

宇文笑一句話:

沒有好的team難有好的software。

(覺得有理的點點關(guān)注)

評論0 贊同0
  •  加載中...
xushaojieaaa

xushaojieaaa

回答于2022-06-28 16:03

軟件開發(fā)包括應(yīng)用系統(tǒng)開發(fā)、嵌入式系統(tǒng)軟件開發(fā)、工業(yè)軟件開發(fā)、和大數(shù)據(jù)人工智能相關(guān)的數(shù)字化智能化系列的軟件開發(fā)等等。

應(yīng)用軟件開發(fā)其實我們是做的最好的一種,例如:網(wǎng)上商城、物流管理系統(tǒng)、辦公自動化系統(tǒng)等等,給社會帶來了很大實惠的同時也提高了程序員的收入,它所需的技能是JAVA大數(shù)據(jù)的技術(shù)生態(tài)、php的技術(shù)生態(tài)、手機(jī)Android、iPhone技術(shù)生態(tài)等等。

嵌入式軟件開發(fā)這塊的應(yīng)用說實話我們做的也可以,當(dāng)然生態(tài)鏈頂端的芯片設(shè)計、芯片工藝等有待創(chuàng)新。這塊的軟件開發(fā)我詳細(xì)和大家說說。

嵌入式方面的軟件開發(fā)入門之前首先要把計算機(jī)組成原理、操作系統(tǒng)原理、C語言程序設(shè)計、軟件工程等基礎(chǔ)打好,也就是說“計算機(jī)科學(xué)與技術(shù)”這個專業(yè)是最具優(yōu)勢的,當(dāng)然您是機(jī)械電子、電子信息技術(shù)、微電子類的專業(yè)同樣具有優(yōu)勢,只不過有的專業(yè)有的課程沒開,需要你輔修,具體輔修哪門課可以參考“計算機(jī)科學(xué)與技術(shù)”的課程體系,本人建議機(jī)械類、電子類、機(jī)電類、電子信息類、微電子類等理工科學(xué)生讀個“計算機(jī)科學(xué)與技術(shù)”雙學(xué)歷,即使日后你往人工智能轉(zhuǎn)也極具優(yōu)勢。

學(xué)嵌入式的同仁入門的切入點可以先學(xué)C語言程序設(shè)計、51系列單片機(jī)(入門沒必要選ARM系列,因為ARM寄存器多、指令多、管腳多會給你帶來不必要的麻煩,但設(shè)計思路大同小異,且51系列在中低端仍存在大量市場),然后到市面買51芯片和仿真軟件進(jìn)行實踐,51芯片也十分便宜。

接著說說工業(yè)軟件的開發(fā),其實這方面學(xué)機(jī)械的、電子的更具優(yōu)勢,當(dāng)然最好是機(jī)械電子類專業(yè)的最具優(yōu)勢,美中不足很多機(jī)械電子類院校軟件開發(fā)類課程開設(shè)不足,例如數(shù)據(jù)結(jié)構(gòu)和算法課程沒有,恰恰這門課是工業(yè)軟件核心課程之一,還是建議相關(guān)專業(yè)同學(xué)讀個“計算機(jī)科學(xué)與技術(shù)”或者“軟件工程”雙學(xué)歷。

搞工業(yè)軟件開發(fā)的我先說開發(fā)工具:精通C語言編程,精通51系列、ARM系列單片機(jī)及其匯編語言、仿真工具,建模時候如果沒有MATLAB的可以使用Python代替;然后是基礎(chǔ)課方面,大家一定要把您的基礎(chǔ)課數(shù)學(xué)類、機(jī)械設(shè)計類、電子技術(shù)及其工藝類、公差類、數(shù)據(jù)結(jié)構(gòu)和算法、數(shù)學(xué)建模類基礎(chǔ)打好,尤其是概率論和數(shù)理統(tǒng)計這門課至關(guān)重要。工業(yè)軟件的開發(fā)直接關(guān)系著制造業(yè)產(chǎn)業(yè)升級,如果工業(yè)軟件受制于人,那么制造業(yè)強(qiáng)國很容易變成一句空話。

大數(shù)據(jù)類應(yīng)用類的軟件開發(fā):其實這方面我們做的非常好,特別是以BAT為代表的大廠,由于我國確實有諸多的大數(shù)據(jù)應(yīng)用場景,比如醫(yī)療大數(shù)據(jù)中的分析新冠病毒無癥狀感染者某地區(qū)分布的散點圖等等,這給大數(shù)據(jù)應(yīng)用開發(fā)帶來機(jī)遇,也給相關(guān)得開發(fā)人員帶來高薪之類的實惠。這類應(yīng)用開發(fā)需要大家熟悉JAVA技術(shù)生態(tài)圈、hadoop、spark、Python等大數(shù)據(jù)應(yīng)用技術(shù),這些其實是被各類媒體宣傳最多的,大家可以百度下大數(shù)據(jù)、hadoop等關(guān)鍵字,在此不在累述。但是我們要勇于面對我們在數(shù)據(jù)科學(xué)方面的創(chuàng)新不足或者說基礎(chǔ)學(xué)科和技術(shù)生態(tài)圈原創(chuàng)不足。

人工智能類軟件開發(fā):這個交叉學(xué)科就多了,但是其核心交叉類學(xué)科是《數(shù)學(xué)+計算機(jī)科學(xué)》,像機(jī)械類、物理類等等學(xué)科其實是輔助交叉學(xué)科,當(dāng)然工業(yè)機(jī)器人私服電機(jī)還是需要一定的機(jī)械制造的和電子技術(shù)的,但它的大腦還是和數(shù)學(xué)類相關(guān)的“機(jī)器學(xué)習(xí)算法”,那么怎么使大腦快速運轉(zhuǎn)?當(dāng)然需要計算機(jī)芯片、實時操作系統(tǒng)等等系統(tǒng)軟件。

切記學(xué)好人工智能務(wù)必打好數(shù)學(xué)基礎(chǔ),最好讀取個數(shù)學(xué)的雙學(xué)歷,同時打好計算機(jī)的基礎(chǔ),注意初學(xué)者不能把Python和人工智能劃等號,MATLAB被禁止之后,Python充當(dāng)了數(shù)學(xué)建模的角色,只不過是建模算法實現(xiàn)不需要我們自己動手編程了,我們只需要關(guān)注人工智能大腦的運轉(zhuǎn)的算法“機(jī)器學(xué)習(xí)”本身的調(diào)參即可,當(dāng)然我們最高境界是你自己開發(fā)出機(jī)器學(xué)習(xí)算法來充實Python的sklearn算法庫。這里我衷心希望我們有自己的強(qiáng)化學(xué)習(xí)、規(guī)則學(xué)習(xí)、無監(jiān)督學(xué)習(xí)等學(xué)習(xí)方式的原創(chuàng)算法,或者在別人算法基礎(chǔ)上創(chuàng)新,而不僅僅是個“調(diào)包者”、“調(diào)參者”,當(dāng)然了要從其做起,不然也無法知道現(xiàn)在的算法的不足之處。

評論0 贊同0
  •  加載中...
GHOST_349178

GHOST_349178

回答于2022-06-28 16:03

現(xiàn)在都是云開發(fā),小程序之類的輕應(yīng)用,沒必要重復(fù)造輪子重新開發(fā)。這主要看你想做哪個行業(yè)的系統(tǒng)?客戶是哪些?解決他們哪些痛點?作為一個干了二十年IT,從研發(fā)到項目經(jīng)理到解決方案都有經(jīng)歷過很多,愿意深入溝通,帶你入行“挨踢”[大笑]

評論0 贊同0
  •  加載中...
lansheng228

lansheng228

回答于2022-06-28 16:03

前言

在軟件領(lǐng)域,一套軟件系統(tǒng)的構(gòu)建通常有兩大部分組成。前端和后端兩部分。前端負(fù)責(zé)頁面的編寫以及數(shù)據(jù)的展示。后端負(fù)責(zé)把數(shù)據(jù)查詢出來提供給前端,以此來完成一套完整的軟件系統(tǒng)。下面我們來細(xì)分講講這兩大分類所需的技術(shù)。

前端

在前端開發(fā)領(lǐng)域,應(yīng)用分為客戶端和Web端。下面我們詳細(xì)闡述予以說明。

客戶端

客戶端依賴于所處的操作系統(tǒng),也就說針對每種不同操作系統(tǒng),客戶端都需要多帶帶去開發(fā)一套,所以缺點就是開發(fā)成本高。其優(yōu)點是運行流暢,很多操作系統(tǒng)對外的接口都可以被客戶端進(jìn)行調(diào)用,比如打開攝像頭等,所以相對而言用戶體驗度較佳。

目前而言,主流的客戶端有Android客戶端,IOS客戶端,Mac客戶端,Windows客戶端以及Linux客戶端。其中,由于Android和IOS運行在手機(jī)上,攜帶方便,使用起來觸手可及,所以受很多用戶的喜愛。比如我們?nèi)粘=佑|的微信,QQ等應(yīng)用,大多通過手機(jī)來進(jìn)行使用。所以下面我們重點針對Android客戶端和IOS客戶端編寫所需的技術(shù)。


Android客戶端

第一步:

Android客戶端所需的語言,既可以用Java語言,也可以用Kotlin元。其中Kotlin是后期Google推出的官方語言。所以編寫Android應(yīng)用,只需掌握其中的一種語言。

第二步:

由于Android應(yīng)用是由一系列堆砌而成,所以開發(fā)Android應(yīng)用除了熟悉一門編程語言之外,還需要熟悉Android組件的基本使用。關(guān)于Android組件如何使用的問題,Google已經(jīng)給我們提供了Android開發(fā)者文檔。大家在學(xué)習(xí)過程中,參考Android開發(fā)者文檔來進(jìn)行學(xué)習(xí)和使用即可。

第三步:

語言有了,組件的學(xué)習(xí)文檔也有了,接下來就是開始實踐應(yīng)用的時候了。用什么工具來編寫呢?在推出Android應(yīng)用開發(fā)的時候,Google已經(jīng)為我們準(zhǔn)備好了這一切。那就是Android Studio編輯器。有了這款A(yù)ndroid Studio開發(fā)工具,我們就可以很方便地開發(fā)屬于自己的第一個Android應(yīng)用啦!具體可以在Android開發(fā)文檔上下載得到。


IOS客戶端

第一步:

IOS客戶端開發(fā)語言既可以用Objective-C語言,也可以用來Swift語言來進(jìn)行開發(fā)。其中Swift語言是后來Apple推出的。所以對于IOS客戶端的開發(fā),掌握好其中一門語言吧。

第二步:

IOS和Android學(xué)習(xí)思路類似,除了掌握一門語言之外,還需要學(xué)習(xí)組件的使用。在IOS中,對應(yīng)組件的使用可以參考IOS開發(fā)文檔。

第三步:

語言和文檔都有了,現(xiàn)在還差一款I(lǐng)OS編輯器。在IOS開發(fā)中,那就是Xcode。萬事俱備,現(xiàn)在大家就可以用Xcode嘗試開發(fā)第一個IOS應(yīng)用了。


Web端

Web無需依賴于任何操作系統(tǒng),所以Web端相比客戶端而言,其優(yōu)點是開發(fā)成本會低很多。缺點是運行流暢較差,調(diào)用操作系統(tǒng)所提供的功能相對有限。那么Web前端如何構(gòu)建呢?大家可以參考以下步驟:

第一步:

熟悉基本HTML。在Web前端中,HTML是一個頁面的基本骨架,類似于一個人的骨架。所以熟悉基本的HTML標(biāo)簽是必要的。

第二步:

有了HTML作為頁面的骨架之后,接下來我們需要對頁面進(jìn)行調(diào)色和布局。此時CSS就派上用場了。CSS的作用就是用來如何各個HTML標(biāo)簽如何擺放以及用什么視覺效果把標(biāo)簽展示出來。

第三步:

有了HTML和CSS之后,一個基本的靜態(tài)頁面就出來。但是作為一個用戶,是需要和頁面有交互才使其應(yīng)用具備真正有意義的產(chǎn)品。所以此時的JavaScript就派上用場了。它的作用就就是針對用戶的各種操作進(jìn)行相應(yīng)觸發(fā)和處理。

第四步:

具備了前三者之后,我們知道一個Web前端就可以著手用Visual Studio Code進(jìn)行開發(fā)了。但是對于一個發(fā)展多年的Web前端而言,很多基礎(chǔ)組件是沒必要一點點重復(fù)去實現(xiàn)的。為了加快開發(fā)效率,此時我們可以借助現(xiàn)成的組件庫來實現(xiàn)我們想要的頁面效果。常見的組件庫有Element,Ant Design 和 Vant。其中Element和Ant Design偏向于電腦版,而Vant偏向于手機(jī)版。選擇一個你喜歡的框架進(jìn)行著手實踐。

第五步:

同樣,基于Web技術(shù)的沉淀,同樣也衍生出了關(guān)于JavaScript相關(guān)的框架。比如Vue和React。選擇你喜歡一種框架即可。在這里需要說明的是:Vue框架對應(yīng)的組件庫為Element(電腦)和Vant(手機(jī)版),而React對應(yīng)的組件庫為Ant Design。

熟悉了這五項之后,你也就進(jìn)入Web前端開發(fā)的大門。


后端

后端的作用就是為前端提供數(shù)據(jù)支撐。當(dāng)前端需要數(shù)據(jù)時,前端通常會以HTTP的形式向后端發(fā)起請求,后端接收到前端的數(shù)據(jù)請求之后,向數(shù)據(jù)庫查詢出所需字段,然后HTTP的形式范圍給到前端,以此來完成數(shù)據(jù)的傳遞。下面就來簡單闡述一下如何入門后端開發(fā)。

第一步:

通常而言,在后端開發(fā)中,由于Java語言本身設(shè)計的面向?qū)ο蟮奶匦砸约爸苓吷鷳B(tài)繁榮,使其在后端開發(fā)領(lǐng)域占據(jù)著一個重要的位置。所以對于想要入門后端開發(fā)的同學(xué),掌握好Java語言的語法知識是第一步。

第二步:

由于在后端開發(fā)中,我們查詢數(shù)據(jù)和插入數(shù)據(jù),面向的對象都是數(shù)據(jù)庫,所以熟悉數(shù)據(jù)庫的基本使用是必不可少的。常見的數(shù)據(jù)庫有MySQL,Oracle以及Redis等。熟悉一兩種數(shù)據(jù)庫的基本使用是我們打通后端開發(fā)的第二步。

第三步:

基于前面兩步,我們就可以基本上手后端的開發(fā)。但是此時什么輪子都需要從基礎(chǔ)做起,費時又耗力。鑒于后端開發(fā)已有一些年的歷史了。所以慢慢也會衍生出來一些后端的框架,以加速我們?nèi)粘i_發(fā)進(jìn)度。所以,在這里掌握一些Java后端開發(fā)的框架也是很有必要的。


總結(jié)

從前端到后端,我們了解到了,其所涉及的知識點是非常多的。對于樓主想要獨立開發(fā)一套系統(tǒng)而言,掌握好一種前端開發(fā)和一種后端開發(fā),此時你也就具備了獨立開發(fā)一套軟件系統(tǒng)的能力。


關(guān)注我,不定期分享好玩科技知識,帶大家一起體會探索科技的那份獨有思考和樂趣。

評論0 贊同0
  •  加載中...
2shou

2shou

回答于2022-06-28 16:03

0基礎(chǔ),也可以獨立開發(fā)一套功能完備的軟件系統(tǒng)。

當(dāng)然,你還需要一個功能強(qiáng)大、上手快的開發(fā)工具,比如云表企業(yè)應(yīng)用平臺。(以下簡稱云表)

不用寫一行代碼,也能進(jìn)行軟件的自主開發(fā)

在云表這里,即使你對IT技術(shù)一竅不通,不懂?dāng)?shù)據(jù)庫知識,也不會任何的如VBA等軟件開發(fā)輔助工具的使用方法,也完全沒有關(guān)系。


你只要有自己的業(yè)務(wù)邏輯,就能在和excel很像的界面,拖拉拽,以畫表格的形式,“畫”出功能可隨需增刪查改的企業(yè)級個性化管理軟件,包括ERP,WMS,OA,BI,PLM,CRM,進(jìn)銷存,項目管理等。

恒逸石化

并且,還可形成“All in One”的一站式管理體系,各系統(tǒng)之間數(shù)據(jù)互通,主流信息無縫集成。

可以解決復(fù)雜的業(yè)務(wù)應(yīng)用場景問題

中山誠威

比如,藍(lán)牙打印,自定義報表模板打印,鬧鐘提醒,消息推送,權(quán)限控制,流程審批,多人協(xié)同,工作流,小程序,H5,微商城,一物一碼,內(nèi)網(wǎng)穿透,外網(wǎng)映射,外接數(shù)據(jù)源,數(shù)據(jù)透視,數(shù)據(jù)分析,集成封裝釘釘、企業(yè)微信、用友、金蝶等外部系統(tǒng),當(dāng)然,你也可以拿它來對接PDA,地磅,電子秤,高拍儀,GPS盒子等工業(yè)物聯(lián)網(wǎng)設(shè)備,生成移動端app......


對了,它還是可以免費使用的,提供了一款永久免費使用版本,該版本功能與云表平臺的區(qū)別,僅在于并發(fā)數(shù)的不同。

篇幅所限,就只介紹到這里,事實上,通過云表還能解決更多問題。如果你感興趣,可以留意下方軟件免費獲取方式:

方法一:

1.頭條app搜索“云表平臺”。

2.進(jìn)入官網(wǎng)之后,在右上角三條杠處,找到“登錄”。(或者進(jìn)去后直接點擊“免費注冊”)

3.信息填報完畢,即可在“管理控制臺”免費獲取。


方法二:

點擊我的頭像,進(jìn)入個人主頁后,在下方找到“免費下載”。


包括ucloud,中鐵,中冶,許繼電氣,恒逸石化等20萬+的企事業(yè)單位或機(jī)構(gòu),都在使用它,所以你可以打消技術(shù)支持方面的顧慮。

評論0 贊同0
  •  加載中...
ZoomQuiet

ZoomQuiet

回答于2022-06-28 16:03

不好意思,這個坑我正在踩!

我花一年弄了個軟件,duang云收藏夾,已經(jīng)花了快五十萬了,但估計這只是個開始!盈利還沒見到苗頭!


去年疫情導(dǎo)致我的海外電商不太好做,我就琢磨自己做個軟件工具,這樣起碼用戶穩(wěn)定,不想電商每次一個新產(chǎn)品推廣都是新投入,有收獲還好,大多數(shù)產(chǎn)品的前期投入都是打水漂了!我運氣好遇到了幾個好的產(chǎn)品。

基于這種思想我就開始了軟件開發(fā)之路!

七八年前搞過軟件,但這么多年了沒碰過技術(shù),所以就只有走代開發(fā)和招人自己組隊開發(fā)兩條路。

基于風(fēng)險我選了第一條路。

進(jìn)去就一個坑,一個搞電商系統(tǒng)的滿口承諾搞定,結(jié)果給了幾萬塊錢他就直接粗暴簡單地把一個電商平臺軟件改了一下給我,沒有前后端分離,沒有任何數(shù)據(jù)記錄,沒有支付接口,拿了80%的錢后就消失了。


但好歹界面結(jié)構(gòu)有點我想搞的產(chǎn)品的意思了,所以又找了第二波。

大概花了十幾萬,出來了,但這個團(tuán)隊是后端技術(shù)牛用GO開發(fā)的,前端技術(shù)爛得一坨×××PHP啥的幾種混搭,我讓朋友看,朋友直接瘋了。

我估計付費請用戶來,用戶都不來!

所以又搞了第三波,自己招人!

招聘了三個月來了兩撥,第二波招的算是靠譜穩(wěn)定了,但錢也花得嘩嘩嘩的,基本上開發(fā)了快一年五十萬是沒了!

所以我的感覺是,精通這事你別談,軟件是團(tuán)隊協(xié)作的活,一個人精通沒用的,得各有所長然后合理分工!獨立開發(fā)者的路很窄,只能說做個產(chǎn)品模型,如果上市規(guī)模商用的話很難行得通!

評論0 贊同0
  •  加載中...
Anshiii

Anshiii

回答于2022-06-28 16:03

我是誰?我在哪里?我要做什么?我為什么做?

以上明確后就可以做項目了,技能,會裝系統(tǒng),會裝軟件,讓百度教你不會的,理解別人的代碼,變成自己的代碼。

我半年時間自己做了一套系統(tǒng),包含瀏覽器,安卓管理,安卓瀏覽,tcp服務(wù)器,后端,數(shù)據(jù)庫,web服務(wù)器,windows2008, centos等等。

知識點涉及,html5,css,js,php,aspx,mysql,易語言,易安卓,mssql, linux命令,h3c指令,各種js api. 獨立做開發(fā),遇到問題只能自己解決,碰到什么學(xué)什么,以上除了aspx比較復(fù)雜,其余都可以很快入門,思維方式和編寫風(fēng)格也比較相似,熟悉其中一個后,其他的就很快了,html css做的好看還是要理解,用點css框架什么的。總的來說,一個人做要活全。用自己擅長的方式解決問題,代碼不必追求高效,先實現(xiàn)需求。

最后說一句,如果自己沒啥事干,重復(fù)造輪子也是一種學(xué)習(xí)的方式。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<