Erlang

Erlang

2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

KevinGong 回复了问题 • 3 人关注 • 734 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 853 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
评论

Erlang之父Joe Armstrong今日到访环信,激情讲述如何构建一个永不停机的系统 Armstrong Erlang

beyond 发表了文章 • 747 次浏览 • 2016-11-22 16:47 • 来自相关话题

   据环信社报道:今日,61岁的Erlang之父Joe Armstrong不远万里来到中国,与环信程序猿一行举行了亲切的会谈。Joe分享了对如何学习编程,如何成为大牛等一系列热门问题提出了自己的看法。





   大神Joe激情讲述如何用Erlang特性来构建一个永远不停机的系统。Joe表示:“一个永不停机的系统需要能够在多种失败的情况下依然能够保持正常运行。特别在系统维护和升级方面,Erlang独有的热代码替换有着天然的优势。”





   环信首席架构师&即时通讯云产品线负责人Eric向Joe介绍了Erlang在环信的部署情况:“Erlang在环信已经部署上千台机器,一个典型集群会使用高达3176核8068G内存,用来支持包括移动端、Web端、Windows和Linux等多个平台的千万级长连服务。”

  双方在友好、建设性的气氛中深入探讨就共同关心的重大问题深入交换意见,达成重要共识。





Eric向大神Joe赠送环信纪念品
   环信首席颜值担当Eric首先欢迎Joe Armstrong访问环信。他说,这是Erlang之父近2年来的首次访问环信,也是中国和瑞典程序猿交流中的一件大事。环信高度重视Joe的访问,相信此访必将对中瑞计算机语言长远发展产生新的推动。(新闻联播口音)




环信小粉丝获得大神Joe亲笔签名赠书




为了帮助大家学习Erlang语言,大神Joe推荐给开发者的教材
Erlang特性:
 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。 软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新  旧代码是共存的。 递增式代码装载-用户能够控制代码如何被装载的细节。 外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。 Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。 面向并发的编程(COP concurrency-oriented programming) 函数式编程 动态类型 及早求值或严格求值 脚本语言
关于Erlang和Joe ArmstrongErlang得名于丹麦数学家及统计学家Agner Krarup Erlang,同时Erlang还可以表示Ericsson Language。
Erlang并非一门新语言,它出现于1987年,只是当时对并发、分布式需求还没有今天这么普遍,当时可谓英雄无用武之地。Erlang语言创始人Joe Armstrong当年在爱立信做电话网络方面的开发,他使用Smalltalk,可惜那个时候Smalltalk太慢,不能满足电话网络的高性能要求。但Joe实在喜欢Smalltalk,于是定购了一台Tektronix Smalltalk机器。但机器要两个月时间才到,Joe在等待中百无聊赖,就开始使用Prolog,结果等Tektronix到来的时候,他已经对Prolog更感兴趣,Joe当然不满足于精通Prolog,经过一段时间的试验,Joe给Prolog加上了并发处理和错误恢复,于是Erlang就诞生了。这也是为什么Erlang的语法和Prolog有不少相似之处,比如它们的List表达都是[Head | Tail]。
1987年Erlang测试版推出,并在用户实际应用中不断完善,于1991年向用户推出第一个版本,带有了编译器和图形接口等更多功能。1992年,Erlang迎来更多用户,如RACE项目等。同期Erlang被移植到VxWorks、PC和 Macintosh等多种平台,两个使用Erlang的产品项目也开始启动。1993爱立信公司内部独立的组织开始维护和支持Erlang实现和Erlang工具。环信Erlang工程师招聘​职位:通讯研发工程师(Erlang/Golang) 薪资范围: 25000以上
工作职责:
1. 负责开发和维护即时通讯系统,优化提高后端服务的承载能力;
2. 或负责优化、改进和实现IM协议,为移动互联网以及物联网用户提供可靠实时的即时通讯服务;
任职要求:
1. 熟悉Erlang、Golang或C/C++开发,有Unix/Linux平台相关经验者优先;
2. 熟悉网络通信机制及常用数据传输协议;
3. 熟悉常用数据库,如MySQL、Redis系统,有HBase或其他NoSQL相关使用经验者优先;
4. 有较强的解决问题能力,能够承受压力情况下完成解决问题;
5. 能够与团队成员紧密合作,共同攻克技术难题;
6. 掌握多种语言者优先,Go、Python或其他语言均可;
7. 需要有开放共享的心态,接受开源思想,有Github创建、维护或参与经验更好;
简历请发送至"talent@easemob.com" 查看全部
004.jpg

   据环信社报道:今日,61岁的Erlang之父Joe Armstrong不远万里来到中国,与环信程序猿一行举行了亲切的会谈。Joe分享了对如何学习编程,如何成为大牛等一系列热门问题提出了自己的看法。

001.jpg

   大神Joe激情讲述如何用Erlang特性来构建一个永远不停机的系统。Joe表示:“一个永不停机的系统需要能够在多种失败的情况下依然能够保持正常运行。特别在系统维护和升级方面,Erlang独有的热代码替换有着天然的优势。”

002.jpg

   环信首席架构师&即时通讯云产品线负责人Eric向Joe介绍了Erlang在环信的部署情况:“Erlang在环信已经部署上千台机器,一个典型集群会使用高达3176核8068G内存,用来支持包括移动端、Web端、Windows和Linux等多个平台的千万级长连服务。”

  双方在友好、建设性的气氛中深入探讨就共同关心的重大问题深入交换意见,达成重要共识。

