Netty+MUI從零打造一個仿微信的高性能聊天項目,兼容iPhone/iPad/安卓


要說到微信,我相信是個人都應該知道,幾乎人人都會安裝這款社交APP吧,它已經成為了我們生活中不可缺少的一份子。

我記得我上大學那會剛接觸Java,做的第一個小項目就是基於J2SE的聊天室,使用Java編寫websocket異常麻煩,而且又是同步阻塞的,性能非常差。隨后幾年經過工作的歷練,接觸了netty,使用netty可以搭建一款高性能的服務器,他封裝了很多api,也提供NIO 和 AIO,當然可以用來編寫websocket。

其實我一直想着自己能不能開發一款APP,用於聊天,用於社交呢?苦於不會iOS和安卓,而且要開發多個不同手機端,開發成本太高了。后來接觸了MUI,發現這個前端框架非常牛,可以說是最接近原生APP的UI框架了。

那么結合以上三點,我想咱們也能模仿微信來做一款簡單的聊天app吧?隨后就有了這套實戰,我們通過下圖簡單了解一下課程大綱以及體驗版內容

在看下圖,其中包含了app的體驗二維碼,只不過是安卓版的,ios沒有發布到appstore,不過也能從導學可以看到相應的演示。

 

整體實戰內容分為5大塊,簡單說一下

1,netty入門,理解bio nio aio,理解netty三種線程模型。

2,搭建一個最簡單的hello netty服務器,搭建一個websocket網頁聊天小程序,可以使用戶在web瀏覽器或者移動端瀏覽器進行消息的收發。

3,搭建移動端整體架構,完成通訊錄開發,添加好友,個人信息頁面開發等

4,聊天業務開發與netty整合,涉及到相關業務細節方面的處理。心跳機制,使用netty保持后端心跳,當然前端也要根據業務保持一定的keepalive

5,項目打包上線到雲服務器,app雲打包與安裝測試

其實還有一點,就是推送,我們會整合個推推送,實現添加好友,通過好友請求以及用戶離線消息的推送,不過這塊內容后續會以免費課的形式推出噢~(大家可以關注~)

 

可能有小伙伴會問,要兼容多端,是不是很難?需要哪些技能儲備?需要會ios和安卓嗎?

其實大家多慮了,

前端: html css JavaScript,js方面只需要會原生的即可,當然你會jQuery vue等那就錦上添花啦~

后端: Javaweb ssm基礎 springboot基礎 mysql 以及linux

很簡單吧~

 

看得出來,老師的課程都是以全棧為主,包括老師之前的一套仿抖音全棧實戰(https://coding.imooc.com/class/217.html)也是如此,為啥要推動全棧呢?

1、首先,在有些公司,開發一個app,需要兩個手機端,一個后端,一個運維,這是最少的配備,人力成本是老板必須要考慮的事,當然,如果前后端以及運維你都會了,為老板節省了成本,你的薪水也能上升啊!同樣你的個人競爭力就更加體現了,不是么?
2、現在很多企業的不同產品線都會有聊天的業務,主要提供給用戶和客服人員的溝通,學完以后當你遇到類似的聊天業務時,就能從容面對了吧
3、接私活,很多程序員都會接私活,包括老師我也是,現在的私活不像幾年前那么簡單了,幾乎都需要全棧,學完咱們這套實戰啊,你就可以邁向個人開發者了,以后的零花錢啊也不用發愁嘍~甚至當你有想法的時候創業也是OK的! 
4、假設你正好要做一個高大上的畢業設計,普通的畢設可能並不能忽悠導師,那么這個時候你就不用愁了,學完以后做個驚艷同學和你導師的作品吧 
5、很多人認為雲服務器這玩意很難,懼怕,而且需要linux基礎,那么不用怕,課程中會手把手把你項目部署到騰訊雲服務器,從此不再懼怕項目發布和上線 
6、有助於面試,現在面試往往到最后都會問你了解netty嗎,談一談聊一聊netty,很多人懼怕netty也不了解netty而失去了offer,如果你面試的時候,能夠拿出這樣的一個項目給面試官看,從零到上線的過程大致講一遍,再聊一聊netty是怎么用的,那么企業基本都會要你,我是面試官的話也是如此,大大增加了你的個人競爭力 
7、未來職業規划。做全棧,對於你未來的職業路徑也是非常好的非常重要的,為什么?等你到4-50歲的時候你還是做開發嗎?國內外的互聯網環境是不一樣的,你要往技術總監的位置靠攏吧?!如果你不是全棧,那你憑什么做總監?對於技術規划,解決方案,什么業務該用什么技術,技術的好壞等等選擇擇都需要經過你來抉擇,如果你僅僅只會后端或者只會前端,那么你的不足之處會有另外的人來彌補。如果你是從全棧一路走來的,那么你的權利會非常大,老板也會聽你的,他的耳邊不會有第二種聲音。所以不管是現在還是未來,全棧的可發展性可持續性越來越大,不然為什么國外的開發者這么喜歡全棧呢?

既然這么有用,那學起來難嗎?其實不難吧,老師是手把手帶着你一步步實現的~

此外,除了實戰內容以外,老師還提供了額外的課程彩蛋,都是老師之前錄制的哈,都是為了大家能夠更好的學習到技能,相關課程如下:
1. linux基礎; 2. MUI基礎入門  3. shiro權限入門  4. 微信/支付寶支付 等~,這些老師都會提供給大家噢~

另外springboot入門與整合的免費課程之前也已經上線:https://www.imooc.com/learn/956

​那么最后,還是祝大家能夠學習到自己想要的技能,提高個人競爭力,課程已經上線,地址如下: https://coding.imooc.com/class/261.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM