{eval=Array;=+count(Array);}
目前的軟件開發產品多以互聯網形式呈現,所以就以一套互聯網產品為例來說一下開發者都需要掌握哪些技術。
一套完整的互聯網產品包括移動端(iOS、Android、WP)開發、Web前端開發和后端開發幾個大的組成部分,下面分別描述一下這幾個部分都需要學習哪些技術。
iOS開發需要學習OC或者Swift編程語言,Android開發需要學習Java或者是kotlin,而WP開發則需要學習C#。移動端開發屬于比較典型的應用型開發,大部分開發任務并不復雜,大部分人經過一段時間的學習都能夠掌握。
Web前端開發涉及到Html、CSS和JavaScript幾個大的內容,另外還需要學習一下比較流行的開發框架。Web前端開發的學習重點在JavaScript上,雖然JavaScript看起來比較簡單,但也是有一定難度的,而且JavaScript正在從前端走向后端,從發展的前景來看,JavaScript還是非常不錯的。
可以做后端開發的語言比較多,比如Java、PHP、Python等都是比較常見的選擇。Java的特點是性能比較穩定,對于大型Web開發來說是一個不錯的選擇。PHP是Web開發領域使用普及率非常高的編程語言,PHP自身具備極大的靈活性,所以深受開發人員喜愛,被稱為“最好的編程語言”。Python語言的特點是簡單、直接和靈活,Python有豐富的庫支持,但是Python在性能上還需要提高。
另外后端開發還需要掌握數據庫知識和一些常見的開發模式,在當前的大數據時代,也需要掌握如何在大數據平臺上完成軟件的開發。
以上這些只是一些基本的開發技能,要想開發出一套高質量的軟件系統還需要掌握包括測試在內的一系列工具,當然往往也需要一個專業的開發團隊。
作者簡介:中國科學院大學計算機專業研究生導師,從事IT行業多年,研究方向包括動態軟件體系結構、大數據、人工智能相關領域,有多年的一線研發經驗。
歡迎關注作者,歡迎咨詢計算機相關問題。
看運行在什么系統吧。
我現在運營6-7款軟件,都是自己獨立開發的,大部分都是winform下的軟件系統。
編程語言主要是C#,其中腳本系統之前用的是python,后來因為性能問題都改成了C#。
官網需要跟軟件系統授權整合,后端類庫和數據庫需要保持一致,用的也是C#,前端用的是asp.net+jqurey+ajax等等,都是比較老的技術,運行穩定,性能可靠,也沒什么不好。
數據庫是sqlserver,單庫裝在ucloud最便宜的ECS上,十幾萬的用戶數量,15分鐘在線峰值大概700以內,足夠了。
其他的像xml、css、ras、md5、json、http、cookie、gdi+、h5等等,這些點的應用也稱得上技術的話,那可就多了去了。
不過我一直認為我們絕大部分做的都是應用軟件,說白了就是使用別人已經創造好的技術,技術再牛你也不過是個使用者,充其量算是個應用型人才。搞算法、搞理論或者制訂標準的,那才是真正的技術。
一: 獨立開發一套軟件系統先了解下前后端
Web前端和后端開發的區別和要求
有時候自己會分不清,其實是因為前后端都了解,類似于全棧工程師,但又什么都不是很精通。那到底什么是前端、后端呢,我整理了一些企業要求級別的前端/后端基礎,開發框架等。
Web前端開發
什么是 Web 前端?
Web前端,顧名思義是來做web的前端頁面的。這里所說的前端泛指web前端,也就是在web應用中用戶可以看得見碰得著的東西。包括web頁面的結構、web的外觀視覺表現以及web層面的交互實現。web前端分為網頁設計師、網頁美工、web前端開發工程師。首先網頁設計師是對網頁的架構、色彩以及網站的整體頁面代碼,負責網頁美工只針對UI這塊兒的東西,比如網站是否做的漂亮。web前端開發工程師是負責交互設計的,需要和程序猿進行交互設計的配合。
Web前端開發需要掌握的技術:
1.熟練掌握前端開發技術(HTML5、JS、JSON、XHTML、CSS3),了解各項技術的相關標準
2.掌握Ajax異步編程,能夠寫出高性能、可復用的前端組件;
3.對OO、MVC、MVVM等編程思想、前端框架有深刻理解,熟練掌握一個前端框架(常用前端框架 Vuejs,AngularJS,React,Bootstrap,QUICK UI,移動端有:Frozen UI,weUI ,SUI,MUI,AUI)了解其原理(框架有很多,選擇兩三個主流的框架,熟練,深度了解才可以);
4.善于Web性能優化,可訪問性、對SEO等有良好的體驗;理解表現層與數據層分離的概念、 Web語義化(這些也是在找工作中,很有用的加分項);
5.了解前端安全機制,熟悉HTTP協議以及瀏覽器緩存策略;
6.熟悉常見JS開發框架源碼實現,(如:prototype、jQuery、Mootools,Ext, Dojo,underscore、YUI、Kissy),至少熟練一種(當然也不要去選一些用的人很少的框架,要明白大項目都是團隊做,不能自己搞一套);
7.擁有良好的代碼編寫,設計文檔撰寫的經驗,熟練使用Git等版本控制工具;
8.對常見的瀏覽器兼容問題有清晰的理解,并有可靠的解決方案;如IE6/7/8/9、 Firefox、Safari、Chrome;
9.具有較高的審美(這個很重要,多去見識一些模板,高端的項目,就能感覺到有多大的差距)
web后端開發
什么是 Web 后端?
Web后端更多的是負責產品的服務技術實現,包括業務邏輯,數據存儲和處理,消息隊列處理等。以及產品服務端接口實現,包括與前端的接口,第三方的接口,服務體系內部接口等。后端開發主要是對數據庫進行交互以處理相應的業務邏輯。web后端的話可供開發的語言有 java、php、jsp、.NET 這些后端開發語言,并且要掌握幾個常用后端框架。
Web前端開發需要掌握的技術:
1.目前多數企業要求對服務器端高并發,大數據量處理經驗(簡單的說就是優化服務器處理高并發事務的能力)
2.精通 java,php,jsp,servlet,java bean,JMS,EJB,Jdbc,Flex開發,對相關的工具、類庫以及框架非常熟悉,常用后端框架如 SSM(Spring+SpringMVC+MyBatis)框架集,Velocity,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解(只少熟練掌握一套后端框架);
3.至少熟悉一種關系型數據庫,如:mysql,oracle等。熟練使用oracle、sqlserver、SQL Develpoer,PLSQL,MySQL Workbench等常用的數據庫管理工具,對數據庫有較強的設計能力
4.熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用服務器,同時對在高并發處理情況下的負載調優有相關經驗者優先考慮
5.精通面向對象分析和設計技術,包括設計模式、UML建模等
6.熟悉網絡編程,具有設計和開發對外API接口經驗和能力,同時具備跨平臺的API規范設計以及API高效調用設計能力
7.熟悉部分前端知識
總結
我感覺無論在知識的掌握深度上,還是知識掌握的寬度上,都是不夠的。
二: APP開發制作方法/步驟
1/9 分步閱讀
用戶需求分析是整個APP開發流程中最重要的一環,相當于企業中決策者的地位,一款APP成功與否也盡數決定于此。此處的用戶需求分析是基于用戶的要求進行APP功能的梳理。注意此處是用戶,因為很多公司要求開發出來的APP是給其用戶使用,因此在整理APP開發需求時,不僅要了解開發企業的需求,也要了解其客戶群體的需求。最終將這些需求進行梳理、分類,整理出大體的APP功能框架。此過程中需要與客戶密切的進行溝通,力求做到沒有任何疑問,以免開發出不實用的APP。
2/9
產品原型設計
在進行一輪用戶需求分析之后,將整理出來的需求分類、整理、排序成功能結構模塊,此時可以利用現有的功能模塊搭建一個簡單的產品原型。產品原型類似于一個APP產品的草圖,將基本的功能結構展示給客戶,可以借助產品原型設計軟件模擬出相似的APP產品。將此產品原型與客戶進行確認,確認完畢就可進入下一環節的開發
3/9
UI視覺設計
在擁有APP產品原型草圖結構之后,UI設計師們開始對APP的界面進行設計美化,根據APP的表現內容進行版面結構設計,然后對每一塊區域進行相應的配色,并繪制每個功能菜單的圖標及其他頁面元素的設計,最終設計出所有的APP界面效果圖。此過程與客戶進行溝通,參考客戶建議進行設計。
4/9
數據庫搭建
按照需求分析整理出來的功能數據處理情況,建立合理的數據庫表結構,優化數據算法,提升數據的處理效率,保證在使用APP的過程中數據的安全性、準確性、穩定性和及時性。
5/9
服務端開發
APP應用的核心處理過程均是由服務器端的程序完成的,客戶端的APP僅僅只需要進行收發數據即可。由于用戶的移動端設備硬件配置和存儲容量有限,因此核心數據處理過程均是由服務器端進行運算處理的,這種方式也被稱為云計算,服務器處理完成之后反饋給客戶端APP。因此服務器端的程序開發極為重要,所有的功能均需要嚴格按照需求分析階段整理的功能來進行開發。
6/9
iOS/Android客戶端開發
此時按照設計師設計的APP效果圖進行開發客戶端,主要是對設計效果圖的代碼實現,并寫入功能調用的接口,連接服務器端,方便與服務器端的數據進行交互。根據Android和iOS的設備軟硬件情況進行APP開發和優化,最終開發出與效果圖一致的APP客戶端。
7/9
APP程序測試
對已開發好的APP客戶端進行全面的測試,此測試模擬用戶正常使用以及非正常使用的情況,通常會導入一些測試數據來進行測試,將測試的結果進行記錄,出現錯誤則返回到開發階段進行修復,如果測試通過,則說明整體APP開發過程已經完成。將成品APP應用交給用戶進行試用,用戶滿意之后進行下一步工作。
8/9
上傳到應用商店
到此階段一個APP開發已經完成,在完成簽名驗證之后,將開發好的客戶端APP程序提交發布到各應用商店。iOS版本的APP提交到蘋果的AppStore,安卓的提交到國內各大安卓應用商店。
9/9
APP的維護及更新
對上線之后的APP進行維護,收集用戶反饋信息,及時修復APP應用中出現的錯誤(Bug)。如客戶需要進行APP的功能更新時,則返回至需求功能整理階段進行開發,新功能開發完成后經測試通過即可發布更新。
謝邀。作為程序員我自己表示并沒有達到獨立開發一套企業級的軟件系統,如果只是一個比較普通的小項目,也是需要一定技術素養的。
本問答由科技黑洞宇文笑創作,喜歡科技關注宇文笑
由于軟件種類過多,所需技術千變萬化,這里只用B/S架構的傳統web項目作為案例。獨立開發系統,首先你要明確自己需要做什么,為什么人群做,怎么做。what,who,how,WWH就包含了所需要的技能。
what,做什么,這需要軟件工程的知識,設計一款軟件應該嚴格按照軟件工程的思維去設計,而不是憑空浮想聯翩,有一些產品經理不懂技術設計的功能令人啼笑皆非。
who,這款軟件為誰而設計的,這特別重要,因為這將影響業務邏輯以及數據庫設計,數據庫設計是軟件開發非常核心的部分,尤其是數據量龐大的項目,調優可不是容易活。
how,怎樣做。這就涉及軟件的開發,相關的技術活比較多。首先是精通一門編程語言,這里舉例Java,你要懂Java的web運用,熟悉適用項目的框架,知道怎么搭框架,比如基本的SSM框架,尤其是spring框架的掌握,然后在嵌入技術比如安全框架shiro,緩存數據Redis。
需要架構的好,設計模式至少得熟悉,Java源碼至少得熟讀。性能要調好,那可能jvm也得去碰一碰。除此之外,你還需要Linux的技術,這是用于服務器的運維,你還要懂前端,不然怎么和你的服務器進行數據交互。
需要獨立開發系統需要很多方面的技術,但是獨立開發優秀實用的系統則需要良好的技術素養和高效高質量的團隊。
宇文笑一句話:
沒有好的team難有好的software。
(覺得有理的點點關注)
軟件開發包括應用系統開發、嵌入式系統軟件開發、工業軟件開發、和大數據人工智能相關的數字化智能化系列的軟件開發等等。
應用軟件開發其實我們是做的最好的一種,例如:網上商城、物流管理系統、辦公自動化系統等等,給社會帶來了很大實惠的同時也提高了程序員的收入,它所需的技能是JAVA大數據的技術生態、php的技術生態、手機Android、iPhone技術生態等等。
嵌入式軟件開發這塊的應用說實話我們做的也可以,當然生態鏈頂端的芯片設計、芯片工藝等有待創新。這塊的軟件開發我詳細和大家說說。
嵌入式方面的軟件開發入門之前首先要把計算機組成原理、操作系統原理、C語言程序設計、軟件工程等基礎打好,也就是說“計算機科學與技術”這個專業是最具優勢的,當然您是機械電子、電子信息技術、微電子類的專業同樣具有優勢,只不過有的專業有的課程沒開,需要你輔修,具體輔修哪門課可以參考“計算機科學與技術”的課程體系,本人建議機械類、電子類、機電類、電子信息類、微電子類等理工科學生讀個“計算機科學與技術”雙學歷,即使日后你往人工智能轉也極具優勢。
學嵌入式的同仁入門的切入點可以先學C語言程序設計、51系列單片機(入門沒必要選ARM系列,因為ARM寄存器多、指令多、管腳多會給你帶來不必要的麻煩,但設計思路大同小異,且51系列在中低端仍存在大量市場),然后到市面買51芯片和仿真軟件進行實踐,51芯片也十分便宜。
接著說說工業軟件的開發,其實這方面學機械的、電子的更具優勢,當然最好是機械電子類專業的最具優勢,美中不足很多機械電子類院校軟件開發類課程開設不足,例如數據結構和算法課程沒有,恰恰這門課是工業軟件核心課程之一,還是建議相關專業同學讀個“計算機科學與技術”或者“軟件工程”雙學歷。
搞工業軟件開發的我先說開發工具:精通C語言編程,精通51系列、ARM系列單片機及其匯編語言、仿真工具,建模時候如果沒有MATLAB的可以使用Python代替;然后是基礎課方面,大家一定要把您的基礎課數學類、機械設計類、電子技術及其工藝類、公差類、數據結構和算法、數學建模類基礎打好,尤其是概率論和數理統計這門課至關重要。工業軟件的開發直接關系著制造業產業升級,如果工業軟件受制于人,那么制造業強國很容易變成一句空話。
大數據類應用類的軟件開發:其實這方面我們做的非常好,特別是以BAT為代表的大廠,由于我國確實有諸多的大數據應用場景,比如醫療大數據中的分析新冠病毒無癥狀感染者某地區分布的散點圖等等,這給大數據應用開發帶來機遇,也給相關得開發人員帶來高薪之類的實惠。這類應用開發需要大家熟悉JAVA技術生態圈、hadoop、spark、Python等大數據應用技術,這些其實是被各類媒體宣傳最多的,大家可以百度下大數據、hadoop等關鍵字,在此不在累述。但是我們要勇于面對我們在數據科學方面的創新不足或者說基礎學科和技術生態圈原創不足。
人工智能類軟件開發:這個交叉學科就多了,但是其核心交叉類學科是《數學+計算機科學》,像機械類、物理類等等學科其實是輔助交叉學科,當然工業機器人私服電機還是需要一定的機械制造的和電子技術的,但它的大腦還是和數學類相關的“機器學習算法”,那么怎么使大腦快速運轉?當然需要計算機芯片、實時操作系統等等系統軟件。
切記學好人工智能務必打好數學基礎,最好讀取個數學的雙學歷,同時打好計算機的基礎,注意初學者不能把Python和人工智能劃等號,MATLAB被禁止之后,Python充當了數學建模的角色,只不過是建模算法實現不需要我們自己動手編程了,我們只需要關注人工智能大腦的運轉的算法“機器學習”本身的調參即可,當然我們最高境界是你自己開發出機器學習算法來充實Python的sklearn算法庫。這里我衷心希望我們有自己的強化學習、規則學習、無監督學習等學習方式的原創算法,或者在別人算法基礎上創新,而不僅僅是個“調包者”、“調參者”,當然了要從其做起,不然也無法知道現在的算法的不足之處。
現在都是云開發,小程序之類的輕應用,沒必要重復造輪子重新開發。這主要看你想做哪個行業的系統?客戶是哪些?解決他們哪些痛點?作為一個干了二十年IT,從研發到項目經理到解決方案都有經歷過很多,愿意深入溝通,帶你入行“挨踢”[大笑]
在軟件領域,一套軟件系統的構建通常有兩大部分組成。前端和后端兩部分。前端負責頁面的編寫以及數據的展示。后端負責把數據查詢出來提供給前端,以此來完成一套完整的軟件系統。下面我們來細分講講這兩大分類所需的技術。
在前端開發領域,應用分為客戶端和Web端。下面我們詳細闡述予以說明。
客戶端
客戶端依賴于所處的操作系統,也就說針對每種不同操作系統,客戶端都需要多帶帶去開發一套,所以缺點就是開發成本高。其優點是運行流暢,很多操作系統對外的接口都可以被客戶端進行調用,比如打開攝像頭等,所以相對而言用戶體驗度較佳。
目前而言,主流的客戶端有Android客戶端,IOS客戶端,Mac客戶端,Windows客戶端以及Linux客戶端。其中,由于Android和IOS運行在手機上,攜帶方便,使用起來觸手可及,所以受很多用戶的喜愛。比如我們日常接觸的微信,QQ等應用,大多通過手機來進行使用。所以下面我們重點針對Android客戶端和IOS客戶端編寫所需的技術。
Android客戶端
第一步:
Android客戶端所需的語言,既可以用Java語言,也可以用Kotlin元。其中Kotlin是后期Google推出的官方語言。所以編寫Android應用,只需掌握其中的一種語言。
第二步:
由于Android應用是由一系列堆砌而成,所以開發Android應用除了熟悉一門編程語言之外,還需要熟悉Android組件的基本使用。關于Android組件如何使用的問題,Google已經給我們提供了Android開發者文檔。大家在學習過程中,參考Android開發者文檔來進行學習和使用即可。
第三步:
語言有了,組件的學習文檔也有了,接下來就是開始實踐應用的時候了。用什么工具來編寫呢?在推出Android應用開發的時候,Google已經為我們準備好了這一切。那就是Android Studio編輯器。有了這款Android Studio開發工具,我們就可以很方便地開發屬于自己的第一個Android應用啦!具體可以在Android開發文檔上下載得到。
IOS客戶端
第一步:
IOS客戶端開發語言既可以用Objective-C語言,也可以用來Swift語言來進行開發。其中Swift語言是后來Apple推出的。所以對于IOS客戶端的開發,掌握好其中一門語言吧。
第二步:
IOS和Android學習思路類似,除了掌握一門語言之外,還需要學習組件的使用。在IOS中,對應組件的使用可以參考IOS開發文檔。
第三步:
語言和文檔都有了,現在還差一款IOS編輯器。在IOS開發中,那就是Xcode。萬事俱備,現在大家就可以用Xcode嘗試開發第一個IOS應用了。
Web端
Web無需依賴于任何操作系統,所以Web端相比客戶端而言,其優點是開發成本會低很多。缺點是運行流暢較差,調用操作系統所提供的功能相對有限。那么Web前端如何構建呢?大家可以參考以下步驟:
第一步:
熟悉基本HTML。在Web前端中,HTML是一個頁面的基本骨架,類似于一個人的骨架。所以熟悉基本的HTML標簽是必要的。
第二步:
有了HTML作為頁面的骨架之后,接下來我們需要對頁面進行調色和布局。此時CSS就派上用場了。CSS的作用就是用來如何各個HTML標簽如何擺放以及用什么視覺效果把標簽展示出來。
第三步:
有了HTML和CSS之后,一個基本的靜態頁面就出來。但是作為一個用戶,是需要和頁面有交互才使其應用具備真正有意義的產品。所以此時的JavaScript就派上用場了。它的作用就就是針對用戶的各種操作進行相應觸發和處理。
第四步:
具備了前三者之后,我們知道一個Web前端就可以著手用Visual Studio Code進行開發了。但是對于一個發展多年的Web前端而言,很多基礎組件是沒必要一點點重復去實現的。為了加快開發效率,此時我們可以借助現成的組件庫來實現我們想要的頁面效果。常見的組件庫有Element,Ant Design 和 Vant。其中Element和Ant Design偏向于電腦版,而Vant偏向于手機版。選擇一個你喜歡的框架進行著手實踐。
第五步:
同樣,基于Web技術的沉淀,同樣也衍生出了關于JavaScript相關的框架。比如Vue和React。選擇你喜歡一種框架即可。在這里需要說明的是:Vue框架對應的組件庫為Element(電腦)和Vant(手機版),而React對應的組件庫為Ant Design。
熟悉了這五項之后,你也就進入Web前端開發的大門。
后端的作用就是為前端提供數據支撐。當前端需要數據時,前端通常會以HTTP的形式向后端發起請求,后端接收到前端的數據請求之后,向數據庫查詢出所需字段,然后HTTP的形式范圍給到前端,以此來完成數據的傳遞。下面就來簡單闡述一下如何入門后端開發。
第一步:
通常而言,在后端開發中,由于Java語言本身設計的面向對象的特性以及周邊生態繁榮,使其在后端開發領域占據著一個重要的位置。所以對于想要入門后端開發的同學,掌握好Java語言的語法知識是第一步。
第二步:
由于在后端開發中,我們查詢數據和插入數據,面向的對象都是數據庫,所以熟悉數據庫的基本使用是必不可少的。常見的數據庫有MySQL,Oracle以及Redis等。熟悉一兩種數據庫的基本使用是我們打通后端開發的第二步。
第三步:
基于前面兩步,我們就可以基本上手后端的開發。但是此時什么輪子都需要從基礎做起,費時又耗力。鑒于后端開發已有一些年的歷史了。所以慢慢也會衍生出來一些后端的框架,以加速我們日常開發進度。所以,在這里掌握一些Java后端開發的框架也是很有必要的。
從前端到后端,我們了解到了,其所涉及的知識點是非常多的。對于樓主想要獨立開發一套系統而言,掌握好一種前端開發和一種后端開發,此時你也就具備了獨立開發一套軟件系統的能力。
關注我,不定期分享好玩科技知識,帶大家一起體會探索科技的那份獨有思考和樂趣。
0基礎,也可以獨立開發一套功能完備的軟件系統。
當然,你還需要一個功能強大、上手快的開發工具,比如云表企業應用平臺。(以下簡稱云表)
在云表這里,即使你對IT技術一竅不通,不懂數據庫知識,也不會任何的如VBA等軟件開發輔助工具的使用方法,也完全沒有關系。
你只要有自己的業務邏輯,就能在和excel很像的界面,拖拉拽,以畫表格的形式,“畫”出功能可隨需增刪查改的企業級個性化管理軟件,包括ERP,WMS,OA,BI,PLM,CRM,進銷存,項目管理等。
恒逸石化
并且,還可形成“All in One”的一站式管理體系,各系統之間數據互通,主流信息無縫集成。
中山誠威
比如,藍牙打印,自定義報表模板打印,鬧鐘提醒,消息推送,權限控制,流程審批,多人協同,工作流,小程序,H5,微商城,一物一碼,內網穿透,外網映射,外接數據源,數據透視,數據分析,集成封裝釘釘、企業微信、用友、金蝶等外部系統,當然,你也可以拿它來對接PDA,地磅,電子秤,高拍儀,GPS盒子等工業物聯網設備,生成移動端app......
對了,它還是可以免費使用的,提供了一款永久免費使用版本,該版本功能與云表平臺的區別,僅在于并發數的不同。
篇幅所限,就只介紹到這里,事實上,通過云表還能解決更多問題。如果你感興趣,可以留意下方軟件免費獲取方式:
方法一:
1.頭條app搜索“云表平臺”。
2.進入官網之后,在右上角三條杠處,找到“登錄”。(或者進去后直接點擊“免費注冊”)
3.信息填報完畢,即可在“管理控制臺”免費獲取。
方法二:
點擊我的頭像,進入個人主頁后,在下方找到“免費下載”。
包括ucloud,中鐵,中冶,許繼電氣,恒逸石化等20萬+的企事業單位或機構,都在使用它,所以你可以打消技術支持方面的顧慮。
不好意思,這個坑我正在踩!
我花一年弄了個軟件,duang云收藏夾,已經花了快五十萬了,但估計這只是個開始!盈利還沒見到苗頭!
去年疫情導致我的海外電商不太好做,我就琢磨自己做個軟件工具,這樣起碼用戶穩定,不想電商每次一個新產品推廣都是新投入,有收獲還好,大多數產品的前期投入都是打水漂了!我運氣好遇到了幾個好的產品。
基于這種思想我就開始了軟件開發之路!
七八年前搞過軟件,但這么多年了沒碰過技術,所以就只有走代開發和招人自己組隊開發兩條路。
基于風險我選了第一條路。
進去就一個坑,一個搞電商系統的滿口承諾搞定,結果給了幾萬塊錢他就直接粗暴簡單地把一個電商平臺軟件改了一下給我,沒有前后端分離,沒有任何數據記錄,沒有支付接口,拿了80%的錢后就消失了。
但好歹界面結構有點我想搞的產品的意思了,所以又找了第二波。
大概花了十幾萬,出來了,但這個團隊是后端技術牛用GO開發的,前端技術爛得一坨×××PHP啥的幾種混搭,我讓朋友看,朋友直接瘋了。
我估計付費請用戶來,用戶都不來!
所以又搞了第三波,自己招人!
招聘了三個月來了兩撥,第二波招的算是靠譜穩定了,但錢也花得嘩嘩嘩的,基本上開發了快一年五十萬是沒了!
所以我的感覺是,精通這事你別談,軟件是團隊協作的活,一個人精通沒用的,得各有所長然后合理分工!獨立開發者的路很窄,只能說做個產品模型,如果上市規模商用的話很難行得通!
我是誰?我在哪里?我要做什么?我為什么做?
以上明確后就可以做項目了,技能,會裝系統,會裝軟件,讓百度教你不會的,理解別人的代碼,變成自己的代碼。
我半年時間自己做了一套系統,包含瀏覽器,安卓管理,安卓瀏覽,tcp服務器,后端,數據庫,web服務器,windows2008, centos等等。
知識點涉及,html5,css,js,php,aspx,mysql,易語言,易安卓,mssql, linux命令,h3c指令,各種js api. 獨立做開發,遇到問題只能自己解決,碰到什么學什么,以上除了aspx比較復雜,其余都可以很快入門,思維方式和編寫風格也比較相似,熟悉其中一個后,其他的就很快了,html css做的好看還是要理解,用點css框架什么的。總的來說,一個人做要活全。用自己擅長的方式解決問題,代碼不必追求高效,先實現需求。
最后說一句,如果自己沒啥事干,重復造輪子也是一種學習的方式。
0
回答0
回答7
回答1
回答8
回答0
回答0
回答9
回答9
回答2
回答