本人是大二軟體工程學生,現在準備做個網站,並且做手機用戶端出來,感覺需要學習的知識太多了,很迷茫!?
來源:互聯網
上載者:User
關鍵字
object
server
Oracle
HTML
Java
最近想做一個網站,計劃是先用公眾平台做介面,先把核心功能實現,然後再添加功能並作出手機用戶端,網頁製作要用到HTML+js+php來實現Ajax,還有資料庫的使用,手機端開發要用到Java,C#,object-c,還有手機與伺服器通訊要用什麼寫好,感覺需要學習的很多,不知道怎麼學習了,感覺知識需要的太多了,是一門一門先一起學,還是主要學習一門,再來學習別的,現在的基礎是學過C語言,資料結構,作業系統,資料庫學了SQL server,電腦群組成原理,正在學C#,還有Oracle,現在我應該怎麼去學習,求前輩指點。
回複內容:
JavaScript是全世界最好的語言
========================
你可能需要掌握的知識
伺服器
資料庫
Web開發
IOS/Android/WP開發
你需要掌握的語言可以只簡化成一種
JavaScript
========================
你可以選擇朱奕嘉提到的Meteor這樣的整合化解決方案,只需要幾行代碼就可以編譯且運行適配所有終端的App
Meteor is a complete platform for building web and mobile apps in pure JavaScript.
========================
也可以選擇MEAN這樣比較成熟的全棧JavaScript開發架構搭建好你的Web服務和瀏覽器應用
MEAN - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js.
之後選擇
Ionic: Advanced HTML5 Hybrid Mobile App Framework
或者最近大火的facebook開源項目
React Native
來開發你的App
========================
當然你也可以使用別的語言
例如Web服務也可以選用
Laravel - The PHP Framework For Web Artisans
資料庫可以使用
MySQL :: The world's most popular open source database
一聽你的描述就知道要糟。
少年你想的太多了。
你給自己擺上N多菜譜,一直看著菜譜,說艾瑪這個好難炒啊,那個好難炒啊,萬一炒出來不好吃怎麼辦,這配料不知道是什麼鬼,看起來都好難啊。
做技術最怕的就是表面看了一堆東西要學,自以為這是一個big picture,但是這樣做很容易想多。
聽我的:
你現在就是要做一個網站,把手機用戶端扔在腦後。從此時此刻開始一句一句得寫,一個一個功能開始寫。你所擔心的那些鬼東西,等你做到那裡自然就知道怎麼做了,其實
都很簡單!等你寫完網站,你就不會再過來問手機用戶端的問題了。
萬事開頭難,技術尤其如此。
多思少想勤做。學的東西的確很多,但是真要有心來弄,伺服器前端+後端+跨平台app支援想要一起上,也不是什麼難事,
如果需求不高的話。
舉個很簡單例子,幾個月前開發的Animate Raw(http://oneechan.moe/
),目前處於絕贊開源沒人管的狀態(。(由於缺錢)一個伺服器同時跑前後端+主流Android&Windows10支援,全部都用的.Net。
.Net有一個好,就是你會了架構,那剩下的就是實現了。
首先是伺服器後端,後端跑著一個自動從leopard-raws下片源然後上傳到鵝廠Object Storage Service並且整理到SQL Server資料庫裡面的小指令碼,基本上是7x24無人值守。這裡你至少,需要學習一些SQL語句,Json處理,還有如何用好別人提供的API庫(鵝廠Object Storage Service的API寫得……)。這些都不難,google和stackoverflow是你最好的老師。
伺服器前端,跑的是http://ASP.NET
,並且提供了Web API。這裡你需要瞭解的是,JS+HTML的使用,http://ASP.NET
基本使用,MVC。對了,如果你不想讓你的網站看上去十分寒磣,最好還要瞭解一下一些UI庫,比如這裡用的是google的material design lite,很多UI庫都會提供tutorial,不至於你看到一個很炫很特技的UI庫卻不知道如何使用。
到這裡為止,你需要瞭解的也沒有想象中的這麼多,不是嗎?
好了,到這裡你想要開始開發用戶端了。正如上文提到的,伺服器前端提供了API,用戶端就可以使用這個API擷取資料。OK,一切很簡單,Windows用戶端很簡單,你只需要瞭解一下簡單的MVVM,怎麼畫UI,HttpClient怎麼用,沒了。Android用戶端我用的Xamarin,學生可以到dreamspark拿一個一年免費,如果很不幸你已經畢業了,這也無妨,使用Xamarin.Android的架構和普通的Android架構沒什麼不同,很好做遷移的。同樣,你需要瞭解一下簡單的Android下的MVC具體怎麼實現,以及怎麼畫UI。
到此所有問題都解決了,回頭看看這些你所需要的所有知識,看起來是很多,對沒錯,廣度上來說是很多,但是深度上來說這太少了,當然,如果你同時需求深度和廣度,那你可以找幾個人來一起幹,或者一個一個慢慢學,如果你真的想的話。
其實一開始,Animate Raw並沒有想的這麼多,只是一個簡單的伺服器後端+API然後帶一個Windows10用戶端而已,但是後來,發現自己其實在用Android機,用戶端沒有手機可以用,於是開發了一個Android版本,接著,發現每次更新都要串連USB然後傳APK,真麻煩,於是開發了伺服器前端。
一口氣吃不成胖子,一開始如果沒有能力全部實現,那就分步按計划去實現,遇到不會的,不懂的知識,除了啃書,就是google和stackoverflow。這樣就不會讓你感到這不會那不會很迷茫然後跑來提問了:)
菜雞學校CS專業,對就是那個什麼都學什麼都不會的那個。我看題主的意思是,想一個人把功能做出來,然後接入,然後再一個人把安卓,ios,wp的手機端全部做出來啊。
你這是要逆天啊。
你能寫wp,你為什麼不順便用.net做網站
你能寫安卓,你為什麼不用java寫網站。
你居然又要用php。
你還要寫html和js。
真真正正的全棧啊。
還有,你計劃的網站是php,你為什麼在學C#!,你計劃的網站是php,你為什麼用Oracle(或許你覺得mysql被Oracle收購了就可以叫Oracle。。。)!
以你現在的水平和見識,如果你能達到你所說的這些,你兒子剛好夠上大二了。
做事情要腳踏實地,創業不是一個人的事情。
你要找你感興趣的方向。你如果要做伺服器端,選好語言你就朝一個方向去做,前端的東西分離給一個人做,手機端可以分離給1-3個人做。手機端的東西,你如果要三個平台全上的話,你可以選擇各招一個人,一人負責一個平台,也可以選擇招一個C#大牛,用C#開發三個平台,都是可以的。
所以我說,你現在開始學C#吧。
這樣你網站的後台就可以完全自己做,三個手機端的也可以自己做。等你能達到這個程度,你所說的東西,也就可以了想學的太多了,得做減法。給你個實際的路線,僅供參考:
1,HTML和CSS找個好的入門教程吧,最好看視頻,記得時刻動手,自己把例子走遍。瞭解HTML CSS特性後就各種實戰,做頁面,比如隨便哪個網站拿起來就寫寫看。對了,這之前你得瞭解些布局的知識,比如浮動,絕對位置,相對定位啥的。
2,JS方面前期就接觸Jquery吧,方法也是看入門文檔,然後各種例子走一遍。其他的不用學太多,以後直接在項目中哪裡不會查哪裡。
3,PHP這邊先瞭解文法,物件導向,簡單串連資料庫,然後各種CURD啥的,然後直接去上手一個小型架構,我推薦ThinkPHP吧,前期摸索著做個留言板,從中瞭解MVC是咋回事,以及各種CURD。這其中就可以把上面學的HTML CSS Jquery啥的結合起來了,自己可以做點複雜的頁面,還有無重新整理操作(也就是AJAX)。同時網上也有視頻,可直接邊看視頻邊實戰。記得不會時隨時查手冊。
4,看看前端架構Bootstrap,這個和Thinkphp結合起來做項目很快!
手機用戶端我推薦你就學Hybrid模式開發吧,就是HTML5+CSS開發,國內的看看AppCan。進階點的最近很火的ReactNative
與伺服器通訊啥的推薦PHP擴充,Swoole,很強大!
最後總結,我給你的都是些基本的,先學這些基本的早點出項目吧,然後入道自己各方面深入。這過程少說得有兩三年吧。。想的太多,書看太少既然要做網站,為何不能踏實點用HTML css js先搭建呢?
況且看不到你的需求,靜態動態都沒說,就想搞出全端。同時搞多平台,騷年告訴我你是認真的(。・ω・。)
開個玩笑,先把頭緒理清吧不愛動就套模板。。。wordpress什麼的。。。其實你需要做的僅僅是:邁出第一步。
先佔個坑,明天繼續談meteor,它是一套整合解決方案,基於node.js。從前端到後台都是用javascript,資料庫是mongodb,還可以封裝成ios和andriod應用。