4]OD_DPUAMC8JN)BRO0[OT7.png

Eric向大神Joe赠送环信纪念品
   环信首席颜值担当Eric首先欢迎Joe Armstrong访问环信。他说,这是Erlang之父近2年来的首次访问环信,也是中国和瑞典程序猿交流中的一件大事。环信高度重视Joe的访问,相信此访必将对中瑞计算机语言长远发展产生新的推动。(新闻联播口音)
003.jpg

环信小粉丝获得大神Joe亲笔签名赠书
VEC}3ZXHMHQAKZ24CGBZ9G.png

为了帮助大家学习Erlang语言,大神Joe推荐给开发者的教材
Erlang特性:
  •  并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。
  •  分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)
  •  健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。
  •  软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。
  •  热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新  旧代码是共存的。
  •  递增式代码装载-用户能够控制代码如何被装载的细节。
  •  外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。
  •  Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。
  •  面向并发的编程(COP concurrency-oriented programming)
  •  函数式编程
  •  动态类型
  •  及早求值或严格求值
  •  脚本语言

关于Erlang和Joe Armstrong
Erlang得名于丹麦数学家及统计学家Agner Krarup Erlang,同时Erlang还可以表示Ericsson Language。
Erlang并非一门新语言,它出现于1987年,只是当时对并发、分布式需求还没有今天这么普遍,当时可谓英雄无用武之地。Erlang语言创始人Joe Armstrong当年在爱立信做电话网络方面的开发,他使用Smalltalk,可惜那个时候Smalltalk太慢,不能满足电话网络的高性能要求。但Joe实在喜欢Smalltalk,于是定购了一台Tektronix Smalltalk机器。但机器要两个月时间才到,Joe在等待中百无聊赖,就开始使用Prolog,结果等Tektronix到来的时候,他已经对Prolog更感兴趣,Joe当然不满足于精通Prolog,经过一段时间的试验,Joe给Prolog加上了并发处理和错误恢复,于是Erlang就诞生了。这也是为什么Erlang的语法和Prolog有不少相似之处,比如它们的List表达都是[Head | Tail]。
1987年Erlang测试版推出,并在用户实际应用中不断完善,于1991年向用户推出第一个版本,带有了编译器和图形接口等更多功能。1992年,Erlang迎来更多用户,如RACE项目等。同期Erlang被移植到VxWorks、PC和 Macintosh等多种平台,两个使用Erlang的产品项目也开始启动。1993爱立信公司内部独立的组织开始维护和支持Erlang实现和Erlang工具。
环信Erlang工程师招聘​
职位:通讯研发工程师(Erlang/Golang) 薪资范围: 25000以上
工作职责:
1. 负责开发和维护即时通讯系统,优化提高后端服务的承载能力;
2. 或负责优化、改进和实现IM协议,为移动互联网以及物联网用户提供可靠实时的即时通讯服务;
任职要求:
1. 熟悉Erlang、Golang或C/C++开发,有Unix/Linux平台相关经验者优先;
2. 熟悉网络通信机制及常用数据传输协议;
3. 熟悉常用数据库,如MySQL、Redis系统,有HBase或其他NoSQL相关使用经验者优先;
4. 有较强的解决问题能力,能够承受压力情况下完成解决问题;
5. 能够与团队成员紧密合作,共同攻克技术难题;
6. 掌握多种语言者优先,Go、Python或其他语言均可;
7. 需要有开放共享的心态,接受开源思想,有Github创建、维护或参与经验更好;
简历请发送至"talent@easemob.com"
1
回复

Erlang和Golang的几点比较 Erlang Golang

四季修心 回复了问题 • 2 人关注 • 2738 次浏览 • 2015-08-05 16:16 • 来自相关话题

1
回复

Erlang到底好在哪里 -- 聊聊我使用Erlang的经历与感受 Erlang

四季修心 回复了问题 • 3 人关注 • 3359 次浏览 • 2015-08-05 16:04 • 来自相关话题

3
回复

一些Erlang的资源 Erlang

四季修心 回复了问题 • 4 人关注 • 1461 次浏览 • 2015-08-05 16:02 • 来自相关话题

0
评论

2015 年 6 月 RedMonk 编程语言排行榜 Erlang

oscar 发表了文章 • 1119 次浏览 • 2015-07-07 14:50 • 来自相关话题

RedMonk 发布了 2015 年 6 月的编程语言排行榜,JavaScript 居榜首,Go,Swift 继续上升,函数式编程语言 Scala,Haskell 和 Clojure 上升明显。

现在已经是 2015 的第三个季度了,RedMonk 发布了一年两次的编程语言排行榜,一如既往,跟 Drew Conway 和 John Myles White 在 2010 分析的过程差不多,是根据编程语言在 GitHub 和 Stack Overflow 上讨论的多少和使用量来统计的,可以预测未来编程语言的发展趋势。

排名的根据是编程语言在 Stack Overflow 和 GitHub 都观察过,同时结合很多其他社区的分析统计,GitHub 主要是根据代码行数统计。

下图是 2015 年 6 月的排行榜图表





根据上面的图表,很难分析大体情况,所以提供了下面的数值排名。注意下面列出的是前 21 个编程语言:
1   JavaScript
2   Java
3   PHP
4   Python
5   C#
5   C++
5   Ruby
8   CSS
9   C
10  Objective-C
11  Perl
11  Shell
13  R
14  Scala
15  Go
15  Haskell
17  Matlab
18  Swift
19  Clojure
19  Groovy
19  Visual Basic
跟上一季度一样,JavaScript 比第二的 Java 只是稍稍领先了一点,这些数值差距是非常微小的。这些能体现编程语言的持久热度,但是也一定程度反映了语言的多样性和在企业和初创企业中的作用。

除了这两个语言,前十的语言位置非常稳固的。除了一些小的改变,事实上这些年都差不多是这样的排名。同时发现这是一定周期支持一种特定的语言或者是一种风格的语言,简单的来说,最受欢迎的语言几乎没什么改变,对未来也没什么倾向性的变化,这是不是意味着语言的采用和语言的分化已经达到了顶峰?
 
除了前十,值得关注的变化有:
Go:一年前,我们预言 Go 在 6 -12 个月的时间内会成为前 20 的语言。在 1 月份的排行中 Go 成为了第 17 位,预言成真。现在 Go 是第 15 位,超越了 Haskell 和 Matlab。Erlang:这是并发方面开发者长期选择的一种语言。Erlang 之前从第 26 位升到第 25 位,这主要是两周前 Erlang 抛弃了之前的 MPL 协议,选择了 Apache 协议。Julia/Rust::历史性原因,这两个语言的发展轨迹很相似。上一季度,Rust 向上跳了 8 位,Julia 向上跳了 3 位。此次排名 Julia 比之前上升了 2 位到第 52 位,Rust 向上跳了 2 位到第 48 位。继续保持观望!CoffeeScript::2013 年 Q3 排名 17,之后排名 18,18,21,现在是 22。重回前 20 这不是不可能的,至少找到了立足点和稳定的地位,但是前景并不乐观,因其缺乏动力和竞争。Dart / Visual Basic: 这是经常被问到的两个语言。Visual Basic 现在跟 Clojure,Groovy 排名第 19,未来是否还会在前 20 还不是很明朗。Dart,有着 Google 血统,还有 JavaScript 方面的野心,还在稳定增长中,比 Google 的另一个语言 Go 稍稍落后那么一点点,现在是从第 34 位升到第 33 位。Swift:这个月的 排名因为某些原因有些小小的问题。在几方的要求下,苹果 WWDC 前,我们去看 Swift 是否从第 68 升至第 22 位。不幸的是,因为 Stack Overflow 页面结构的改变,数据抓取失败,所以只能手动查看,缩小了范围,Swift 直接在前 20 位以后,排名 21。

在 我们官方排名中,当然会要求完整的 Stack Overflow 数据,所以 WWDC 之后又收集了一次数据,最新的结果 Swift 从第 21 名升至第 18 名。这就是 WWDC 效应,Swift 排名历史从 68,22 到 18,成为第一个在一年内挺近前 20 的语言。

未来

Go 和 Swift 是前十的种子选手,这也许只是时间问题,我们将会继续关注!Go 也许会取代 Objective C, Perl, Shell, R 和 Scala 的位置。Perl 和 Shell 无处不在,但是频率却不够高;R 和 Scala 非常流行,但是使用范围不够广泛。

Go 成为一个非常受欢迎的现代化后端语言,Swift 也在 iOS 占有一席之地,下一次排名应该会更有趣~ 查看全部
RedMonk 发布了 2015 年 6 月的编程语言排行榜,JavaScript 居榜首,Go,Swift 继续上升,函数式编程语言 Scala,Haskell 和 Clojure 上升明显。

现在已经是 2015 的第三个季度了,RedMonk 发布了一年两次的编程语言排行榜,一如既往,跟 Drew Conway 和 John Myles White 在 2010 分析的过程差不多,是根据编程语言在 GitHub 和 Stack Overflow 上讨论的多少和使用量来统计的,可以预测未来编程语言的发展趋势。

排名的根据是编程语言在 Stack Overflow 和 GitHub 都观察过,同时结合很多其他社区的分析统计,GitHub 主要是根据代码行数统计。

下图是 2015 年 6 月的排行榜图表

1.jpg

根据上面的图表,很难分析大体情况,所以提供了下面的数值排名。注意下面列出的是前 21 个编程语言:
1   JavaScript
2   Java
3   PHP
4   Python
5   C#
5   C++
5   Ruby
8   CSS
9   C
10  Objective-C
11  Perl
11  Shell
13  R
14  Scala
15  Go
15  Haskell
17  Matlab
18  Swift
19  Clojure
19  Groovy
19  Visual Basic
跟上一季度一样,JavaScript 比第二的 Java 只是稍稍领先了一点,这些数值差距是非常微小的。这些能体现编程语言的持久热度,但是也一定程度反映了语言的多样性和在企业和初创企业中的作用。

除了这两个语言,前十的语言位置非常稳固的。除了一些小的改变,事实上这些年都差不多是这样的排名。同时发现这是一定周期支持一种特定的语言或者是一种风格的语言,简单的来说,最受欢迎的语言几乎没什么改变,对未来也没什么倾向性的变化,这是不是意味着语言的采用和语言的分化已经达到了顶峰?
 
除了前十,值得关注的变化有:
  • Go:一年前,我们预言 Go 在 6 -12 个月的时间内会成为前 20 的语言。在 1 月份的排行中 Go 成为了第 17 位,预言成真。现在 Go 是第 15 位,超越了 Haskell 和 Matlab。
  • Erlang:这是并发方面开发者长期选择的一种语言。Erlang 之前从第 26 位升到第 25 位,这主要是两周前 Erlang 抛弃了之前的 MPL 协议,选择了 Apache 协议。
  • Julia/Rust::历史性原因,这两个语言的发展轨迹很相似。上一季度,Rust 向上跳了 8 位,Julia 向上跳了 3 位。此次排名 Julia 比之前上升了 2 位到第 52 位,Rust 向上跳了 2 位到第 48 位。继续保持观望!
  • CoffeeScript::2013 年 Q3 排名 17,之后排名 18,18,21,现在是 22。重回前 20 这不是不可能的,至少找到了立足点和稳定的地位,但是前景并不乐观,因其缺乏动力和竞争。
  • Dart / Visual Basic: 这是经常被问到的两个语言。Visual Basic 现在跟 Clojure,Groovy 排名第 19,未来是否还会在前 20 还不是很明朗。Dart,有着 Google 血统,还有 JavaScript 方面的野心,还在稳定增长中,比 Google 的另一个语言 Go 稍稍落后那么一点点,现在是从第 34 位升到第 33 位。
  • Swift:这个月的 排名因为某些原因有些小小的问题。在几方的要求下,苹果 WWDC 前,我们去看 Swift 是否从第 68 升至第 22 位。不幸的是,因为 Stack Overflow 页面结构的改变,数据抓取失败,所以只能手动查看,缩小了范围,Swift 直接在前 20 位以后,排名 21。


在 我们官方排名中,当然会要求完整的 Stack Overflow 数据,所以 WWDC 之后又收集了一次数据,最新的结果 Swift 从第 21 名升至第 18 名。这就是 WWDC 效应,Swift 排名历史从 68,22 到 18,成为第一个在一年内挺近前 20 的语言。

未来

Go 和 Swift 是前十的种子选手,这也许只是时间问题,我们将会继续关注!Go 也许会取代 Objective C, Perl, Shell, R 和 Scala 的位置。Perl 和 Shell 无处不在,但是频率却不够高;R 和 Scala 非常流行,但是使用范围不够广泛。

Go 成为一个非常受欢迎的现代化后端语言,Swift 也在 iOS 占有一席之地,下一次排名应该会更有趣~
4
回复

Erlang 与 Web 开发(转) Erlang

[已注销] 回复了问题 • 0 人关注 • 2480 次浏览 • 2015-06-05 20:24 • 来自相关话题

1
回复

ERLANG实现快速排序算法 Erlang

[已注销] 回复了问题 • 0 人关注 • 1779 次浏览 • 2015-05-20 00:13 • 来自相关话题

1
回复

Erlang是未来用于并发性的Java? Erlang Java 高并发

[已注销] 回复了问题 • 0 人关注 • 2136 次浏览 • 2015-05-17 20:52 • 来自相关话题

0
回复

Erlang Lab Erlang

回复

huanzh 发起了问题 • 0 人关注 • 1135 次浏览 • 2015-05-05 11:43 • 来自相关话题

2
回复

QCon讲师对对碰:洪小军采访梁宇鹏 梁宇鹏 CommitterClub XMPP Jabber ejabberd OpenFire Erlang Golang Go QCon

[已注销] 回复了问题 • 2 人关注 • 1600 次浏览 • 2015-05-03 20:09 • 来自相关话题

1
回复

CentOS 5.1上编译Erlang-R12B-5 Erlang

[已注销] 回复了问题 • 0 人关注 • 1461 次浏览 • 2015-04-25 18:32 • 来自相关话题

1
回复

Erlang节点间ping失败原因分析 Erlang

[已注销] 回复了问题 • 0 人关注 • 1269 次浏览 • 2015-04-25 12:49 • 来自相关话题

1
回复

Rust、Erlang 并发数量比较 Erlang 高并发

[已注销] 回复了问题 • 0 人关注 • 2661 次浏览 • 2015-04-21 14:36 • 来自相关话题

1
回复

Erlang之父Joe Armstrong访谈:程序调试与啤酒 Erlang

x雷春蓉 回复了问题 • 0 人关注 • 1912 次浏览 • 2015-04-09 18:40 • 来自相关话题

1
回复

Erlang语言作者告诉你什么才是编程最好的方法 Erlang

h建非凡 回复了问题 • 0 人关注 • 1630 次浏览 • 2015-04-09 16:50 • 来自相关话题

0
回复

使用erlang实现简单的二进制通信协议 Erlang

回复

antinomia 发起了问题 • 0 人关注 • 2436 次浏览 • 2015-03-24 15:58 • 来自相关话题

0
回复

Erlang工具书的写作历史 Erlang

回复

metroid 发起了问题 • 0 人关注 • 1528 次浏览 • 2015-03-17 13:38 • 来自相关话题

1
回复

介绍一本书《应该如何使用Erlang》 Erlang

metroid 回复了问题 • 0 人关注 • 1841 次浏览 • 2015-03-02 16:26 • 来自相关话题

1
回复

erlang不需要循环? Erlang

独孤求败 回复了问题 • 0 人关注 • 1735 次浏览 • 2015-02-22 14:04 • 来自相关话题

0
回复

LLVM 的 Erlang 支持 ErLLVM Erlang

回复

独孤求败 发起了问题 • 0 人关注 • 1749 次浏览 • 2015-02-22 14:02 • 来自相关话题

1
回复

erlang新建进程与c++切换线程 谁更耗时间? Erlang

独孤求败 回复了问题 • 0 人关注 • 1737 次浏览 • 2015-02-22 14:00 • 来自相关话题

0
回复

Scala和Erlang,以及多核主导的未来 Erlang Scala

回复

kaifu 发起了问题 • 0 人关注 • 1715 次浏览 • 2015-02-21 14:10 • 来自相关话题

0
回复

全世界只有我们Erlang程序员是正确的 Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1500 次浏览 • 2015-02-21 14:02 • 来自相关话题

3
回复

因并发而生 因云计算而热:Erlang专家访谈** Erlang 高并发

回复

天使牛 回复了问题 • 0 人关注 • 1721 次浏览 • 2015-02-21 14:00 • 来自相关话题

0
回复

Erlang实战建立文本索引 Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1580 次浏览 • 2015-02-21 13:44 • 来自相关话题

2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

KevinGong 回复了问题 • 3 人关注 • 734 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 853 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

回复

KevinGong 回复了问题 • 3 人关注 • 734 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 853 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
回复

Erlang和Golang的几点比较 Erlang Golang

回复

四季修心 回复了问题 • 2 人关注 • 2738 次浏览 • 2015-08-05 16:16 • 来自相关话题

1
回复

Erlang到底好在哪里 -- 聊聊我使用Erlang的经历与感受 Erlang

回复

四季修心 回复了问题 • 3 人关注 • 3359 次浏览 • 2015-08-05 16:04 • 来自相关话题

3
回复

一些Erlang的资源 Erlang

回复

四季修心 回复了问题 • 4 人关注 • 1461 次浏览 • 2015-08-05 16:02 • 来自相关话题

4
回复

Erlang 与 Web 开发(转) Erlang

回复

[已注销] 回复了问题 • 0 人关注 • 2480 次浏览 • 2015-06-05 20:24 • 来自相关话题

1
回复

ERLANG实现快速排序算法 Erlang

回复

[已注销] 回复了问题 • 0 人关注 • 1779 次浏览 • 2015-05-20 00:13 • 来自相关话题

1
回复

Erlang是未来用于并发性的Java? Erlang Java 高并发

回复

[已注销] 回复了问题 • 0 人关注 • 2136 次浏览 • 2015-05-17 20:52 • 来自相关话题

0
回复

Erlang Lab Erlang

回复

huanzh 发起了问题 • 0 人关注 • 1135 次浏览 • 2015-05-05 11:43 • 来自相关话题

2
回复

QCon讲师对对碰:洪小军采访梁宇鹏 梁宇鹏 CommitterClub XMPP Jabber ejabberd OpenFire Erlang Golang Go QCon

回复

[已注销] 回复了问题 • 2 人关注 • 1600 次浏览 • 2015-05-03 20:09 • 来自相关话题

1
回复

CentOS 5.1上编译Erlang-R12B-5 Erlang

回复

[已注销] 回复了问题 • 0 人关注 • 1461 次浏览 • 2015-04-25 18:32 • 来自相关话题

1
回复

Erlang节点间ping失败原因分析 Erlang

回复

[已注销] 回复了问题 • 0 人关注 • 1269 次浏览 • 2015-04-25 12:49 • 来自相关话题

1
回复

Rust、Erlang 并发数量比较 Erlang 高并发

回复

[已注销] 回复了问题 • 0 人关注 • 2661 次浏览 • 2015-04-21 14:36 • 来自相关话题

1
回复

Erlang之父Joe Armstrong访谈:程序调试与啤酒 Erlang

回复

x雷春蓉 回复了问题 • 0 人关注 • 1912 次浏览 • 2015-04-09 18:40 • 来自相关话题

1
回复

Erlang语言作者告诉你什么才是编程最好的方法 Erlang

回复

h建非凡 回复了问题 • 0 人关注 • 1630 次浏览 • 2015-04-09 16:50 • 来自相关话题

0
回复

使用erlang实现简单的二进制通信协议 Erlang

回复

antinomia 发起了问题 • 0 人关注 • 2436 次浏览 • 2015-03-24 15:58 • 来自相关话题

0
回复

Erlang工具书的写作历史 Erlang

回复

metroid 发起了问题 • 0 人关注 • 1528 次浏览 • 2015-03-17 13:38 • 来自相关话题

1
回复

介绍一本书《应该如何使用Erlang》 Erlang

回复

metroid 回复了问题 • 0 人关注 • 1841 次浏览 • 2015-03-02 16:26 • 来自相关话题

1
回复

erlang不需要循环? Erlang

回复

独孤求败 回复了问题 • 0 人关注 • 1735 次浏览 • 2015-02-22 14:04 • 来自相关话题

0
回复

LLVM 的 Erlang 支持 ErLLVM Erlang

回复

独孤求败 发起了问题 • 0 人关注 • 1749 次浏览 • 2015-02-22 14:02 • 来自相关话题

1
回复

erlang新建进程与c++切换线程 谁更耗时间? Erlang

回复

独孤求败 回复了问题 • 0 人关注 • 1737 次浏览 • 2015-02-22 14:00 • 来自相关话题

0
回复

Scala和Erlang,以及多核主导的未来 Erlang Scala

回复

kaifu 发起了问题 • 0 人关注 • 1715 次浏览 • 2015-02-21 14:10 • 来自相关话题

0
回复

全世界只有我们Erlang程序员是正确的 Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1500 次浏览 • 2015-02-21 14:02 • 来自相关话题

3
回复

因并发而生 因云计算而热:Erlang专家访谈** Erlang 高并发

回复

天使牛 回复了问题 • 0 人关注 • 1721 次浏览 • 2015-02-21 14:00 • 来自相关话题

0
回复

Erlang实战建立文本索引 Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1580 次浏览 • 2015-02-21 13:44 • 来自相关话题

0
回复

开源Erlang真的能成为下一代Java语言吗? Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1739 次浏览 • 2015-02-21 13:37 • 来自相关话题

0
回复

浅析Erlang分布的核心技术 Erlang

回复

天使牛 发起了问题 • 0 人关注 • 1959 次浏览 • 2015-02-21 13:36 • 来自相关话题

2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

回复

KevinGong 回复了问题 • 3 人关注 • 734 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 853 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
评论

Erlang之父Joe Armstrong今日到访环信,激情讲述如何构建一个永不停机的系统 Armstrong Erlang

beyond 发表了文章 • 747 次浏览 • 2016-11-22 16:47 • 来自相关话题

   据环信社报道:今日,61岁的Erlang之父Joe Armstrong不远万里来到中国,与环信程序猿一行举行了亲切的会谈。Joe分享了对如何学习编程,如何成为大牛等一系列热门问题提出了自己的看法。





   大神Joe激情讲述如何用Erlang特性来构建一个永远不停机的系统。Joe表示:“一个永不停机的系统需要能够在多种失败的情况下依然能够保持正常运行。特别在系统维护和升级方面,Erlang独有的热代码替换有着天然的优势。”





   环信首席架构师&即时通讯云产品线负责人Eric向Joe介绍了Erlang在环信的部署情况:“Erlang在环信已经部署上千台机器,一个典型集群会使用高达3176核8068G内存,用来支持包括移动端、Web端、Windows和Linux等多个平台的千万级长连服务。”

  双方在友好、建设性的气氛中深入探讨就共同关心的重大问题深入交换意见,达成重要共识。





Eric向大神Joe赠送环信纪念品
   环信首席颜值担当Eric首先欢迎Joe Armstrong访问环信。他说,这是Erlang之父近2年来的首次访问环信,也是中国和瑞典程序猿交流中的一件大事。环信高度重视Joe的访问,相信此访必将对中瑞计算机语言长远发展产生新的推动。(新闻联播口音)




环信小粉丝获得大神Joe亲笔签名赠书




为了帮助大家学习Erlang语言,大神Joe推荐给开发者的教材
Erlang特性:
 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。 软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新  旧代码是共存的。 递增式代码装载-用户能够控制代码如何被装载的细节。 外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。 Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。 面向并发的编程(COP concurrency-oriented programming) 函数式编程 动态类型 及早求值或严格求值 脚本语言
关于Erlang和Joe ArmstrongErlang得名于丹麦数学家及统计学家Agner Krarup Erlang,同时Erlang还可以表示Ericsson Language。
Erlang并非一门新语言,它出现于1987年,只是当时对并发、分布式需求还没有今天这么普遍,当时可谓英雄无用武之地。Erlang语言创始人Joe Armstrong当年在爱立信做电话网络方面的开发,他使用Smalltalk,可惜那个时候Smalltalk太慢,不能满足电话网络的高性能要求。但Joe实在喜欢Smalltalk,于是定购了一台Tektronix Smalltalk机器。但机器要两个月时间才到,Joe在等待中百无聊赖,就开始使用Prolog,结果等Tektronix到来的时候,他已经对Prolog更感兴趣,Joe当然不满足于精通Prolog,经过一段时间的试验,Joe给Prolog加上了并发处理和错误恢复,于是Erlang就诞生了。这也是为什么Erlang的语法和Prolog有不少相似之处,比如它们的List表达都是[Head | Tail]。
1987年Erlang测试版推出,并在用户实际应用中不断完善,于1991年向用户推出第一个版本,带有了编译器和图形接口等更多功能。1992年,Erlang迎来更多用户,如RACE项目等。同期Erlang被移植到VxWorks、PC和 Macintosh等多种平台,两个使用Erlang的产品项目也开始启动。1993爱立信公司内部独立的组织开始维护和支持Erlang实现和Erlang工具。环信Erlang工程师招聘​职位:通讯研发工程师(Erlang/Golang) 薪资范围: 25000以上
工作职责:
1. 负责开发和维护即时通讯系统,优化提高后端服务的承载能力;
2. 或负责优化、改进和实现IM协议,为移动互联网以及物联网用户提供可靠实时的即时通讯服务;
任职要求:
1. 熟悉Erlang、Golang或C/C++开发,有Unix/Linux平台相关经验者优先;
2. 熟悉网络通信机制及常用数据传输协议;
3. 熟悉常用数据库,如MySQL、Redis系统,有HBase或其他NoSQL相关使用经验者优先;
4. 有较强的解决问题能力,能够承受压力情况下完成解决问题;
5. 能够与团队成员紧密合作,共同攻克技术难题;
6. 掌握多种语言者优先,Go、Python或其他语言均可;
7. 需要有开放共享的心态,接受开源思想,有Github创建、维护或参与经验更好;
简历请发送至"talent@easemob.com" 查看全部
004.jpg

   据环信社报道:今日,61岁的Erlang之父Joe Armstrong不远万里来到中国,与环信程序猿一行举行了亲切的会谈。Joe分享了对如何学习编程,如何成为大牛等一系列热门问题提出了自己的看法。

001.jpg

   大神Joe激情讲述如何用Erlang特性来构建一个永远不停机的系统。Joe表示:“一个永不停机的系统需要能够在多种失败的情况下依然能够保持正常运行。特别在系统维护和升级方面,Erlang独有的热代码替换有着天然的优势。”

002.jpg

   环信首席架构师&即时通讯云产品线负责人Eric向Joe介绍了Erlang在环信的部署情况:“Erlang在环信已经部署上千台机器,一个典型集群会使用高达3176核8068G内存,用来支持包括移动端、Web端、Windows和Linux等多个平台的千万级长连服务。”

  双方在友好、建设性的气氛中深入探讨就共同关心的重大问题深入交换意见,达成重要共识。

4]OD_DPUAMC8JN)BRO0[OT7.png

Eric向大神Joe赠送环信纪念品
   环信首席颜值担当Eric首先欢迎Joe Armstrong访问环信。他说,这是Erlang之父近2年来的首次访问环信,也是中国和瑞典程序猿交流中的一件大事。环信高度重视Joe的访问,相信此访必将对中瑞计算机语言长远发展产生新的推动。(新闻联播口音)
003.jpg

环信小粉丝获得大神Joe亲笔签名赠书
VEC}3ZXHMHQAKZ24CGBZ9G.png

为了帮助大家学习Erlang语言,大神Joe推荐给开发者的教材
Erlang特性:
  •  并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。
  •  分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)
  •  健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。
  •  软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。
  •  热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新  旧代码是共存的。
  •  递增式代码装载-用户能够控制代码如何被装载的细节。
  •  外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。
  •  Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。
  •  面向并发的编程(COP concurrency-oriented programming)
  •  函数式编程
  •  动态类型
  •  及早求值或严格求值
  •  脚本语言

关于Erlang和Joe Armstrong
Erlang得名于丹麦数学家及统计学家Agner Krarup Erlang,同时Erlang还可以表示Ericsson Language。
Erlang并非一门新语言,它出现于1987年,只是当时对并发、分布式需求还没有今天这么普遍,当时可谓英雄无用武之地。Erlang语言创始人Joe Armstrong当年在爱立信做电话网络方面的开发,他使用Smalltalk,可惜那个时候Smalltalk太慢,不能满足电话网络的高性能要求。但Joe实在喜欢Smalltalk,于是定购了一台Tektronix Smalltalk机器。但机器要两个月时间才到,Joe在等待中百无聊赖,就开始使用Prolog,结果等Tektronix到来的时候,他已经对Prolog更感兴趣,Joe当然不满足于精通Prolog,经过一段时间的试验,Joe给Prolog加上了并发处理和错误恢复,于是Erlang就诞生了。这也是为什么Erlang的语法和Prolog有不少相似之处,比如它们的List表达都是[Head | Tail]。
1987年Erlang测试版推出,并在用户实际应用中不断完善,于1991年向用户推出第一个版本,带有了编译器和图形接口等更多功能。1992年,Erlang迎来更多用户,如RACE项目等。同期Erlang被移植到VxWorks、PC和 Macintosh等多种平台,两个使用Erlang的产品项目也开始启动。1993爱立信公司内部独立的组织开始维护和支持Erlang实现和Erlang工具。
环信Erlang工程师招聘​
职位:通讯研发工程师(Erlang/Golang) 薪资范围: 25000以上
工作职责:
1. 负责开发和维护即时通讯系统,优化提高后端服务的承载能力;
2. 或负责优化、改进和实现IM协议,为移动互联网以及物联网用户提供可靠实时的即时通讯服务;
任职要求:
1. 熟悉Erlang、Golang或C/C++开发,有Unix/Linux平台相关经验者优先;
2. 熟悉网络通信机制及常用数据传输协议;
3. 熟悉常用数据库,如MySQL、Redis系统,有HBase或其他NoSQL相关使用经验者优先;
4. 有较强的解决问题能力,能够承受压力情况下完成解决问题;
5. 能够与团队成员紧密合作,共同攻克技术难题;
6. 掌握多种语言者优先,Go、Python或其他语言均可;
7. 需要有开放共享的心态,接受开源思想,有Github创建、维护或参与经验更好;
简历请发送至"talent@easemob.com"
0
评论

2015 年 6 月 RedMonk 编程语言排行榜 Erlang

oscar 发表了文章 • 1119 次浏览 • 2015-07-07 14:50 • 来自相关话题

RedMonk 发布了 2015 年 6 月的编程语言排行榜,JavaScript 居榜首,Go,Swift 继续上升,函数式编程语言 Scala,Haskell 和 Clojure 上升明显。

现在已经是 2015 的第三个季度了,RedMonk 发布了一年两次的编程语言排行榜,一如既往,跟 Drew Conway 和 John Myles White 在 2010 分析的过程差不多,是根据编程语言在 GitHub 和 Stack Overflow 上讨论的多少和使用量来统计的,可以预测未来编程语言的发展趋势。

排名的根据是编程语言在 Stack Overflow 和 GitHub 都观察过,同时结合很多其他社区的分析统计,GitHub 主要是根据代码行数统计。

下图是 2015 年 6 月的排行榜图表





根据上面的图表,很难分析大体情况,所以提供了下面的数值排名。注意下面列出的是前 21 个编程语言:
1   JavaScript
2   Java
3   PHP
4   Python
5   C#
5   C++
5   Ruby
8   CSS
9   C
10  Objective-C
11  Perl
11  Shell
13  R
14  Scala
15  Go
15  Haskell
17  Matlab
18  Swift
19  Clojure
19  Groovy
19  Visual Basic
跟上一季度一样,JavaScript 比第二的 Java 只是稍稍领先了一点,这些数值差距是非常微小的。这些能体现编程语言的持久热度,但是也一定程度反映了语言的多样性和在企业和初创企业中的作用。

除了这两个语言,前十的语言位置非常稳固的。除了一些小的改变,事实上这些年都差不多是这样的排名。同时发现这是一定周期支持一种特定的语言或者是一种风格的语言,简单的来说,最受欢迎的语言几乎没什么改变,对未来也没什么倾向性的变化,这是不是意味着语言的采用和语言的分化已经达到了顶峰?
 
除了前十,值得关注的变化有:
Go:一年前,我们预言 Go 在 6 -12 个月的时间内会成为前 20 的语言。在 1 月份的排行中 Go 成为了第 17 位,预言成真。现在 Go 是第 15 位,超越了 Haskell 和 Matlab。Erlang:这是并发方面开发者长期选择的一种语言。Erlang 之前从第 26 位升到第 25 位,这主要是两周前 Erlang 抛弃了之前的 MPL 协议,选择了 Apache 协议。Julia/Rust::历史性原因,这两个语言的发展轨迹很相似。上一季度,Rust 向上跳了 8 位,Julia 向上跳了 3 位。此次排名 Julia 比之前上升了 2 位到第 52 位,Rust 向上跳了 2 位到第 48 位。继续保持观望!CoffeeScript::2013 年 Q3 排名 17,之后排名 18,18,21,现在是 22。重回前 20 这不是不可能的,至少找到了立足点和稳定的地位,但是前景并不乐观,因其缺乏动力和竞争。Dart / Visual Basic: 这是经常被问到的两个语言。Visual Basic 现在跟 Clojure,Groovy 排名第 19,未来是否还会在前 20 还不是很明朗。Dart,有着 Google 血统,还有 JavaScript 方面的野心,还在稳定增长中,比 Google 的另一个语言 Go 稍稍落后那么一点点,现在是从第 34 位升到第 33 位。Swift:这个月的 排名因为某些原因有些小小的问题。在几方的要求下,苹果 WWDC 前,我们去看 Swift 是否从第 68 升至第 22 位。不幸的是,因为 Stack Overflow 页面结构的改变,数据抓取失败,所以只能手动查看,缩小了范围,Swift 直接在前 20 位以后,排名 21。

