html5的手機客戶端app怎么開發(fā) html5將來會成為開發(fā)app的主流方向嗎?
html5將來會成為開發(fā)app的主流方向嗎?HTML5是相當外行的說法, 不過類似你這樣的問題, 其實很早之前就出現(xiàn)了, 歷經(jīng)無數(shù)的爭論而依舊是毫無定論,未來的事兒誰也說不清楚。我自己的立場, 覺得是
html5將來會成為開發(fā)app的主流方向嗎?
HTML5是相當外行的說法, 不過類似你這樣的問題, 其實很早之前就出現(xiàn)了, 歷經(jīng)無數(shù)的爭論而依舊是毫無定論,未來的事兒誰也說不清楚。我自己的立場, 覺得是PWA更有可能成為主流, 也僅僅是占有率可能會大一點, Native自然有他不可替代的地方, 這里就幾個名詞,幫你科普一下。
常放在一起討論的是: Web APP,Native APP, 小程序, PWA。
我想你說的HTML5就是指的Web APP, 是運行在瀏覽器中的網(wǎng)頁,當然在PC上依然可以訪問, 但是適配不一定這么好。由于canvas以及很多HTML5新興API的支持, 讓Web APP能發(fā)揮巨大的功能。而你所說的HTML5, 實際上是指的HTML5的API和規(guī)范集合。 其中包括了HTML/CSS/JavaScript的內(nèi)容, 是泛指,并不是一項技術(shù)。
剩下的懶得說啦... 這些都是些很簡單的東西。你要有興趣就自己查資料吧~
哦, 順便說一句, 不要老是想著這些虛無縹緲的東西, 多看書, 多學習, 不要搞事。
學習軟件工程和軟件開發(fā)怎么入門?
寫在開始之前:應該學習哪種語言,我覺得應該根據(jù)你的工作需要或者說你的發(fā)展方向而定?;旧蟽纱箢惏桑篊/C 和Java。比如,如果你要做企業(yè)級應用的你應該學習Java和C#;如果你想做嵌入式,那么應該學好C語言;其他情況下,在你不知道要做什么之前你可以選擇學習C/C 。學會這兩大類中的一類,對于你學習其他語言都將是比較輕松,包括腳本語言,動態(tài)語言…… ?。?、我的入門是從學習C語言開始的(其實課程是C++),這是我們學校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間后,我就發(fā)現(xiàn)自己的基礎(chǔ)掌握比她好,當然理解深度沒她好),因此,我認為對于完全沒有基礎(chǔ)的人而言,聽別人講比較容易入門。當時的教材是學校自己編的,挺爛的。 建議一(以C/C 為例),對于剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應該也可以了(藍色的)。說明一下:堅決不同意直接看KampR的《The C programming language》,這本書絕對不是初學者可以看懂的,里面講語法的并不多,語法都是合在程序里面講。不過這本書非常好,入門以后一定要看的一本書?! ‘斎豢梢詮腃++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C (紅色的,清華大學出版),這本書第一版不是ISO C++,不過比較經(jīng)典,作者現(xiàn)在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據(jù)說是:《Acclerated C 》作者是Ko《c陷阱與缺陷》《c++沉思錄》。《Acclerated C 》這本入門的書我沒有看過,我覺得還是先找本國內(nèi)的書好好看,看的差不多了,國外的經(jīng)典書籍隨便看就會覺得很有味道,否則你可能會很受打擊?! ∪腴T的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議后面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學的差不多了,我覺得可以把模板、STL、泛型編程結(jié)合起來學習,這個又是一個很大的工作量了,又得下很大的功夫。所以說,C 博大精深啊。 建議二、學習過程中要結(jié)合簡單的算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應該做點大一點的項目,最好是控制臺程序?;蛘吣阋呀?jīng)著手學習win32、MFC或linux,你也可以結(jié)合平臺做點小的項目?! ?、第一階段是最苦的,接下來相對就知道應該怎么去學習了。這時候假設(shè)你已經(jīng)有了扎實的c++基礎(chǔ)。這是你可以選擇也應該選擇發(fā)展方向了,做企業(yè)級應用,還是系統(tǒng)開發(fā),嵌入式設(shè)計或者游戲開發(fā)…… 那時我其實并沒有考慮那么多,因為我不是學計算機的,因此我就把參加一些計算機之類的考試當作學習目標。我當時其實C++語言基礎(chǔ)已經(jīng)很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結(jié)果上機都沒有通過。我很郁悶,二級的時候是我不知道怎么樣進那個DOS界面把題目調(diào)出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環(huán),結(jié)果那破機器竟然承受不了。后來一亂就毀了(當然主要是上機太少了)。不過我那些上機都沒有去補考。二級和三級的時候是自恃水平已經(jīng)遠遠超過考試要求了(^_^,見笑了,可能是因為等級考試還是比較簡單的),四級的時候則因為自己已經(jīng)通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)?! 〗ㄗh三:定位學習方向(見附錄一)并好好學習計算機基礎(chǔ)知識。在你還不確定學習方向,或者你還在大學本科期間,那么我認為應該先把計算機的基礎(chǔ)知識好好學習一下。我認為計算機必學的基礎(chǔ)課程而且要精學——首先是數(shù)據(jù)結(jié)構(gòu),其次是操作系統(tǒng)、軟件工程,數(shù)據(jù)庫。這四門課不管你將來想從事哪個方向的基本上都會用到。當然,有時間的話,其他基礎(chǔ)課都是應該掌握的,離散數(shù)學、組成原理、體系結(jié)構(gòu)、網(wǎng)絡(luò)、編譯原理甚至跨學科的。方向是很重要的,因為知識其實是無限的,一個小小的領(lǐng)域就夠你研究很久了。本科生可能還沒有什么方向的感覺,但是到了研究生你一定要清楚自己到底想要做什么,要往哪個方面發(fā)展,不要盲目學,瞎學亂學,否則最后可能看似什么都會,其實什么都不會?! ∥乙苍?jīng)學習過Java一段時間,這篇文章既然是談編程語言的入門學習,我也簡單說一說。因為有了比較C++扎實的語言基礎(chǔ),所以Java學起來比較輕松。我先找了國內(nèi)一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時間配合清華張孝詳老師的java視頻。以后其實才算我真正要開始入門JAVA的學習,我用了是《core java》中文第六版(本來想用候捷翻譯的第二版的《Thinking in Java》,發(fā)現(xiàn)被同學弄丟了),這本書我差不多用了20天才把里面的知識都搞懂,當然包括程序風格的模擬,最重要的時我把有關(guān)GUI編程的那三章里面的程序例子幾乎可以默寫出來(當然,那是因為我理解了,其實這樣就變成了我的知識了),里面的API我也記得差不多了。(說明:Java里面的GUI編程沒什么用處了,建議大家先跳過,GUI不是Java的長處,如果以后需要的話再查手冊或者再記憶學習)?! ∑鋵崒W習了C++以后,學習Java是比較容易了,但是建議不要兩種都學啦,他們的用途是不一樣的,你應該熟悉其中一種,更重要的是熟悉其應用領(lǐng)域所需要的專業(yè)知識甚至平臺,以及使用他們的企業(yè),有創(chuàng)業(yè)計劃的還應該考慮一下他們的應用領(lǐng)域,最重要的是思考他們的潛在的應用領(lǐng)域?! ?對于初級的學習就講到這里,接下去的學習其實都是高級部分,先不介紹了,因為:一、我自己都還沒有學懂,這里亂吹會誤人子弟。 二、高級東西的學習很多,有很多選擇,又需要很多繁瑣的知識,可能也一下子沒辦法講清楚。