手機網遊前端和後端都用什麼語言開發?

現狀:今年專科畢業,軟體專業,有C語言基礎,準備從事手機網遊程序開發,但深知自己在學校里沒學到什麼有用的東西,浪費了青春,非常後悔,打算找個培訓公司上幾個月課再就業。

問1::不知道學什麼語言,不知道該從事前端開發還是後端開發?求建議。

問2:前端開發有哪些語言?後端開發有哪些語言?如果能分不同平台列舉出來,不勝感激!

求前輩們指條明路,嚴重感謝!


前端:

iOS: Objective c

Android: java

跨平台: html5

遊戲跨平台:cocos2d-x

3d遊戲跨平台:unity3d,udk

後端:

linux下c/c++

Python

Php

Node.js

Ruby on Rails


首先回答"魚"的部分。前端因為cocos2dx和unity的流行,c++和c#是主流。也有部分原生開發用object c的。一般自有引擎多半也是c或c++。部分產品用flash或html5引擎的用的是as和html。後端不存在手游或其他平台的區分,根據各自所用平台和底層,可能涉及c++、java、python、lua、erlang等。

然後是"漁"的部分。浪費的青春總是需要花同樣的代價來追回。如果想真正在技術上走得更遠,絕對不要老想捷徑。實用性的語言和技術可以學習掌握,但更好的狀態是掌握至少兩種語言,一種編譯型一種解釋型。但這遠遠不夠。沒有打好堅實基礎或接受嚴謹訓練的情況下,找一個重視技術的公司或技術能力強的老大是避免青春繼續浪費的好辦法。那麼站在這樣的公司和個人的立場上,技術態度踏實有潛力的人是更願意培養的。所以,不管你學習哪種語言,一定不要聚焦於多塊做出了東西或工具掌握多熟,一定要把語言的特性吃透。可以不了解全貌,但涉及的部分,千萬不要淺嘗輒止,要把系統原理深入透徹地掌握。

至於前端後端,前端起薪高些後端通用性強些,但這不是很重要。遊戲開發大部分時間都是上層開發。等到能深入底層做架構或定製引擎的技術階段,前端後端只是個技術偏向和經驗積累的區別。不可能只懂一方面。


前端:

基於android和ios原生態開發的公司,基本可以無視了。

基於cocos2d-x的,c++,lua,html,也有用其他的,少。

基於unity3d的,c#

基於自研引擎的,不知道。(c++的可能多一點)

後端:

java

php

c++

lua


純個人建議

手機遊戲 看需求 2d的遊戲 如果只做iOS的話 請用cocos2d這個引擎 語言是OC 如果是iOS安卓都做請用cocos2d-x這個引擎 語言是c++ 2d在iOS上穩定性好 2dx就是跨平台用的 比較省時間 現在基本都是用2dx 2d的也有但是太少 一般呢配合lua這種腳本語言做邏輯 然後動態的更新lua腳本 但核心還是c++(你先了解2dx 在研究lua 學習重點 lua和C++是怎麼在內存交互的 看懂就行 以後頂多就是SDK返回幾個不同類型的參數 你傳給lua )

3D遊戲 主流unity 3d 用的是C# 本人不是特別了解U3D不多說 但是我對U3D的理解就是可視化編程 讓寫代碼在形式上變的更加輕鬆簡單 但是往深了太尼瑪難了 如果幾何學習好 那麼恭喜你

在2dx實際的開發中

OC和java 基本就是在涉及SDK相關的東西才回用到 我的理解呢 就是SDK的接入難度和你沒啥卵關係 和這個SDK的文檔和寫這個SDK的人有直接關係

我們再來談語言

如果以後想做前端的2d遊戲開發 那麼推薦你就用主流的2dx遊戲引擎那麼 以下是學習語言的個人建議

就特么學C++ 就學C++ 就學C++ 咬牙學 往死里學 愛誰誰

OC 需要的時候現學 如果可以你們培訓的老師會一帶而過 OC是C的另一個分支 你就知道OC的內存管理(引用計數 2dx也用到了這個感念) 還有配合iOS常用的委託模式基本就夠用了 (但是請注意OC的多肽和C++的多肽說不是一個事 永遠都有人搞混 OC的多肽就是不同的類可以用相同的函數名字 [A show] [B show] 說的是這個意思 C++的多肽是父類指針調用子類方法)

java呢 個人建議 不學 不學 不學 (前提是你C++沒問題)浪費時間 用的時候直接百度 不學的原因 java特點 語法簡單簡單的沒誰了 但是類庫特別多 也是沒誰了 你學幾個月java也接觸不全 不如你實際應用來的快 用的時候針對性的去學習

當然了 你要是後端 就要往死里學了(還有資料庫 各種查詢語言 事務什麼的都往死里學) java太尼瑪安全了 沒誰了 什麼?野指針?那是啥? java不知道那是啥!

lua不學 用的時候在學(或者閑的蛋疼的時候再去學) 最多給你7天時間(我用了不到3小時但我是直接看的我們公司的代碼 人家的思路和注視特別的清晰 百度的基本的語法 lua的重點就是怎麼喝C++交互的 )我覺著吧 7天要是學不會lua 也是沒誰了

2dx涉及的工具

cocosBuilder(可視化UI編輯器) texturePacker 還有很多不好意思我沒有第一時間想起來

如果你有條件 請一定去了解一下日本的CRI配合cocos2dx 去你媽簡直神器 真的特么沒誰了 拼圖什麼的再見 什麼iOS的AAC 安卓的agg音效 再見 什麼資源打包成zip並且加密的再見 什麼loading的時候內存峰值過高好多手機玩不了再見


前端開發:

Objective+C;Java;HTML5;cocoa2d-x;unity3d,udk;

後端開發:

Linux下的C/C++;PythonPhpNode.js


我是做手游伺服器的,一個台灣ip卡牌遊戲,用的java寫的伺服器,客戶端用的c#,unity引擎


學好C++,然後根據興趣精鑽前端或者後端


我正在學習後端開發,用的是java,用最熟悉的把


推薦閱讀:

學習前端好睏惑,不適合前端嗎?
在面試中,怎樣能通俗易懂又不白痴的回答出面試官提出的js中閉包問題?
不清楚到底是怎麼基於ES6模塊 進行模塊靜態分析的??
angularJS1.X學到一半發現2.0的存在,要不要繼續1.X?
如何看待 Immutable App Architecture?

TAG:前端開發 | 後端技術 | 手機網遊 |