在 我们官方排名中,当然会要求完整的 Stack Overflow 数据,所以 WWDC 之后又收集了一次数据,最新的结果 Swift 从第 21 名升至第 18 名。这就是 WWDC 效应,Swift 排名历史从 68,22 到 18,成为第一个在一年内挺近前 20 的语言。

未来

Go 和 Swift 是前十的种子选手,这也许只是时间问题,我们将会继续关注!Go 也许会取代 Objective C, Perl, Shell, R 和 Scala 的位置。Perl 和 Shell 无处不在,但是频率却不够高;R 和 Scala 非常流行,但是使用范围不够广泛。

Go 成为一个非常受欢迎的现代化后端语言,Swift 也在 iOS 占有一席之地,下一次排名应该会更有趣~ 查看全部
RedMonk 发布了 2015 年 6 月的编程语言排行榜,JavaScript 居榜首,Go,Swift 继续上升,函数式编程语言 Scala,Haskell 和 Clojure 上升明显。

现在已经是 2015 的第三个季度了,RedMonk 发布了一年两次的编程语言排行榜,一如既往,跟 Drew Conway 和 John Myles White 在 2010 分析的过程差不多,是根据编程语言在 GitHub 和 Stack Overflow 上讨论的多少和使用量来统计的,可以预测未来编程语言的发展趋势。

排名的根据是编程语言在 Stack Overflow 和 GitHub 都观察过,同时结合很多其他社区的分析统计,GitHub 主要是根据代码行数统计。

下图是 2015 年 6 月的排行榜图表

1.jpg

根据上面的图表,很难分析大体情况,所以提供了下面的数值排名。注意下面列出的是前 21 个编程语言:
1   JavaScript
2   Java
3   PHP
4   Python
5   C#
5   C++
5   Ruby
8   CSS
9   C
10  Objective-C
11  Perl
11  Shell
13  R
14  Scala
15  Go
15  Haskell
17  Matlab
18  Swift
19  Clojure
19  Groovy
19  Visual Basic
跟上一季度一样,JavaScript 比第二的 Java 只是稍稍领先了一点,这些数值差距是非常微小的。这些能体现编程语言的持久热度,但是也一定程度反映了语言的多样性和在企业和初创企业中的作用。

除了这两个语言,前十的语言位置非常稳固的。除了一些小的改变,事实上这些年都差不多是这样的排名。同时发现这是一定周期支持一种特定的语言或者是一种风格的语言,简单的来说,最受欢迎的语言几乎没什么改变,对未来也没什么倾向性的变化,这是不是意味着语言的采用和语言的分化已经达到了顶峰?
 
除了前十,值得关注的变化有:
  • Go:一年前,我们预言 Go 在 6 -12 个月的时间内会成为前 20 的语言。在 1 月份的排行中 Go 成为了第 17 位,预言成真。现在 Go 是第 15 位,超越了 Haskell 和 Matlab。
  • Erlang:这是并发方面开发者长期选择的一种语言。Erlang 之前从第 26 位升到第 25 位,这主要是两周前 Erlang 抛弃了之前的 MPL 协议,选择了 Apache 协议。
  • Julia/Rust::历史性原因,这两个语言的发展轨迹很相似。上一季度,Rust 向上跳了 8 位,Julia 向上跳了 3 位。此次排名 Julia 比之前上升了 2 位到第 52 位,Rust 向上跳了 2 位到第 48 位。继续保持观望!
  • CoffeeScript::2013 年 Q3 排名 17,之后排名 18,18,21,现在是 22。重回前 20 这不是不可能的,至少找到了立足点和稳定的地位,但是前景并不乐观,因其缺乏动力和竞争。
  • Dart / Visual Basic: 这是经常被问到的两个语言。Visual Basic 现在跟 Clojure,Groovy 排名第 19,未来是否还会在前 20 还不是很明朗。Dart,有着 Google 血统,还有 JavaScript 方面的野心,还在稳定增长中,比 Google 的另一个语言 Go 稍稍落后那么一点点,现在是从第 34 位升到第 33 位。
  • Swift:这个月的 排名因为某些原因有些小小的问题。在几方的要求下,苹果 WWDC 前,我们去看 Swift 是否从第 68 升至第 22 位。不幸的是,因为 Stack Overflow 页面结构的改变,数据抓取失败,所以只能手动查看,缩小了范围,Swift 直接在前 20 位以后,排名 21。


在 我们官方排名中,当然会要求完整的 Stack Overflow 数据,所以 WWDC 之后又收集了一次数据,最新的结果 Swift 从第 21 名升至第 18 名。这就是 WWDC 效应,Swift 排名历史从 68,22 到 18,成为第一个在一年内挺近前 20 的语言。

未来

Go 和 Swift 是前十的种子选手,这也许只是时间问题,我们将会继续关注!Go 也许会取代 Objective C, Perl, Shell, R 和 Scala 的位置。Perl 和 Shell 无处不在,但是频率却不够高;R 和 Scala 非常流行,但是使用范围不够广泛。

Go 成为一个非常受欢迎的现代化后端语言,Swift 也在 iOS 占有一席之地,下一次排名应该会更有趣~