16个良好的 Bootstrap Angularjs 管理后台主题

AngularJS is an open-source web application framework looked after by Google and a community of devs primarily to simplify both development and testing of such applications by providing a framework for client-side model–view–controller (MVC) architecture, along with components commonly used in rich internet applications.

Today’s admin dashboard designs do not have to be only made for functionality. They also should be visually eye catching. With all the features you may want to produce your administration panel design, you can have a simple yet professional twitter bootstrap dashboard design for your website backend applications.

These are excellent bootstrap admin themes so customize your them as much as you want as you have lots of layout possibilities, skin options which gives you unlimited variations and colors. Add to that the inclusion of LESS and Sass preprocessors for dynamic styling plus ajax thrown in for those nifty real time transitions.

The list consists of all types of angular admin templates and some of them include themes for your front end too. A few flat design themes have also been thrown in.

1. Angle Bootstrap Admin App + AngularJS

1.png
Preview | Details & Download

2. BeyondAdmin – Admin App + AngularJS + MVC

2.png
Preview | Details & Download

3. Cube Bootstrap Admin Theme + AngularJS

3.png
Preview | Details & Download

4. Inspina Responsive Admin Theme

4.png
Preview | Details & Download

5. Homer Responsive Admin Theme

5.png
Preview | Details & Download

6. Flatify Responsive Admin WebApp

6.png
Preview | Details & Download

7. Emerald Admin – Responsive Motion Based

7.png
Preview | Details & Download

8. Angulr – Bootstrap Admin WebApp with AngularJS

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

9. Pages Admin Dashboard Template & Website Pack

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

10. Xenon Bootstrap Admin Theme with AngularJS

16个良好的 Bootstrap Angularjs 管理后台主题Preview | Details & Download

11. Transform Multi-layout flat Admin App

11.png
Preview | Details & Download

12. Slim Responsive Admin with AngularJS

12.png
Preview | Details & Download

13. Themekit – Angular, HTML, Bootstrap Themes and Admin

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

14. Square – Responsive Admin App with AngularJS

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

15. Forza – Full Featured Admin App with AngularJS

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

16. Metronic – Responsive Admin Dashboard Template

16个良好的 Bootstrap Angularjs 管理后台主题
Preview | Details & Download

用 Electron 打造跨平台前端 App

现如今,用 HTML、JavaScript、CSS、Node.js 写桌面应用早已不是什么新鲜的事了,作为一名前端,能够使用自己熟悉的语言,快速实现自己想要的桌面应用,是件很让人兴奋的事。

目前常见的有 NW、heX、Electron。今天,就来简单的上手一下 Electron。


Electron 是什么?


Electron 是一款可以利用 Web技术 开发跨平台桌面应用的框架,最初是 Github 发布的 Atom 编辑器衍生出的 Atom Shell,后更名为 Electron。


Electron 能做什么?


Electron 内置了 Chromium 内核 和 Node,因此可以使用 HTML 和 CSS 来实现应用的 GUI 界面,用 JavaScript 调用丰富的原生 API 实现桌面应用。你也可以将 Electron 看作是一个由 JavaScript 控制的一个小型的 Chrome 内核浏览器。


由于内置的 Chromium 内核 和 Node, 因此我们不需要关心前端的兼容问题,你甚至可以写 -webkit- only 的代码; 也不需要关心一些需要编译的 Node 模块兼容问题,因为 Node 版本是固定的。因此,用 Electron 来编写跨平台应用程序是非常合适的。


或许你还不知道,Visual Studio Code 、wordpress 和 slack 等客户端都是基于 Electron 开发的。


下面,先快速上手一下。


快速入门


相信你看到这里都是对 Node 有一定了解的,故这里不再对 Node 的安装进行描述。


我们有如下目录结构:


electronquickstart/

    ├── package.json

    ├── main.js

    └── index.html


package.json 跟常规 Node 程序一致,将 main.js 作为 程序的启动入口文件,基本内容如下:


{

  “name”    : “electron-quick-start”,

  “version” : “1.0.0”,

  “main”    : “main.js”,

  “scripts” : {

    “start” : “electron main.js”

  },

  “devDependencies”: {

    “electron-prebuilt”: “^1.2.0”

  }

}


我们用 index.html 作为我们的程序界面,简单的界面代码如下:


DOCTYPE html>

<html>

  <head>

    <meta charset=“UTF-8”>

    <title>Hello World!title>

  head>

  <body>

    <h1>Hello World!h1>

  body>

html>


接着是最重要的入口文件 main.js 的编写了,其内容如下:


const electron = require(‘electron’);

const app = electron.app;

const BrowserWindow = electron.BrowserWindow;

let mainWindow;

 

function createWindow () {

  //创建一个 800×600 的浏览器窗口

  mainWindow = new BrowserWindow({width: 800, height: 600});

 

  //加载应用的界面文件

  mainWindow.loadURL(`file://${__dirname}/index.html`);

 

  //打开开发者工具,方便调试

  //mainWindow.webContents.openDevTools();

 

  mainWindow.on(‘closed’, function () {

    mainWindow = null;

  });

}

 

app.on(‘ready’, createWindow);

 

app.on(‘window-all-closed’, function () {

  if (process.platform !== ‘darwin’) {

    app.quit();

  }

});

 

app.on(‘activate’, function () {

  if (mainWindow === null) {

    createWindow();

  }

});


最后,执行:


npm install && npm start


运行结果如下图:



当程序启动时,Electron 调用在 package.json 中定义的 main.js 文件并执行它。这个过程中,Electron 会创建一个主进程,主进程调用 BrowserWindow 模块创建浏览器窗口,每个浏览器窗口都有自己独立的渲染进程,渲染进程负责渲染 HTML 文件,以作为程序的 GUI 界面。


主进程管理所有页面和与之对应的渲染进程。每个渲染进程都是相互独立的,并且只关心他们自己的网页。



至此,相信你对 Electron 的运行过程已有一定了解了,下面,我将介绍一下我是如何将我们的前端工作流程(tmt-workflow) 封装成桌面应用(WeFlow)的。


应用实践


现状


tmt-workflow : 是一个基于 Gulp(v4.0),通过约定一定的项目结构和配置文件实现高效、跨平台(Mac & Win)、可定制的前端工作流程。


其拥有 4 个任务(gulp task) :


  1. 开发任务(gulp build_dev)

  2. 生产任务(gulp build_dist)

  3. 部署任务(gulp ftp)

  4. 打包任务(gulp zip)


运行时需要先安装(npm install) ,再执行相应任务命令,也可以配合 WebStorm 等编辑器的 gulp 任务管理器 使用。


目标


利用现有的 tmt-workflow, 包装成一个 可视化 界面,不需要安装(npm install) ,直接下载打开即可使用。具体拥有:


  • 可视化的项目管理(新建、打开、配置、删除)

  • 可视化的全局项目配置

  • 可视化的任务执行(开发、生产编译、FTP 部署、Zip 打包)

  • 可视化的 log 日志反馈


设计效果预览



主要由几部分组成:


  1. 第一次打开时的欢迎页

  2. 主窗体,由项目列表和任务列表组成,选择具体项目执行任务流程

  3. 全局设置页

  4. 项目设置页

  5. 关于


实现


核心: 如何将 gulp 程序转换


我们知道,gulp 的任务执行必需在命令行下执行,如: gulp build_dist ,这里的 gulp 是一个命令,是一个全局的 cli。执行时依赖于项目下的 node_modules。


基于 gulp 程序的以上特点,我们的思路如下:


思路 1: 如果我们什么都不改变的话,直接把 tmt-workflow 这个 gulp 工作流封装,那可能的思路就是:


当点击可视化的任务按钮执行时,


  1. 先进入所要执行的项目的目录

  2. 再调用子进程执行 gulp 命令:


let exec = require(‘child_process’).exec;

exec(‘gulp build_dist’, {‘cwd’: ‘projectPath’});


这样子,任何 gulp 流程都不需要改动,直接在其上面套一个壳,这个壳提供一下可视化的交互,然后帮你执行相应的 gulp 任务。

思路貌似挺好的,但跟我们的目标有点冲突,我们之所以要封装打包,为的就是省去用户安装,让用户打开即能用。而这个思路的执行方式需要在用户的项目目录下面执行 gulp 任务,那程序依赖的依然是用户已安装的 node_modules,而安装的过程有些模块(如图形模块)需要本地编译,而编译又依赖于用户系统的 node 版本和相关环境(如 win 下需要 python2.7.3 和 VS2010),这有时候是一个漫长又痛苦的过程。这就是为什么要省去安装的原因了。


所以,我们有了思路 2。


思路 2: 将 gulp 工作流程序 和 node_modules 一起打包进 Electron ,当点击可视化的任务按钮执行时:


  1. 获取项目的路径

  2. 将整个项目传进 Electron 里面打包的工作流执行一遍

  3. 将编译后的文件输出


观察我们的 gulp 任务写法,都有一个固定的结构,如下:


//编译 less

function compileLess() {

    gulp.src(paths.src.less)

        .pipe(less())

        .pipe(gulp.dest(paths.dist.css))

}

 

//注册 build_dist 任务

gulp.task(‘build_dist’, gulp.series(

    delDist,

    compileLess,

    

));


就是利用 gulp.src 读取资源,然后经过一系列处理之后再用 gulp.dest 输出。然后再通过 gulp 注册一个 gulp 任务,即可用 gulp 命令调用执行。如果可以把 gulp 从这个过程中去掉,换成普通的程序,则就可以不需要命令行调用,也就可以依赖于当前 Electron 打包的 node_modules ,实现封装的目的。


通过观察 gulp 的实现我们可以看到如下代码:


var vfs = require(‘vinyl-fs’);

 

function Gulp() {

  Undertaker.call(this);

 

  // Bind the functions for destructuring

  this.watch = this.watch.bind(this);

  this.task = this.task.bind(this);

  this.series = this.series.bind(this);

  this.parallel = this.parallel.bind(this);

  this.registry = this.registry.bind(this);

  this.tree = this.tree.bind(this);

  this.lastRun = this.lastRun.bind(this);

}

 

Gulp.prototype.src = vfs.src;

Gulp.prototype.dest = vfs.dest;


我们发现,gulp.src 和 gulp.dest 实际上是 vinyl-fs 模块的实现。而原来 gulp 任务注册的 同步(gulp.parallel) 和 异步(gulp.series) 处理,我们也可以直接用 async 来替代,因此,我们稍微改动可以变成:


const async = require(‘async’);

const vfs = require(‘vinyl-fs’);

 

//编译 less

function compileLess(cb) {

    vfs.src(paths.src.less)

        .pipe(less())

        .pipe(vfs.dest(paths.dist.css))

        .on(‘end’, cb);

}

 

async.series([

    function (next) {

        compileLess(next);

    }

], function (error) {

    if (error) {

        throw new Error(error);

    }

});


这个样子,就跟 gulp 无关了,但相关编译模块都还直接用的原来基于 gulp 的模块,所以,只需要稍加改动,就可以利用现有的 gulp 工作流快速实现 GUI 程序。


解决了核心的 gulp 流程转换,剩下的就是一些逻辑交互处理、配置功能、数据存储、菜单栏和快捷键功能等的实现了。下面对整个项目的相关实现进行介绍。


项目结构


WeFlow/

    ├── about.html              //关于界面

    ├── app.html                //主界面

    ├── assets/                 //资源目录

       ├── css

       ├── img

       └── js

    ├── main.js                 //应用入口文件

    ├── package.json

    ├── src/                    //源文件目录

       ├── _tasks/

       ├── app.js

       ├── common.js

       ├── createDev.js

       └── menu.js

    ├── templates/              //模版目录

       └── project.zip

    └── weflow.config.json      //配置文件


数据存储


WeFlow 需要对用户的一些操作进行记录(新建或打开了多少项目)进行存储,以便下次打开时还原。

Weflow 是一个本地程序,故数据不需要存储在云端,只需要存储在用户本地即可。所以直接使用 localStorage 来存储数据,WeFlow 构造的数据对象如下:


{

    “name”: “WeFlow”,

    “workspace”: “/Users/littledu/WeFlow_workspace”,

    “projects”: {

        “project”: {

            “path”: “/Users/littledu/WeFlow_workspace/project”,

            “devPath”: “/Users/littledu/WeFlow/src/_tasks/tmp_dev/0c0876c4232f1de240f519f0920f2d60.js”,

            “pid”: 0

        }

    }

}


整个程序运行的过程中都是基于此对象进行操作。打开程序时,会读取此数据,进行界面内容填充。当项目位置或开发状态变动时,也更新数据存储进 localStorage。


菜单栏和快捷键功能设计



menu 模块是一个主进程模块,可以用来创建原生菜单,每个菜单有一个或几个菜单项 menu items,并且每个菜单项可以有子菜单。


Electron 有一个 global-shortcut 模块专门用来设置(注册/注销)各种自定义操作的快捷键。但通过 menu 模块也可以绑定快捷键,代码如下:


const electron = require(‘electron’);

const remote = electron.remote;

const Menu = remote.Menu;

 

var template = [

    {

        label: ‘文件’,

        submenu: [

            {

                label: ‘新建项目’,

                accelerator: ‘CmdOrCtrl+N’,

                click: function (item, focusedWindow) {

                    newProjectFn();

                }

            },

            {

                label: ‘打开项目…’,

                accelerator: ‘CmdOrCtrl+O’,

                click: function (item, focusedWindow) {

                    let projectPath = remote.dialog.showOpenDialog({ properties: [ ‘openDirectory’ ]});

                    if(projectPath && projectPath.length){

                        openProject(projectPath[0]);

                    }

                }

            }

        ]

    }

];


menu 是主进程模块,但在这里想给快捷键绑定渲染进程中的功能。故调用了 remote 模块进行渲染进程和主进程通信。


遇到的问题


1. 浏览器自动刷新监听功能无法中断(browser-sync@2.13.0 之前)


tmt-workflow 使用 browser-sync 实现开发任务的自动刷新功能。常规情况下使用结束时,通过 cmd+c 或 ctrl+c 中断。然而封装后不再是通过命令行方式调用,故无法通过命令行来中断。 browser-sync 也没有提供 API 中断。故 WeFlow 中的 开发任务 跟其他的任务不同,解决方式是:


用子进程 child_process.fork 来执行开发任务的 dev.js,将返回的 PID 保存,即可通过这个 PID 来中断对应的子进程,达到停止开发任务的目的。


原理代码如下:


let childProcess = require(‘child-process’);

function runDevTask(devPath){

    let child = childProcess.fork(devPath, {silent: true});

 

    child.stdout.on(‘data’, function (data) {

        logReply(data.toString());

    });

 

    child.stderr.on(‘data’, function (data) {

        logReply(data.toString());

    });

 

    child.on(‘close’, function (code) {

        if (code !== 0) {

            logReply(`child process exited with code ${code}`);

        }

    });

}

 

function killChildProcess(pid){

    try {

        if(process.platform === ‘win32’){

            childProcess.exec(‘taskkill /pid ‘ + pid);

        }else{

            process.kill(pid);

        }

    }

}


2. windows 下打包 EXE 后不能使用 process.stdout


官方认为,Electron 实现的都是 GUI 程序,所以理论上不需要这种输出功能。虽然在调试阶段并不影响,但打包的时候记得去掉,要不然会报错。


打包


electron-packager 可以用来打包 Electron 应用。生成各个平台的最终可运行文件,如 .app 和 .exe。


使用命令:


electron-packager –platform= –arch= [optional flags…]


  • : 项目的位置

  • : 应用名

  • –platform=: 打包的系统(darwin、win32、linux)

  • –arch=: 系统位数(ia32、x64)

  • –icon=: 指定应用的图标(Mac 为 .icns 文件,Windows 为 .ico 或 .png)

  • –out : 指定输出的目录

  • –version=: 指定编译的 electron-prebuilt 版本例子:


electronpackager ./ WeFlowplatform=darwinarch=x64icon=./assets/img/WeFlow.icnsoverwriteout ./distversion=0.37.8


我们可以直接在 package.json 的 script 字段中添加脚本,如下:


“scripts”: {

    “build:all”: “electron-packager . –all –overwrite”,

    “build:mac”: “electron-packager ./ WeFlow –platform=darwin –arch=x64 –icon=./assets/img/WeFlow.icns –overwrite –out ./dist –version=0.37.8”,

    “build:win64”: “electron-packager ./ WeFlow –platform=win32 –arch=x64 –icon=./assets/img/WeFlow.png –overwrite –out ./dist –version=0.37.8”,

    “build:win32”: “electron-packager ./ WeFlow –platform=win32 –arch=ia32 –icon=./assets/img/WeFlow.png –overwrite –out ./dist –version=0.37.8 –app-version=1.0.0”

}


注意:不要认为一个系统可以完成所有系统的打包


如果你引用了一些原生模块(如 lwip),它是必需根据目标系统编译生成 .node 文件。遇到这种情况,则无法在一个系统上面打包另一个系统的可执行程序。更好的做法是利用 AppVeyor 和 Travis 来为各平台实现打包自动化。可以通过相应官网进行了解。


electron-packager 打包后的文件可以看到源代码,想更进一步打包可以用 electron-builder 。


下载体验地址


  • tmt-workflow(https://github.com/weixin/tmt-workflow)

  • WeFlow 桌面应用(http://weflow.io/)


参考文档


  • Electron 官方文档

  • 用Electron开发桌面应用

  • electron-packager

  • electron-builder



【今日微信公号推荐↓】

更多推荐请看值得关注的技术和设计公众号


其中推荐了包括技术设计极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!


团队沟通应用 Slack 的五款开源替代品

Slack 是非常流行的团队沟通应用,提供群组聊天和直接消息发送功能,支持移动端,Web 和桌面平台。Slack 为用户带来大量的便利,但是也有一些不太好的地方,比如高昂的订阅费用和私有数据泄漏的风险 (再次)。

现在已经有了大量的 Slack 的开源替代品,可以让人们更好的控制数据的安全。那么多的 Slack 替代品如何选择?这里提供了 5 个非常棒的选择:

 

Friends

Friends

Friends

Friends 是 Web 平台的 P2P 聊天应用,Slack 的开源替代品。

技术

  • 纯 JavaScript (NodeJS)
  • GitHub 认证
  • Bonjour (multicast DNS),本地聊天
  • WebRTC 连接,使用 Hyperlog 进行传播

优势

  • 即使中央服务器宕机也可以继续通讯
  • 使用 Bonjour 或者 LE Bluetooth 支持离线工作

劣势

  • 没有 e2e 加密 DMs
  • 通过 GitHub 集中化认证
  • 特性限制,支持群组聊天和直接文本通信 + emojis
  • Empty 测试套件

Let’s Chat

Let’s Chat

Let’s Chat

Let’s Chat 是由 Security Compass 构建的,作为一个 10% time side-project,是最古老最流行的开源 Slack 替代品,在 GitHub 有着 7300 多的 Stars 和 978 forks。Let’s Chat 是一个类似 Slack 的团队聊天软件,基于 Node.js 和 MongoDB 开发,易于发布,适合中小型团队,支持 LDAP/Kerberos 认证,提供 REST 风格 API 和 XMPP 支持。

技术

  • 后端使用 JavaScript(NodeJS)
  • MongoDB 作为数据存储
  • 前端使用 Backbone

优势

  • Hubot 支持
  • 在 GitHub 有着庞大的社区
  • 大量跟 Slack 相同的特性
  • Security Compass 还在继续开发
  • Sandstorm 支持使得自部署更简单,对非技术用户友好

劣势

  • 没有 e2e 加密 DMs
  • 无原生移动应用
  • 无线程转换
  • 无测试套件

 

Mattermost

Mattermost

Mattermost

Mattermost 是一个 Slack 的开源替代品。Mattermost 采用 Go 语言开发,这是一个开源的团队通讯服务。为团队带来跨 PC 和移动设备的消息、文件分享,提供归档和搜索功能。

技术

  • 后端使用高性能 Go 语言编写
  • 前端使用 React
  • 支持 MySQL 和 PostgreSQL

优势

  • 有一些 Slack 没有的特性
  • 原生 Gitlab 集成
  • 导入 Slack 用户账户,频道文档和主题
  • 跟 Slack 使用相同的 webhooks,通过第三方应用发送消息
  • 已经为 Docker 容器做准备
  • 包含实际测试的测试套件

劣势

  • 没有 e2e 加密 DMs
  • 无原生移动应用
  • 无 Sandstorm 应用

 

Rocket.Chat

Rocket.Chat

Rocket.Chat

Rocket.Chat 是特性最丰富的 Slack 开源替代品之一。主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等。Rocket.Chat 原生支持 Windows,Mac OS X ,Linux,iOS 和 Android 平台。Rocket.Chat 通过 hubot 集成了非常流行的服务,比如 GitHub,GitLab,Confluence,JIRA 等等。高级的特性包括:OTR 消息,XMPP 多用户聊天,Kerberos 认证,p2p 文件分享等等

技术

  • 使用 Meteor,包括 Blaze 前端
  • 由 JavaScript 和 CoffeeSript 编写
  • MongoDB (because of Meteor)

优势

  • 丰富的特性
  • Sandstorm 和 Docker 支持
  • 使用 Meteor 创建原生桌面和移动应用
  • 支持声音是视频聊天和屏幕分享
  • 使用 APIs, hubot 或者 webhooks 来接收第三方服务的通知
  • 各种语言本地化

劣势

  • 没有 e2e 加密 DMs
  • 无线程切换
  • 几乎是空的测试套件

 

Zulip

Zulip

Zulip

Zulip 在被 Dropbox 收购之前是个独立的应用,现在是个开源项目。Zulip 主要特性是群组和直接通信,私有群组交流,线程切换,内联多媒体预览,邮件和桌面通知和大量的集成。除了在浏览器运行之外,Zulip 也有原生桌面和移动应用,支持 iOS,Android,Linux Mac 和 Windows。

技术

  • 服务器使用 Python (Twisted + Django)
  • 前端使用 JavaScript + jQuery
  • PostgreSQL, Memcached, Redis, RabbitMQ

优势

  • 原生桌面和移动应用
  • 大量集成 w/ unintrusive 通知
  • 线程切换
  • 所有 Slack 的特性和 Slack 没有的特性
  • 可扩展测试套件

劣势

  • 没有 e2e 加密 DMs
  • 无 Sandstorm 应用 

30个诱人的 jQuery + HTML5 + CSS3 幻灯片,焦点图,图廊,照片墙,图片切换

如今网页不再从前那样单纯的文本罗列,因为那样的网页已经无法让人提起神去浏览,这次收集的30个幻灯片jQuery组件可以让你的站点不再平凡,让你的面视觉感更强更时尚,但是我相信你会跟我一样,看一眼以后就再也无法放下这些流连忘返的效果。

地球人已经无法阻止网页用幻灯片了。
Fullscreen Slideshow with HTML5 Audio and jQueryFullscreen Slideshow with HTML5 Audio and jQuery

Image Wall with jQuery
Image Wall with jQuery

Portfolio Image Navigation with jQueryPortfolio Image Navigation with jQuery

Create a CSS3 Image Gallery with a 3D Lightbox AnimationCreate a CSS3 Image Gallery with a 3D Lightbox Animation

Fullscreen Background Image Slideshow with CSS3Fullscreen Background Image Slideshow with CSS3

Draggable Image Boxes Grid
Draggable Image Boxes Grid

Photoflip Slideshow Effect with jQueryPhotoflip Slideshow Effect with jQuery

Sliding Image Panels with CSS3
Sliding Image Panels with CSS3

Bubble Slideshow Effect with jQueryBubble Slideshow Effect with jQuery

Automatic Image Montage with jQueryAutomatic Image Montage with jQuery

Sweet Thumbnails Preview GallerySweet Thumbnails Preview Gallery

How To Create Circular Image Galleries With jQueryHow To Create Circular Image Galleries With jQuery

Thumbnail Proximity Effect with jQuery and CSS3

Responsive Image Gallery with Thumbnail Carousel

Making a Flickr-powered Slideshow

Elastic Image Slideshow with Thumbnail Preview

Shutter Effect Portfolio with jQuery and Canvas

Amazing jQuery Photo Slider

Coding a Rotating Image Slideshow w/ CSS3 and jQuery

An Awesome CSS3 Lightbox Gallery With jQuery

An HTML5 Slideshow w/ Canvas & jQuery

Thumbnails Navigation Gallery with jQuery

How to Create a Pure CSS Polaroid Photo Gallery

Full Page Image Gallery with jQuery

Beautiful Photo Stack Gallery with jQuery and CSS3

Bubbleriffic Image Gallery with jQuery

How to Create a Fancy Image Gallery with CSS3

Animated Portfolio Gallery with jQuery

Sexy Image Hover Effects using CSS3

Minimalistic Slideshow Gallery with jQuery

GitHub 优秀的 Android 开源项目

主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditText、TableView、Activity Animation等等。

  

一、ListView

 

  1. android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新
    ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
    )ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
    项目地址:https://github.com/chrisbanes/Android-PullToRefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
    APP示例:新浪微博各个页面

  2. android-pulltorefresh-listview 下拉刷新ListView
    项目地址:https://github.com/johannilsson/android-pulltorefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true
    PS:这个被很多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefresh

  3. DropDownListView 下拉刷新及滑动到底部加载更多ListView
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/?p=523

  4. DragSortListView 拖动排序的ListView
    同时支持ListView滑动item删除,各个Item高度不一、单选、复选、CursorAdapter做为适配器、拖动背景变化等
    项目地址:https://github.com/bauerca/drag-sort-listview
    Demo地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
    APP示例:Wordpress Android

  5. SwipeListView 支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间
    项目地址:https://github.com/47deg/android-swipelistview
    Demo地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
    APP示例:微信

  6. Android-SwipeToDismiss 滑动Item消失ListView
    项目地址:https://github.com/romannurik/Android-SwipeToDismiss
    支持3.0以下版本见:https://github.com/JakeWharton/SwipeToDismissNOA
    Demo地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code

  7. StickyListHeaders GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView,支持快速滑动,支持Android2.3及以上
    项目地址:https://github.com/emilsjolander/StickyListHeaders
    APP示例:Android 4.0联系人
    效果图:Renderings

  8. pinned-section-listview GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
    项目地址:https://github.com/beworker/pinned-section-listview
    效果图:Renderings

  9. PinnedHeaderListView GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
    项目地址:https://github.com/JimiSmith/PinnedHeaderListView

  10. QuickReturnHeader ListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现
    项目地址:https://github.com/ManuelPeinado/QuickReturnHeader
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
    APP示例:google plus

  11. IndexableListView ListView右侧会显示item首字母快捷索引,点击可快速滑动到某个item
    项目地址:https://github.com/woozzu/IndexableListView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
    APP示例:微信通讯录、小米联系人

  12. CustomFastScrollView ListView快速滑动,同时屏幕中间PopupWindows显示滑动到的item内容或首字母
    项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
    效果图:Renderings

  13. Android-ScrollBarPanel ListView滑动时固定的Panel指示显示在scrollbar旁边
    项目地址:https://github.com/rno/Android-ScrollBarPanel
    效果展示:https://github.com/rno/Android-ScrollBarPanel/raw/master/demo_capture.png

  14. SlideExpandableListView 用户点击listView item滑出固定区域,其他item的区域收缩
    项目地址:https://github.com/tjerkw/Android-SlideExpandableListView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true

  15. JazzyListView ListView及GridView item以特殊动画效果进入屏幕,效果包括grow、cards、curl、wave、flip、fly等等
    项目地址:https://github.com/twotoasters/JazzyListView
    Demo地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
    效果展示:http://lab.hakim.se/scroll-effects/

  16. ListViewAnimations 带Item显示动画的ListView,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等
    项目地址:https://github.com/nhaarman/ListViewAnimations
    Demo地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
    APP示例:Google plus、Google Now卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0

  17. DevsmartLib-Android 横向ListView
    项目地址:https://github.com/dinocore1/DevsmartLib-Android
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true

 

二、ActionBar

 

  1. ActionBarSherlock 为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题
    项目地址:https://github.com/JakeWharton/ActionBarSherlock
    Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
    APP示例:太多了。。现在连google都在用

  2. ActionBar-PullToRefresh 下拉刷新,ActionBar出现加载中提示
    项目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
    Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
    APP示例:Gmail,Google plus,知乎等

  3. FadingActionBar ListView向下滚动逐渐显现的ActionBar
    项目地址:https://github.com/ManuelPeinado/FadingActionBar
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
    APP示例:google music,知乎

  4. NotBoringActionBar google music下拉收缩的ActionBar
    项目地址:https://github.com/flavienlaurent/NotBoringActionBar
    Demo地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
    APP示例:Google音乐

  5. RefreshActionItem 带进度显示和刷新按钮的ActionBar
    项目地址:https://github.com/ManuelPeinado/RefreshActionItem
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
    APP示例:The New York Times,DevAppsDirect.

  6. GlassActionBar 类似玻璃的有一定透明度的ActionBar
    项目地址:https://github.com/ManuelPeinado/GlassActionBar
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
    APP示例:google music

 

三、Menu

 

  1. MenuDrawer 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。
    项目地址:https://github.com/SimonVT/android-menudrawer
    Demo地址:http://simonvt.github.io/android-menudrawer/
    APP示例:Gmail、Google Music等大部分google app

  2. SlidingMenu 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。
    项目地址:https://github.com/jfeinstein10/SlidingMenu
    Demo地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example
    APP示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 Barracks
    MenuDrawer和SlidingMenu比较:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层

  3. ArcMenu 支持类似Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单
    项目地址:https://github.com/daCapricorn/ArcMenu
    APP示例:Path
    效果图:Renderings
    http://res.joncv.com/res/img/preview1.png
    http://res.joncv.com/res/img/raymenu.png

  4. android-satellite-menu 类似Path的左下角动画旋转菜单
    项目地址:https://github.com/siyamed/android-satellite-menu
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
    APP示例:Path

  5. radial-menu-widget 圆形菜单,支持二级菜单
    项目地址:https://code.google.com/p/radial-menu-widget/
    效果图:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpg

  6. Android Wheel Menu 圆形旋转选取菜单
    项目地址:https://github.com/anupcowkur/Android-Wheel-Menu
    效果图:Renderings

  7. FoldingNavigationDrawer滑动并以折叠方式打开菜单
    项目地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
    使用介绍:https://play.google.com/store/apps/details?id=com.ptr.folding.sample
    效果图:Renderings

 

四、ViewPager 、Gallery

 

  1. Android-ViewPagerIndicator 配合ViewPager使用的Indicator,支持各种位置和样式
    项目地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
    Demo地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
    APP示例:太多了。。

  2. JazzyViewPager 支持Fragment切换动画的ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等
    项目地址:https://github.com/jfeinstein10/JazzyViewPager
    Demo地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
    效果类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已

  3. Android-DirectionalViewPager 支持横向和纵向(垂直)的ViewPager
    项目地址:https://github.com/JakeWharton/Android-DirectionalViewPager
    Demo地址:https://market.android.com/details?id=com.directionalviewpager.sample

  4. android-pulltorefresh 支持下拉刷新的ViewPager
    项目地址:https://github.com/chrisbanes/Android-PullToRefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
    APP示例:新浪微博各个页面

  5. FancyCoverFlow支持Item切换动画效果的类似Gallery View
    项目地址:https://github.com/davidschreiber/FancyCoverFlow
    Demo地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
    效果图:Renderings

  6. AndroidTouchGallery 支持双击或双指缩放的Gallery(用ViewPager实现)
    相比下面的PhotoView,在被放大后依然能滑到下一个item,并且支持直接从url和文件中获取图片,
    项目地址:https://github.com/Dreddik/AndroidTouchGallery
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
    APP示例:类似微信中查看聊天记录图片时可双击放大,并且放大情况下能正常左右滑动到前后图片

  7. Salvage view 带View缓存的Viewpager PagerAdapter,很方便使用
    项目地址:https://github.com/JakeWharton/salvage

 

五、GridView

 

  1. StaggeredGridView 允许非对齐行的GridView
    类似Pinterest的瀑布流,并且跟ListView一样自带View缓存,继承自ViewGroup
    项目地址:https://github.com/maurycyw/StaggeredGridView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true
    APP示例:Pinterest等

  2. AndroidStaggeredGrid 允许非对齐行的GridView
    类似Pinterest的瀑布流,继承自AbsListView
    项目地址:https://github.com/etsy/AndroidStaggeredGrid
    APP示例:Pinterest等

  3. PinterestLikeAdapterView 允许非对齐行的GridView
    类似Pinterest的瀑布流,允许下拉刷新
    项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
    APP示例:Pinterest等

  4. DraggableGridView Item可拖动交换位置的GridView,类似桌面的单屏效果
    项目地址:https://github.com/thquinn/DraggableGridView
    Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true

 

六、ImageView

 

  1. PhotoView 支持双击或双指缩放的ImageView
    在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同时支持单个ImageView
    项目地址:https://github.com/chrisbanes/PhotoView
    Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
    APP示例:photup

  2. android-gif-drawable 支持gif显示的view
    项目地址:https://github.com/koral–/android-gif-drawable
    用jni实现的,编译生成so库后直接xml定义view即可,而且本身不依赖于其他开源项目所以相对下面的ImageViewEx简单的多

  3. ImageViewEx 支持Gif显示的ImageView
    项目地址:https://github.com/frapontillo/ImageViewEx
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true
    依赖很多,编译过程很繁琐!|_|!

  4. RoundedImageView 带圆角的ImageView
    项目地址:https://github.com/vinc3m1/RoundedImageView
    效果图:Renderings

 

七、ProgressBar

 

  1. SmoothProgressBar 水平进度条
    项目地址:https://github.com/castorflex/SmoothProgressBar
    Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample

  2. ProgressWheel 支持进度显示的圆形ProgressBar
    项目地址:https://github.com/Todd-Davies/ProgressWheel
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true

  3. android-square-progressbar 在图片周围显示进度
    项目地址:https://github.com/mrwonderman/android-square-progressbar
    Demo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
    APP示例:square
    效果图:Renderings

  4. HoloCircularProgressBar Android4.1 时钟App样式
    项目地址:https://github.com/passsy/android-HoloCircularProgressBar
    APP示例:Android4.1时钟App
    效果图:https://raw.github.com/passsy/android-HoloCircularProgressBar/master/raw/screenshot1.png

 

八、其他

 

    1. achartengine 强大的图标绘制工具
      支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合
      项目地址:https://code.google.com/p/achartengine/
      官方网站:http://www.achartengine.org/
      效果图:Renderings
      http://www.achartengine.org/dimages/sales_line_and_area_chart.png
      http://www.achartengine.org/dimages/temperature_range_chart.png
      http://www.achartengine.org/dimages/combined_chart.png
      http://www.achartengine.org/dimages/budget_chart.png
      APP示例:Wordpress Android,Google Analytics

    2. GraphView 绘制图表和曲线图的View
      可用于Android上的曲形图、柱状图、波浪图展示
      项目地址:https://github.com/jjoe64/GraphView
      Demo工程:https://github.com/jjoe64/GraphView-Demos
      Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
      APP示例:Wordpress Android,Google Analytics

    3. android-flip 类似Flipboard翻转动画的实现
      项目地址:https://github.com/openaphid/android-flip
      Demo地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
      APP示例:flipboard

    4. FlipImageView 支持x、y、z及动画选择的翻转动画的实现
      项目地址:https://github.com/castorflex/FlipImageView
      Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview

    5. SwipeBackLayout 左右或向上滑动返回的Activity
      项目地址:https://github.com/Issacw0ng/SwipeBackLayout
      Demo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
      APP示例:知乎

    6. Cards-UI 卡片式View,支持单个卡片,item为卡片的ListView
      项目地址:https://github.com/afollestad/Cards-UI
      Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true

    7. cardslib 卡片式View,支持单个卡片,item为卡片的ListView和GridView
      项目地址:https://github.com/gabrielemariotti/cardslib
      Demo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo

    8. android-styled-dialogs 可自定义样式的dialog
      默认与Holo主题样式一致,在Android2.2以上同一样式
      项目地址:https://github.com/inmite/android-styled-dialogs
      Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=true

    9. Crouton 丰富样式的Toast
      允许alert、comfirm、info样式及点击消失样式,允许设置Toast显示时间,允许自定义View。
      项目地址:https://github.com/keyboardsurfer/Crouton
      Demo地址:http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.crouton

    10. supertooltips 带动画效果的Tips显示
      项目地址:https://github.com/nhaarman/supertooltips
      Demo地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips

    11. Android ViewBadger为其他View添加角标等
      项目地址:https://github.com/jgilfelt/android-viewbadger
      Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
      效果图:https://github-camo.global.ssl.fastly.net/a705a3e88c75ae2394943bd7c56f725697616ea8/687474703a2f2f7777772e6a65666667696c66656c742e636f6d2f766965776261646765722f76622d31612e706e67

    12. Android Sliding Up Panel 可拖动的View,能在当前Activity上扶起一个可拖动的Panel
      项目地址:https://github.com/umano/AndroidSlidingUpPanel
      Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
      APP示例:Google Music精简播放栏

    13. android-times-square Android日历部件
      支持选取单个日期,多个日期,及日期区间段和对话框形式显示
      项目地址:https://github.com/square/android-times-square
      Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=true

    14. android-calendar-card 日历
      项目地址:https://github.com/kenumir/android-calendar-card
      Demo地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
      效果图:Renderings

    15. ColorPickerView 颜色选择器,支持PopupWindows或新的Activity中打开
      项目地址:https://code.google.com/p/color-picker-view/
      效果图:Renderings

    16. HoloColorPicker 颜色选择器
      项目地址:https://github.com/LarsWerkman/HoloColorPicker
      Demo地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/edit

    17. AndroidWheel Android Wheel支持城市、多种日期时间、密码、图片
      项目地址:https://github.com/sephiroth74/AndroidWheel
      效果图:Renderings

    18. android-flowtextview文字自动环绕其他View的Layout
      项目地址:https://code.google.com/p/android-flowtextview/
      效果图:http://i949.photobucket.com/albums/ad332/vostroman1500/1.png

    19. Segmented Radio Buttons for Android iOS’s segmented controls的实现
      项目地址:https://github.com/vinc3m1/android-segmentedradiobutton
      Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
      效果图:Renderings

    20. TableFixHeaders 第一列固定的Table
      项目地址:https://github.com/InQBarna/TableFixHeaders
      Demo地址:http://bit.ly/13buAIq

    21. Android Form EditText 验证输入合法性的编辑框
      支持输入、英文、ip、url等多种正则验证
      项目地址:https://github.com/vekexasia/android-edittext-validator
      Demo地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexample

    22. UITableView ios风格控件
      包括Button、ListView、TableView
      项目地址:https://github.com/thiagolocatelli/android-uitableview
      Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=true

    23. ATableView ios风格控件
      项目地址:https://github.com/dmacosta/ATableView
      Demo地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo

    24. UndoBar屏幕底部显示取消或是确认的PopupWindows
      项目地址:https://github.com/soarcn/UndoBar
      效果图:Renderings

    25. Inscription可用于展示应用change和new feature信息
      项目地址:https://github.com/MartinvanZ/Inscription

    26. ActivityTransition Activity切换动画,包括渐变、flip、某个位置进入等等
      项目地址:https://github.com/ophilbert/ActivityTransition
      使用介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
      效果图:类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已

    27. Cropper 图片局部剪切工具,可触摸控制选择区域或旋转
      项目地址:https://github.com/edmodo/cropper
      使用介绍:https://github.com/edmodo/cropper/wiki
      效果图:Renderings

    28. GlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
      项目地址:https://github.com/rock3r/GlowPadBackport
      Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
      效果图:Renderings

    29. GlowPadView Android4锁屏界面解锁
      项目地址:https://github.com/nadavfima/GlowPadView
      效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.png

    30. android-lockpattern Android的图案密码解锁
      项目地址:https://code.google.com/p/android-lockpattern/
      Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
      使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse
      示例APP:Android开机的图案密码解锁,支付宝的密码解锁

      原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea

GitHub上优秀Android开源项目

原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea

GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。为此,CSDN特整理了在GitHub平台上最受欢迎的Android及iOS开源项目,以飨开发者。

下面,就让我们一起来看看,在GitHub平台上,究竟有哪些Android开源项目最火,也最受开发者欢迎。

1. ActionBarSherlock

ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。

对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。

详情请参考:ActionBarSherlock

2. facebook-android-sdk

Facebook SDK for Android是一个开源库,允许开发者将Facebook集成到所开发的Android应用中。

如果想要获取更多关于示例、文档、将SDK集成到App中、源代码等信息,可直接登陆Facebook Developers查看。

3. SlidingMenuSlidingMenu Demos

SlidingMenu是一个开源的Android库,能够让开发者轻松开发一款应用,实现类似于Google+、Youtube和Facebook应用中非常流行的滑动式菜单。

  

使用SlidingMenu的Android应用:

 

 

4. cocos2d-x

移动开发领域,将Cocos2D-X用于主流iOS/Android游戏开发的公司、开发团队多不胜数。cocos2d-x是一个开源的支持多平台的2D游戏框架,使用C++开发,基于cocos2d-iphone,在MIT许可证下发布。主分支在GitHub上使用OpenGL ES 2.0渲染,而旧版gles11分支则使用OpenGL ES 1.1渲染。

支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。支持C++、Lua、JavaScript编程语言。

5. android

GitHub Android App是GitHub开源的Android客户端,支持Issues、Gists,并集成了新闻Feed,能够让你及时跟进组织及关注的开发者、库等。同时,该应用还提供了一个用户快速访问你所创建、监控及发布issue的面板,可查看并将问题加入到收藏夹,可对标签、里程碑和任务进行过滤配置。

android资源库包含了GitHub Android App的所有源代码。

6. Android-ViewPagerIndicator

ViewPager指针项目,在使用ViewPager的时候能够指示ViewPager所在的位置,就像Google Play中切换的效果一样,还能使用在应用初始化的介绍页面。

兼容Android支持库的ViewPager及ActionBarSherlock,最初是基于Patrik Åkerfeldt的ViewFlow,开发者可以直接登陆Google Play下载该项目的演示应用。

7. MonoGame

MonoGame是一个Microsoft XNA 4.x Framework的开源跨平台实现。用于让XNA开发者将他们在Xbox 360、Windows & Windows Phone上开发的游戏移植到iOS、Android、Mac OS X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry PI的开发正在进行中。

详情请参考:MonoGame

8. Android-PullToRefresh

该项目用于为Android提供一个可重用的下拉刷新部件。它最初来源于Johan Nilsson的库(主要是图形、字符串和动画),但这些后来都已被取代。

9. android-async-http

android-async-http是Android上的一个异步、基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上。

10. Android-Universal-Image-Loader

Android上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。

Universal Image Loader for Android的目的是为了实现异步的网络图片加载、缓存及显示,支持多线程异步加载。它最初来源于Fedor Vlasov的项目,且自此之后,经过大规模的重构和改进。

11. GreenDroid

GreenDroid最初是由Cyril Mottier发起,是一个Android的UI开发类库,能够让UI开发更加简便,并且在应用中始终保持一致。

详情请参考:Cyril Mottier’s Blog

12. Anki-Android

AnkiDroid是一个免费、开源的Android的闪存应用,可直接从Google Play进行下载。

详情请参考:ankidroid

13. android-actionbar

Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当开发者需要突出展现用户行为或在全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,且系统能够很好地根据不同的屏幕配置来适应操作栏的外观。

Action bar的主要目的:

 

  • 提供一个用于识别应用程序的标示和用户的位置的专用空间。
  • 在不同的应用程序之间提供一致的导航和视觉体验。
  • 突出Activity的关键操作,并且在可预见的方法内给用户提供快捷的访问。

 

14. android-viewflow

android-viewflow是Android平台上的一个视图切换的效果库,ViewFlow相当于Android UI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。

 

15. android-mapviewballoons

当使用Android地图外部库(com.google.android.maps)时,android-mapviewballoons会提供一个简单的方式来对地图覆盖进行标注,就是一个简单的信息气泡。

它由BalloonOverlayView组成,是一个代表显示你的MapView及BalloonItemizedOverlay的气泡的视图,BalloonItemizedOverlay是ItemizedOverlay的一个抽象扩展。

16. PushSharp

一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8设备发送推送通知的服务器端库。

17. androidannotations

Android Annotations是一个开源的框架,用于加速 Android应用的开发,可以让你把重点放在功能的实现上,简化了代码,提升了可维护性。

18. HockeyKit

Hockey是一个iOS Ad-Hoc自动更新框架。苹果App Store中的所有App都可以使用它,它能够显著地提高Beta测试的整个过程,分为两部分:服务器和客户端框架。服务器组件需要所有脚本,但在没有客户端库的情况下,也可以单独工作。它提供一个Web接口,Beta测试者可以使用它来安装最新的AdHoc配置文件,也可以直接在设备上通过Safari安装最新的Beta版本。

 

  • 只需在服务器上安装一次服务端,就可以处理包标识符不同的多个应用程序(有开发者强烈建议对Debug、AdHoc Beta和AppStore发布版使用不同的包标识符)。
  • 默认当App启动或唤醒时,客户端会从服务器检测更新,用户可以在设置对话框中进行修改:一天一次或手动检查更新。
  • 除了支持iOS,HokeyKit也支持Android平台,不过Android版还处在Alpha阶段,支持OTA及应用内更新。
  • 为HockeyKit用户提供服务器托管服务。

 

19. android-menudrawer

Android上的菜单展示风格各异,其中用得最多且体验最好的莫过于左右滑动来显示隐藏的菜单,android-menudrawer是一个滑动式菜单实现,允许用户在应用当中实现无缝导航。该项目具有多种菜单展示效果,其中最常见的就是通过屏幕边缘拖动或点击动作栏的“向上”按钮显示。

 

实现功能:

 

  • 菜单可以沿着四个边放置。
  • 支持附加一个始终可见、不可拖动的菜单。
  • 菜单的内容和整个窗口都可以隐藏。
  • 可用于XML布局。
  • 显示当前可见屏幕的指示器。

 

20. android-flip

Aphid FlipView是一个能够实现Flipboard翻页效果的UI组件。

以上为GitHub上最受欢迎的Android开源项目TOP20,敬请期待“GitHub上最受欢迎的Android开源项目(二)”。

 

Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习。今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助。另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容。

 

项目篇:


组件篇:

  • Android-Flip:可以实现类似FlipBoard那种华丽丽的翻页
  • Drag-Sort-Listview:可以拖动item重新排序的listview,效果非常赞
  • HoloEveryWhere:咳咳,有些同学非常喜欢Android的holo风格,这个项目绝对让你happy
  • Universal-ImageLoader:这个经典的异步图片加载,不多说了
  • JazzyViewPager:这玩意可以让ViewPager翻起来更酷,谁用谁知道~~
  • SlidingMenu:这个是抽屉界面(就是facebook那种)的各种实现版本中,最好的,木有之一!
  • StickyListHeaders:iPhone上经常有这个,就是listview的……不知道怎么解释,自己下载看看吧
  • Android-PullToRefresh:下拉刷新,挺常用的一个组件
  • StaggeredGridView:这是一个瀑布流布局的实现,还不是很完善,但作为学习的案例还是不错的
  • android-async-http:android的异步请求组件,我个人习惯使用asynctask,不过这个实现水平还是不错,也推荐给大家参考
  • ActionBarSherlock:大家熟知的ActionBar在2.x上的兼容性方案;类似的兼容性组件还有许多,有时间为大家一一列出;
  • facebook-android-sdk:不止是一个SDK那么简单哦,比某浪和某人的SDK强几个数量级;
  • NineOldAndroids:想在2.xSDK上使用Android 3.0新增的动画API,那就是它了;没用过的同学一定要试试哦,非常方便~
  • android-swipelistview:让listview的item可以向右滑动,新版Gmail和Pocket里面有用到哦~
  • DataDroid:Android的RESTful封装,没听过RESTful还说你有代码洁癖,追求完美
  • EventBus:和上面的DataDroid同样属于美化底层代码的,这个lib简化了不同组件之间的事件传递

21. drag-sort-listview

DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。重写了TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。

 

DSLV主要特性:

 

  • 完美的拖拽支持;
  • 在拖动时提供更平滑的滚动列表滚动;
  • 支持每个ListItem高度的多样性
  • 公开startDrag()和stopDrag()方法;
  • 有公开的接口可以自定义拖动的View。

 

DragSortListView适用于带有任何优先级的列表:收藏夹、播放列表及清单等,算得上是目前Android开源实现拖动排序操作最完美的方案。

22. c-geo-opensource

c:geo是Android设备上一个简单而又强大的非官方地理寻宝客户端。与其他类似应用不同的是,c:geo不需要Web浏览器,也不需要文件输出。你可以在毫无准备的情况下,毫无后顾之忧地带上你的智能手机去进行地理寻宝。当然,你也不需要付钱,因为它是免费的。

c-geo-opensource包含了c:geo所有开源代码。

详情请参考:c:geo

23. NineOldAndroids

自Android 3.0以上的版本,SDK新增了一个android.animation包,里面的类都是跟动画效果实现相关的,通过Honeycomb API,能够实现非常复杂的动画效果。但如果开发者想在3.0以下的版本中也能使用到这套API,那么Nine Old Androids就会是你最好的选择,该API和Honeycomb API完全一样,只是改变了你使用com.nineoldandroids.XXX的入口。

该项目包含两个工程,一个是Library,即为动画效果的实现库,另一个则是Sample,是对如何使用该API的演示。开发者可以直接登陆Google Play下载安装Nine Old Androids Sample,查看演示。

详情请参考:Nine Old Androids

24. ppsspp

PPSSPP是由GC/Wii模拟器Dolphin联合创始人之一Henrik Rydgård开发的一款免费的跨平台开源模拟器,支持Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流计算机与移动操作系统,可直接工作在x86、x64、ARM等CPU平台上,以GNU GPLv2许可协议发布,主要使用C++编写以提高效率和可移植性。

只要支持OpenGL ES 2.0,PPSSPP就可以在相当低规格的硬件设备上运行,包括基于ARM的手机及平板电脑。

详情请参考:PPSSPP

25. androidquery

Android-Query(AQuery)是一个轻量级的开发包,用于实现Android上的异步任务和操作UI元素,可让Android应用开发更简单、更容易,也更有趣。

26. droid-fu

Droid-Fu是一个开源的通用Android应用库,其主要目的是为了让Android开发更容易,包含有许多工具类,还有非常易用的Android组件。

Droid-Fu提供支持的领域包括:

 

  • Android应用的生命周期帮助
  • 支持处理Intents和diagnostics类
  • 后台任务支持
  • HTTP消息处理
  • 对象、HTTP响应及远程图像高速缓存
  • 定制各种Adapter及View

 

Droid-Fu最大的优势在于它的应用生命周期帮助类,如果你正在开发一款Android应用,而它的主要任务是运行后台任务,比如从Web上抓取数据,那么,你一定会使用到Droid-Fu,不过,目前该项目在GitHub上已经停止更新维护。

详情请参考:droid-fu

27. TextSecure

TextSecure是Whisper Systems团队开发的一个Android上的加密信息客户端,旨在增强用户和企业通信的安全性,其源代码于2011年被Twitter发布在GitHub开源数据库中。

该软件允许用户将在Android设备上所有发送和接收的短信内容进行加密,还可以将加密信息发送给另一个TextSecure用户。

28. XobotOS

XobotOS是Xamarin的一个研究项目,用于将Android 4.0从Java/Dalvik移植到C#,并对移植后的性能及内存占用情况进行检测。

29. ignition

在编写Android应用时,通过提供即用组件和包含许多样板文件的实用类,ignition可以让你的Android应用快速起步。ignition涵盖的区域包括:

 

  • Widget、Adapter、Dialog等UI组件;
  • 允许编写简单却强大的网络代码的HTTP Wrapper库;
  • 加载远程Web图像并进行缓存的类;
  • 简单但有效的缓存框架(将对所有对象树做出响应的HTTP缓存到内存或硬盘中);
  • Intents、diagnostics等几个能让API级别更容易向后兼容的帮助类;
  • 更友好、更强大的AsyncTask实现。

 

ignition包括三个子项目:

 

  • ignition-core——是一个可以直接编译到App中的Android库项目。
  • ignition-support——一个标准的Java库项目,被部署为一个普通的JAR,包含了大部分实用工具类。开发者可以独立使用该工程的核心模块。
  • ignition-location——一个可以直接编译到应用程序中的Android AspectJ库项目。能够让定位应用在不需要Activity位置更新处理的情况下获取到最新的位置信息。

 

详情请参考:ignition Sample applications

30. android_page_curl

android_page_curl是一个在Android上使用OpenGL ES实现类似书本翻页效果的示例程序。(点击链接查看视频演示

31. asmack

说到aSmack,自然要先提提Smack。Smack API是一个完整的实现了XMPP协议的开源API库,而aSmack则是Smack在Android上的构建版本,于2013年2月初迁移到GitHub上,该资源库并不包含太多的代码,只是一个构建环境。开发者可以利用该API进行基于XMPP协议的即时消息应用程序开发。

详情请参考:asmack

32. AndroidBillingLibrary

In-app Billing是一项Google Play服务,能够让你在应用内进行数字内容销售,可销售的数字内容范围非常广,包括媒体文件、照片等下载内容,还包括游戏级别、药剂、增值服务和功能等虚拟内容。Android Billing Library可以实现In-app Billing的所有规范,并提供更高级的类来进行使用。

Google于2012年底正式发布了v3版Android In-app Billing,但截至目前,GitHub上的Android Billing Library还只能支持到v2版,据悉Google将于2013年初对它进行更新。

详情请参考:Google Play In-app Billing

33. Crouton

Crouton是Android上的一个可以让开发者对环境中的Toast进行替换的类,以一个应用程序窗口的方式显示,而其显示位置则由开发者自己决定。

开发者可以直接登陆Google Play下载安装Crouton Demo,查看应用演示。

34. cwac-endless

CommonsWare Android Components(CWAC)是一个开源的Android组件库,用来解决Android开发中各个方面的常见问题,每个 CWAC组件打包成一个独立的jar文件,其中就包含cwac-endless。

cwac-endless提供一个EndlessAdapter,这是一个自动分页的List,当用户浏览到List最后一行时自动请求新的数据。

详情请参考:Commons Ware

35. DiskLruCache

在Android应用开发中,为了提高UI的流畅性、响应速度,提供更高的用户体验,开发者常常会绞尽脑汁地思考如何实现高效加载图片,而DiskLruCache实现正是开发者常用的图片缓存技术之一。Disk LRU Cache,顾名思义,硬件缓存,就是一个在文件系统中使用有限空间进行高速缓存。每个缓存项都有一个字符串键和一个固定大小的值。

点击链接下载该库项目。

36. Android-SlideExpandableListView

如果你对Android提供的Android ExpandableListView并不满意,一心想要实现诸如Spotify应用那般的效果,那么SlideExpandableListView绝对是你最好的选择。该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。

37. gauges-android

Gaug.es for Android是由gaug.es推出的一款在Android设备上对网站流量数据进行实时统计的应用。gauges-android包含了该应用的源代码,开发者可以直接登陆Google Play下载安装该应用。

38. acra

ACRA是一个能够让Android应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库,旨在当应用发生崩溃或出现错误行为时,开发者可以获取到相关数据。

39. roboguice

RoboGuice是Android平台上基于Google Guice开发的一个库,可以大大简化Android应用开发的代码及一些繁琐重复的代码。给Android带来了简单、易用的依赖注入,如果你使用过spring或Guice的话,你就会知道这种编程方式是多么的便捷。

40. otto

Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通。

详情请参考:Otto

原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea

41.android-swipelistview

SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。开发者可直接登陆Google Play下载安装其Demo应用。 

42. greenDAO

greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。

greenDAO的主要设计目标:

  • 最大性能(最快的Android ORM)
  • 易于使用API
  • 高度优化
  • 最小内存消耗

详情请参考:greendao-orm

43. FFMpeg

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。可以轻易地实现多种视频格式之间的相互转换。

而FFmpeg for Android则是可通过Android NDK直接在Android源码环境下编译的FFmpeg库。该库项目即是FFmpeg for Android的入口,开发者只需直接选择需要转换的视频文件,并设置参数,即可进行转换,发起人havlenapetr表示在未来将为其开发Android库,能够实现自动转换视频文件。

44. TweetLanes

Tweet Lanes是一个在Android4.0及更高版本的Android设备上运行的功能全面的Twitter客户端(开发者可以直接登陆Google Play下载该应用)。

该开源项目包含以下所有源代码:

  • Tweet Lanes客户端应用;
  • 连接Twitter和App.net APIs的SocialNetLib项目;
  • 所有源,尤其是LOGO和Play Store列表;
  • 用于tweetlanes.com的The App Engine项目。

45.gesture-imageview

这是一个简单的支持多指缩放图片的Android View类。在Android2.1及其更高版本的设备上,当你想要实现同时进行缩放操作时,可以将其作为一个标准的ImageView来使用。

46.android-satellite-menu

使用过Path的人都应该知道,在Path主界面的左下方有一个非常有意思的菜单。菜单由一个主按钮组成,当用户点击该按钮时,就会有一连串的按钮弹出,而Satellite Menu正是该菜单的一个开源版本。

对于Satellite Menu,其项目发起人siyamed表示,这种菜单结构就像是一个星球四周围绕着许多卫星,而这也就是他为何会以Satellite Menu命名该项目的原因。

47. VitamioBundle

Vitamio是一款Android平台上的全能多媒体开发框架,凭借着其简洁易用的API接口,Vitamio赢得了全球众多开发者的青睐。目前,有许多公司的开源Vitamio项目都托管在GitHub上,而Vitamio的核心插件VitamioBundle正是其中之一。

VitamioBundle是一个独立的Android库,用于促进多媒体的使用,开发者可以很方便地将其集成到自己的项目当中。

48.android-ffmpeg-x264

android-ffmpeg-x264是能够让提取和构建运行在Android上、使用Android NDK最新的FFmpeg和libx264变得非常简单的一个存储库。不同于大多数其他的NDK FFmpeg构建包,它通过配置构建库,只需一个非常小的Android.mk文件即可将其包装进入一个共享库。目前,该库项目已不再更新,但在GitHub上还有着非常多的FFmpeg库,除了前面的FFmpeg,接下来我们还会继续介绍到其他FFmpeg库。

49. ArcMenu

ArcMenu是一个类似于iOS版Path 2.0菜单的Android自定义视图项目,和我们前面介绍的Satellite Menu项目类似。

对于这个项目,其发起人daCapricorn表示,iOS版Path 2.0上的用户体验非常奇妙,但其Android版本却差太多。因此,他就尝试着在Android上做出像iOS版本那样的效果,而事实也的确如此。

50. DataDroid

DataDroid是Android平台上的一个开发库,用于简化Android应用当中的数据管理,基于Android的RESTful封装发展而来。

详情请参考:datadroidlib

51.android-adt-templates

android-adt-templates是集成了Android开发过程中使用到的许多常用的模板,用来帮助开发者快速构建一些普通的Activity和UI模型。

当然,要想使用这些模板,还必须是Eclipse和ADT 21及其以上版本,此外还需注意的一点就是,ADT模板不管理官方支持库以外的外部依赖关系。

52.android-ffmpeg

FFmpeg有许多不同的库,也总是会让人容易混淆,因此该项目发起人n8fr8对android-ffmpeg项目进行了全新的改变,该项目中包含着一个清晰、容易改变、静态的Android FFmpeg Creator。

53.
StaggeredGridView

该项目是基于Google Android StaggeredGridView进行修改的一个库项目,允许开发者创建一个类似于Pinterest的交错排列的GridView。开发者只需在自己的项目中将其作为一个库项目添加到workspace中即可直接使用。

54. robospice

RoboSpice是Repo的开源Android库,能够让编写异步网络请求变得非常简单。它专门用于网络请求,通过使用Spring Android或者Google Http
Client
等扩展模块可支持REST请求。

如果想要了解更多,不妨点击链接查看RoboSpice大图,让你30秒即可完全了解RoboSpice。如果想要立即使用,则可以直接进入WiKiRoboSpice-samples页面。

55. EventBus

当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。

EventBus是GreenRobot出品的Android系统的一个Event Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。

延伸阅读:EventBus和Otto使用介绍

56. commandergenius

commandergenius是SDL库的端口,在project/jni/application目录下还包含有几个个人游戏的源代码或补丁。

57. android-rss

Android RSS是Android平台上RSS 2.0阅读软件的一个轻量级Android库。

详情请参考:Code.Google

58. OpenCV-Android

OpenCV-Android是一个将OpenCV移到Android手机平台的开源项目,该项目使用OpenCV最新的一个分支并利用一个改良过的Android
NDK进行构建。

如果想要使用OpenCV-Android,必须先下载并安装Android SDK
1.6(或其更高版本)和NDK r5,除此之外,还必须具备:

  • Android手机(可能需要与其他手机相连);
  • QuickTime Java库(如果想要使用QTWebcamBroadcaster就必须具备)。

59. RESTProvider

RESTProvider旨在让访问REST服务(或任何主要的HTTP调用的网络数据格式)更容易,并将其缓存到本地的一个SQLite数据库中,允许脱机使用。可自动解析RESTful API,并将其响应到Android的一个Provider中。

60.
ImageFilterForAndroid

在开源ImageFilterForAndroid中拥有许多丰富的图片效果,是由来自国内的代震军发起的一个开源项目。除了Android平台,还有Windows Phone和iOS移动平台,三个平台源码同步。

ImageFilter库图片效果对比:

详情请参考:代震军BLOG

61.
Android-Image-Cache

Android-Image-Cache是一个能够自动判断从内存还是网络获取图片、缓存可以自动回收、自动判断如何有效地生成并检索各种尺寸缩略图的图像download-and-cacher。

主要特点如下:

  • 只需提供一个适配器即可从光标读取本地、网络URL;
  • 基于一个已下载的图像自动生成并缓存多种尺寸图像;
  • 同时提供磁盘缓存和内存缓存;
  • 自动磁盘缓存管理;不需进行设置,但如果需要的话,参数可进行调整;
  • 根据现有设置进行运作;
  • 光标适配器支持一个ImageView中多个图像字段;当是null或为空时自动跳过;
  • 当加载光标时,光标适配器会有一个自动进度提示条。

62. FFmpeg-Android

为Android neon、armv7、vfp、armv6及用于Android的VPlayer构建FFmpeg。

63.
roman10-android-tutorial

roman10-android-tutorial包含了android tutorial的所有源代码。

64. tape

Tape是Square推出的Android和Java的一组队列关系类。

详情请参考:**Square.GitHub**

65.
AndroidSideMenu

AndroidSideMenu能够让你轻而易举地创建侧滑菜单。需要注意的是,该项目自身并不提供任何创建菜单的工具,因此,开发者可以自由创建内部菜单。

66. Android-AppMsg

Android-AppMsg是基于Toast消息提示和Cyril
Mottier的“The making of Prixing #4: in-layout
notifications
”而来的一个布局内通知实现。

开发者可以直接登陆Google Play下载其示例应用

67. proxydroid

ProxyDroid是Android上的一个全局代理应用,遵循GPLv3协议,可以帮助你设置Android设备上的代理。proxydroid项目包含了ProxyDroid所有开放源代码。

68. bypass

Bypass可以跳过HTML,直接在Android和iOS上使用Markdown并进行渲染。Markdown是一种轻量级的标记语言,可以实现文本到HTML的转换。

69. OnionKit

OnionKit是一个可以通过提供多种路径来提高移动应用网络安全的Android库项目。

该库具体提供:

  • StrongTrustManager:TLS/SSL证书校验的一个强大实现,任何认证中心都可以进行定制;
  • Proxied Connection Support:通过Apache HTTPClient库的特定配置来支持HTTP和HTTPS流量的HTTP和SOCKS代理连接;
  • OrbotHelper:一个支持Orbot:Tor for Android应用集成的工具类。

70. android-ffmpeg

如果想要实现Android FFmpeg编译,必须下载安装Android NDK,在开始编译之前,还必须更新FFmpeg库。

71.
AndroidUsbCamera

Android Usb Camera是一款可以在Linux电脑上将Android手机直接当摄像头使用的客户端软件。先在手机上安装USB驱动,再安装该客户端软件,然后再在手机上安装usbwebcam.apk程序,打开USB调试模式并运行usbwebcam,通过USB线将电脑和手机相连接即可在PC上直接使用Android手机充当摄像头。

72. Droidex

Droidex可以将开发者附加的Android设备的屏幕内容复制到你的开发设备屏幕上。通常,如果你使用DroidEx来进行演示可谓是事半功倍,因为你可以直接将一台Android设备与笔记本或投影仪相连,而客户也可以通过这些设备来查看Android设备上的内容。

 

此外,Droidex还可以用来演示那些不方便通过模拟器演示的内容,比如GPS或力口速器。

73. andmake

andmake是Android的CMake工具链文件。CMake是一个开源的跨平台自动化构建系统,可以编译源代码、制作程序库、产生适配器,还可以用任意的顺序构建可执行文件。

74. ScreenCap

ScreenCap是Android原生自带的截屏工具,通过调用底层,采取后台截屏的方式实现截屏。

GitHub上受开发者欢迎的Android开源项目并不仅仅止于此,还有很多,并且还有许多同类开源项目,如果你感兴趣的话,可以直接登陆GitHub进行更加深入的学习了解。至此,GitHub上最受欢迎的Android开源项目盘点就全部结束了。

原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea

.

3. Android开发神器

网上有很多开源的安卓代码库很好用,对于刚学习安卓的童鞋亦或者老鸟都是很好的学习对象。
我平时有关注开源代码的习惯,这么多年也搜集了不少精彩的源码。
到后来发现自己手机里装的都是几百个demo app,删又不舍得删,不删又占资源,
 于是就准备搞了个23code应用,里面汇集了我精心整理的应用,
此后每周应该都会更新。敬请期待。。。

百度下载链接
谷歌市场下载

当前版本集成了68个开源示例。

 

更新日志

 v1.0 添加如下
HoloColorPicker
Square-progressbar
ParallaxScrollView
JazzyViewPager
CircularProgressBar
LeftLockedGallery
GPUImage
Bootstrap
SwipToDismiss
GifView
LockPatternGenerator
NewQuickAction3D
SlidingDrawer
SwitchButton
TabCarouselDemo
ActionsContentView
ArcMenu
【11月30号】v1.1 添加如下:
ProgressWheel,
Movies-demo,
SlideExpanableListView,
XlistView,
Android-Universal-Image-LoaderCardslib, 
Cardsui

【12月2号】v1.2 添加如下
ProgressWheel,
Movies-demo,
SlideExpandableListView,
XlistView,
Universal-Image-Loader,
Cardsui,
CardsLib,
PinnedSectionList,
HoloGraphLibrary,
AChartEngine,
QuickScroll,
ListViewAnimations,
MenuDrawer,
ViewPagerIndicator,
PhotoView,
Android-ViewBradger,
RangeBar,
ProgressButton,
PagerSlidingTabStrip.
ActionBar-PullToRefresh,
Cropper,
ExpandingCells,
InsertingCells,
NewPopupMenu,
RangeSeekBar,
HanselAndGretel,
PagedDragDropGrid,
QuickReturnListView,
WizardPager

【12月9号】添加记录如下:

NoboringActionBar,

StickGridHeaders,

MessageBar,
AndroidOpenGLESLessons,
SuperToasts,
SmoothProgressBar,
ColorArt,
FadingActionBar,
FlipImageView,
DatetimePicker,
Satelitemenu
【12月18号】添加如下:
Android-pulltorefresh
NineOldAndroid
GlowPadView
CustomShapeImageView
ShareEveryWhere
RoundImageView
AutoScaleTextView
IconicDroid
Radial-menu-widget
android-wheel
androidwheel
ChipsTextFields
妈妈再也不用担心我当程序员啦

way

http://blog.csdn.net/way_ping_li

老罗

http://blog.csdn.net/column/details/androidluo.html

李宁

http://blog.csdn.net/nokiaguy

robin
http://blog.csdn.net/hudashi

guolin
http://blog.csdn.net/sinyu890807?viewmode=list

wangli

http://blog.csdn.net/lee576

UI设计
http://www.cnblogs.com/playing/category/286537.html

UI进阶
http://blog.csdn.net/column/details/uidev.html

时之沙

http://blog.csdn.net/t12x3456

张国威
http://blog.csdn.net/hellogv

张兴业

http://blog.csdn.net/xyz_lmn

夏安明

http://blog.csdn.net/xiaanming

黄俊东

http://blog.csdn.net/hjd_love_zzt

四方城
http://blog.csdn.net/kesenhoo

柳志超

http://liuzhichao.com/archives

stonecao

http://blog.csdn.net/stonecao

短裤党
http://gundumw100.iteye.com/

左潇龙

http://www.cnblogs.com/zuoxiaolong/p/pattern26.html

引路蜂

http://blog.csdn.net/mapdigit

云在千峰

http://blog.chengyunfeng.com/

农民伯伯
http://www.cnblogs.com/over140/

玄机逸士
http://blog.csdn.net/pathuang68/article/category/784453

谷歌的代码
http://code.google.com/intl/zh-CN/

EOE归类
http://www.eoeandroid.com/topic-tag.html

qinjuning

http://blog.csdn.net/qinjuning

jj120522
http://blog.csdn.net/jj120522

IT-Homer
http://blog.csdn.net/sunboy_2050

傲慢的上校
http://blog.csdn.net/aomandeshangxiao

FireOfStar

http://blog.csdn.net/think_soft

浪人的星空
http://blog.csdn.net/hitlion2008

nkmnkm的专栏

http://blog.csdn.net/nkmnkm

深入Android
http://www.cnblogs.com/duguguiyu/category/112850.html

google的bug

http://code.google.com/p/android/issues/detail?id=30767

stackoverflow
http://stackoverflow.com/questions/tagged/android

ACE(照片开源)
http://blog.csdn.net/ACE1985/article/category/944280/1

Android_Tutor
http://blog.csdn.net/Android_Tutor?viewmode=contents

Android开源项目
http://luckerme.com/archives/41.html

前言:
      无论你是android的初学者,还有是android开发多年的高手,可能都会有很多想法和经验希望与人分享交流,渴望能够接触到更多的实战项目,正所谓所谓与高手论道才能互补所长,与英雄共鼎方能百尺竿头,一味的织履贩席闭门造车只能固步自封成为井底之蛙,笔者特意将研究过的开源软件花费大量时间和精力逐一悉心修改整理调试发布,确保完美质量,以飨读者
      以下部分资源设置积分限制,如果有着急需的同学可以给我邮件或者加入我们的技术交流群(173711587),海量资源一键下载,共同探讨和分享技术资源。

相信自己,只要努力学习勤奋工作用不了多久你就会升职加薪出任CTO迎娶白富美走上人生巅峰。。。
      
想想是不是还有些小激动呢,赶快去下载吧
 
开源分享(点击标题下载源码):

2.oschina客户端

  

3.手机安全管家

  

4.星座连萌

  

5.玲闹铃

  

6.魔乐盒

  

7.PWP日历

  

8.Apollo音乐播放器

  

9.夏普名片识别

  

10.高仿人人网

  

11.简洁天气

  

12.高仿开心网

  

13.百度推聊

  

14.餐厅订餐

  

15.eoe客户端

  

16.饭否网客户端

  

17.imiPhoneWall

  

18.k9mail

  

19.MSD音乐

  

20.高仿爱奇艺

  

21.企信通

  

 22.高仿生日管家

  


23.PM25

  

24.高仿陌陌

  
  

26.CB资讯阅读

  
 

27.幽秘

  


如没有CSDN积分的同学可以加入我们的技术交流群(173711587),海量资源等你来拿
欢迎大家补充和讨论,文章持续更新,请关注我的博客,更多精彩还在后面。。。。






1.Java基础视频 

《张孝祥JAVA视频教程》完整版[RMVB](东西网)

历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播客)

张孝祥2010年贺岁视频:Java高新技术(传智播客)

Java多线程与并发库高级应用(传智播客)

尚学堂JAVA视频下载大全(持续更新中…请关注!)(尚学堂)

《动力节点,王勇JAVA系列视频教程》(东西网)

张孝祥Java高新技术(学习资料网)

Java视频教程(最适合Java初学者的经典入门视频)(传智播客)

《马士兵 JAVA JSP视频教程》尚学堂科技(尚学堂)

尚学堂科技_马士兵_JAVA视频教程》(百度空间)

《尚学堂马士兵 手把手java视频教程》第二版(东西网)

java视频教程、java教学视频、java视频下载大全(尚学堂)

Java语言资源列表(东西网)

Java私塾Java初级教程(学习资料网)

Java精品学习视频教程下载汇总(大家论坛)

上海交大最新版JAVA程序设计(学习资料网)

JAVA私塾基础视频教程(PlaySoft网)

JAVA教程/视频教程类专题资料(学习资料库网)

 

2.SSH相关视频 

hibernate视频教程(华为网盘)

王胜Hibernate(资源共享)

王胜Hibernate(零度软件园)

北京圣思园Hibernate视频教程(学习资料库)

struts2实用简洁版视频(传智播客)

传智播客Hibernate视频教程(传智播客)

传智播客Spring5视频教程(传智播客)

咿呀网提供-SpringMVC0视频教程(iteye)

JAVA系列教材-Spring6_尚学堂科技(西西软件园)

《Spring MVC0 WEB开发系列视频教程(全套共6讲–约400分钟)》(iVeryCD)

《hibernate视频教程,spring视频教程–老卢JAVA》(北风网)

Struts+Spring+Hibernate开发入行真功夫(19一九下载)

《浪曦原创Struts.Hibernate.Spring.JS.分页视频教程(全)》(零度软件园)

《疯狂Java_疯狂软件_李刚老师_Struts2全套视频教程》(北风网)

struts2实用简洁版视频(传智播客)

《浪曦视频教程 Struts 2应用开发详解系列》(东西网)

张卫_Struts1视频教程2012年第一版源码(华为网盘)

张卫_Struts1_Hibernate…教程2012年第一版源码(华为网盘)

《北京圣思园struts2教学视频》(SimpleCD)

SpringMvc+Spring+Mybatis+Maven整合视频教程(百度云网盘)

JNI视频教程(传智播客)

传智播客_FTP视频教程(传智播客)

oracle视频教程(内部经典)(传智播客)

OA+工作流(JBPM)(传智播客)

Ajax和Jquery基础入门视频(传智播客)

8天快速掌握Android视频(完整版–适合有JavaWeb基础学习)(传智播客)

张孝祥Java就业面试宝典(传智播客)

《传智播客:spring3/jdbc/EJB0/ajax/hibernate/Struts/java视频教程》(传智播客)

30天轻松掌握JavaWeb视频(黑马)

Java/.Net/PHP/网页平面设计(传智播客)

传智播客_张孝祥_java基础教程(华为网盘)

传智播客_方立勋JavaWeb视频教程_web开发入门(第四天)(华为网盘)

《传智播客_张孝祥java视频教程_11_javaweb/javascript/java》(javajavascriptjavawebcourses)(资源共享)

《传智播客张孝祥java视频教程_13_struts/javascript/java》(VeryCD)

《传智播客张孝祥java视频教程_13_struts/javascript/java》(iVeryCD)

Hibernate视频教程(适合掌握了javaweb的学员)(黑马)

《传智播客:spring3jdbcEJB0ajaxhibernateStrutsjava视频教程》(SPRING5AJAXJAVAJNIFTPAJAXibatisOAJDBC)(VeryCD)

《spring5视频教程》AVI 传智播客(东西网)

传智播客_spring5视频教程(华为网盘)

传智播客_2010_struts2.1.8视频教程(华为网盘)

Hibernate视频教程(尚学堂)

 

3.JavaEE相关视频

《尚学堂科技.马士兵.JAVA视频教程(java培训内部视频)10年2月9日更新(更新Spring0)》(资源共享)

老卢JAVA(老卢JAVA网)

JavaSE视频教程(最适合Java初学者的经典入门视频)(尚学堂)

传智播客JDBC视频教程(传智播客)

JavaWEB开发(JSP+Servlet)视频(传智播客)

30天轻松掌握JavaWeb视频(传智播客)

北京圣思Java培训教学视频(资源共享网)

《张卫 JavaWeb视频教程》2011版(求索网)

Lucene/WebService/SVN/Ant/SpringMVC视频(学习资料库网)

JUnit和Ant视频教程(VeryCD社区)

广州Java培训WebService视频教程(疯狂软件)

北京圣思员Java.Web培训视频(迅雷快传)

传智播客EJB0视频教程(传智播客)

传智播客JPA详解视频教程(传智播客)

ibatis视频教程(传智播客)

传智播客JAVA邮件开发视频教程(传智播客)

传智播客FCKeditor视频教程(传智播客)

传智播客_ibatis视频教程(华为网盘)

《幻想—iBATIS框架技术视频教程》(资源共享)

《Java教学视频_孔浩老师》开始更新JavaWeb方面的视频(更新了MyBatis部分的视频)(北风网)

 

3.前端技术视频

传智播客AJax视频教程(传智播客)

JavaScript详解高清视频教程打包下载(iteye)

精通JavaScript+jQuery 视频教程及源码(西西软件园)

lamp兄弟连高洛峰JavaScript视频教程(华为网盘)

《JavaScript基础视频教程》不断更新…[压缩包](资源共享)

《21天学通JavaScript》视频教程+源码(东西网)

JavaScript基础视频教程(学习资料库)

《北风网资深讲师李炎恢JavaScript视频教程》(19一九下载)

《JavaScript视频教程》(Top JavaScript Tech Videos)(iVeryCD)

JavaScript视频教程》(Top JavaScript Tech Videos)(北风网)

《LAMP兄弟连JavaScript视频教程》11月14日更新(敏学网)

《后盾网盾友 JQuery 视频教程 》(资源共享)

jquery视频教程下载(网易博客)

JQuery实战(学习资料库)

Jquery精品视频教程(iteye)

JavaScript网页开发(传智播客)

毕向东Html、css、JavaScript视频教程(黑马)

传智播客.Net培训—JQuery(华为网盘)

网页平面设计视频(传智播客)

 

3.Linux相关视频

《尚学堂 linux 3 天绝版》linux操作系统视频教程(东西网)

《Linux从入门到精通》随书视频教程(东西网)

RHCE视频教程下载(Linux公社)

周立发linux视频教程(ChinaUnix)

linux视频教程(百度云网盘)

韩顺平Linux(iteye)

韩顺平 linux视频教程(华为网盘)

Linux视频教程(传智播客)

 

4.Android视频

Java/安卓/C++/.Net(ITjob网)

Android项目视频教程(学习资料库)

《Sundy‘s《Android高级应用开发课程共享版》《Android开发视频教程》[压缩包](资源共享)

Android视频全套教程免费批量下载(华为网盘)

《Android开发教程【更新项目实战】》发布项目实战第20课[MP4](VeryCD)

Android开发视频教学(CSND)

8天快速掌握Android视频

Android黑马培训视频

Mars老师Android视频

 

5.数据库相关视频

数据库SQL Server/Oracle/MySQL/DB2教程类专题资料(学习资料网络)

《2011版李兴华主讲-ORACLE实战 最强大的数据库课程[增加网盘下载]》(ORACLE)V2011(VeryCD)

Oracle/Linux系列免费视频教程(cuug)

《oracle 视频教程》chinaitlab(敏学网)

《CBT Nuggets出品甲骨文11g数据库1Z0-051SQL基础考试视频教程》(资源共享)

尚观国际oracle入门到精通OCP认证教学视频(迅雷快传)

oracle视频教程(内部经典)(黑马)

 

6.项目实战视频

巴巴运动网视频教程(传智播客)

银行业务调度系统(传智播客)

交通灯管理系统(传智播客)

java网上在线支付实战视频(传智播客)

俄罗斯、贪吃蛇游戏-项目视频(传智播客)

 

 

 Java程序员进化为架构师掌握的知识

一:Java知识
1、进制转换
2、Java基本数据类型
面向对象相关知识
3、类、接口、抽象类
this关键字、static关键字、final关键字
方法的参数传递机制
Java垃圾回收机制
四种内部类的实现方式
方法重写(override)与重载(overload)的联系与区别通过多态实现程序代码的松耦合
Java 异常体系详解(checked exception 与 unchecked exception)
JDK 5.0 新特性(泛型、枚举、可变参数、增强的 for 循环、静态导入等)
Java Annotation(使用系统内置 Annotation、自定义Annotation、Annotation的继承等)
Java多线程机制详解(锁、synchronized关键字、sleep()方法、wait()方法、notify() 、notifyAll()方法的意义与联系)
Java线程池的内部实现
Java定时任务内部实现
Java I/O编程(装饰模式详解)
Java网络编程基础知识(Socket、URL、URLConnection、ServerSocket等)
TCP与 UDP的联系与区别
Java Collection API(Collection、List、Set、Map、ArrayList、LinkedList、 Vector、 HashSet、 TreeSet、 HashMap与TreeMap等)区别,适用场景
常用设计模式(工厂方法模式、观察者模式、策略模式、装饰模式、模板方法模式、命令模式等的原理与应用)
Java NIO详解
java.util.concurrent 并发包的应用(ConcurrentHashMap核心源代码分析、ThreadPoolExecutor、FutureTask、Semaphore、Condition、ReentrantReadWriteLock等接口与类的深度分析)
基于 JDK 1.4 锁的并发机制与基于 JDK 5.0并发包的同步与并发机制的比较与分析
序列化与反序列化
正则表达式的应用
Java动态代理与反射机制
Java代码的执行机制
源代码编译机制
类加载与执行机制
JVM内存管理(内存空间、内存分配、内存回收)
使用 JConsole、JVisualVM及 JMap等查看内存的使用状况
分析程序执行的过程
JVM线程资源同步及交互机制
线程交互机制与状态分析
Java文件操作相关,递归删除,递归读取
JDBC相关知识,步骤,连接操作,数据库连接池(详解 Apache DBCP数据库连接池)
移位操作 (左移n位==乘以2的n次幂) (右移n位==除以2的n次幂)

二、算法
各种排序算法:快速排序、归并排序、插入排序等等
斐波切纳函数
二分查找
全排列
二叉树的遍历
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)
字符串反转
前缀树
最大堆,最小堆
Hash算法及HashMap算法
ConcurrentLinkedHashMap(LRU)
BloomFilter
LIRS算法 LIRS的基本思想是对访问的数据块进行分类,一部分为hot数据块,一部分为cold数据块。对于hot数据块我们可以分配90%以上的cache给它们。而对于cold数据块给它们分配10%。
从LIRS算法的描述来看,可以理解为两个LRU队列的组合,利用cold缓冲区来保护Hot缓冲区,提高了进入hot缓冲区的门槛,阻止hot缓冲区频繁地变化。

三、数据库
MySQL存储引擎
mysql优化
mysql HA解决方案
sql语句优化
NoSQL相关

四、文件系统
Linux主流文件系统
EXT3与EXT4文件系统
主流分布式文件系统分析与对比
分布式文件系统

五、系统相关
共享内存实现机制
mmap的实现原理与机制
copy on write技术
zero copy技术

六、网络相关
OSI七层网络模型
TCP/IP交互流程
HTTP访问流程

七、大型网站架构
负载均衡技术及其原理
智能DNS解析,原理,实现方案
squid web加速及缓存技术
网页静态化

 

 

 

 Android精品开源项目整理(持续更新中..)

 

如有更多更好的资源欢迎大家跟帖分享。。。

 

淘宝技术牛p博客整理

分类: 【Programmer’s life】 570人阅读 评论(1) 收藏 举报

淘宝技术委员会是由淘宝技术部高级技术人员组成的一个组织,共分为Java分会C/C++分会算法分会数据分会UED分会测试分会系统分会七个分会。
淘宝技术委员会的愿景是淘宝成为技术人才向往的乐土,高级技术人员的发源地;技术委员会的使命是帮助淘宝建立业界一流的技术团队。同时,技术委员会也是技术人员间交流技术和想法的一个平台。

淘宝技术博客:

数据分会 淘宝DBA http://www.taobaodba.com/

UED分会 http://ued.taobao.com/

测试分会 套测试:http://www.taobaotest.com/

==========Java牛人=========================================

Java牛人:

华黎(曾宪杰):淘宝技术委员会JAVA分会会长。  

blog: http://blogjava.net/vanadies10

先后在中科院下属企业、先锋电子(中国)等企业就职,是一个桌面管理系统的软件公司的联合创始人并负责总体技术工作。参与过邮政省级地市集中化生产作业系统的设计开发以及大型企业内部桌面管理安全系统的设计和开发。07年6月加入淘宝,从负责消息中间件、数据层到整个Java中间件以及现在的通用产品,主要的工作都在中间件和一些通用产品部分,在高可用和容灾方面,也有一些经验。比较熟悉C++和Java,在多线程、并发、网络通信方面有一定的经验,对于JVM、分布式系统有一些了解。对新技术有浓厚的兴趣。目前负责淘宝网通用产品团队,致力于更好的支持业务开发团队。

一粟(朱鴻)、

blog: http://hugozhu.myalert.info/

weibo: http://weibo.com/hugozhu

2009年2月加入淘宝,目前负责淘宝广告三大产品线的业务前端系统架构。参加过淘宝直通车重构,搜索前端,广告日志,报表平台,消息通知引擎,无线广告平台等系统设计和实现。对互联网应用各方面的技术都感兴趣,比较关注的方向有:应用开发框架,分布式存储和搜索系统,大流量网站架构,并行计算,移动平台和前端技术等;
在加入淘宝前:
1. 1999年~2002年浙大读研期间在阿里巴巴兼职开发网站应用;
2. 2003年~2005年在美国洛杉矶从事网络应用开发; 
3. 2005年~2008年在美国Yahoo负责搜索前端及其相关应用的开发。

玄难(墙辉)

有12年的电信移动CRM和BOSS系统的领域建模和技术架构经验,并带领团队完成以年为单位上百人的大型项目实施工作。 建立过一套J2EE基础开发平台。涉及前台UI的组件化和自动化,服务的定义和注册管理,数据的O-R Mapping、规则引擎、包括Process、Workflow、BPM、PageFlow的流程平台。系统的自动化部署,系统的个层面的运行期监控。在各种类型的项目和开发人员中得到了很好的应用。
对问题域的抽象建模和偏业务的技术架构有浓厚的兴趣和一定的实践经验。崇尚系统的模型简单、架构简单、代码简单为美。
2009年8月加入淘宝,负责汇金系统【汇金系统:是淘宝自有服务和第三方服务的售卖方式和价格定义、销售、服务开通、分成结算和最后的财务核算系统】的技术架构和团队管理工作。


孤城(李杰)、

个人基本上在淘宝成长,大部分时间在负责后台相关的业务和技术工作。先后接触参与过CRM(原淘宝后台)、HECLA、拍卖、营销、会员、UIC、评价、汇金、物流宝等业务系统;
并努力推动TBOSS的业务平台和技术平台体系建设,有幸能够参与构建一个相对完整的业务和技术体系。
追求架构中人、业务、技术的平衡之道。
比较熟悉领域建模、架构;对服务化的技术框架、工具,大规模业务处理的技术平台构建有些想法和实践。


范禹(吴泽明)、

在淘宝一直在做业务系统的开发:开始是论坛、会员相关的功能,中间参与B2C平台开发,然后是B2C、C2C平台的整合 。当前在做系统稳定性、性能优化等相关的工作。


毕玄(林昊)、

blog: http://www.blogjava.net/BlueDavy

07年加入淘宝,07—10年主要负责服务框架的实现,目前此服务框架大范围的在淘宝使用,每天经过服务框架的请求量为120亿+,目前主要负责online海量数据存储和分析的实现。在加入淘宝前,主要从事政府软件的开发,对OSGi有很强烈的兴趣。
关键字: JVM SOA 高并发 高可用 网络通信 NoSQL

放翁(岑文初)、

blog: http://blog.csdn.net/cenwenchu79

weibo: http://weibo.com/fangweng

06年3月加入阿里巴巴CRM团队,07年初参加阿里软件创业团队,主要负责阿里软件基础平台(SAAS平台),08年初与淘宝合作开发阿里巴巴最早的开放平台。09年离开阿里云基础团队转入淘宝,主要负责开放平台整体架构的设计和核心框架的实现,为开放平台在安全,性能,可用性上实现了一系列的框架和工具:分布式数据统计分析集群框架,异步化Web请求处理PipeComet框架等等。对开放平台的授权,服务接入,访问控制都有一些技术创新。在阿里巴巴的5年工作中已经被受理了10多项专利,主要分布在开放平台架构,开放服务安全算法,系统并发处理优化设计。
关键字:开放平台,分布式计算,Web请求异步化


空望(魏虎)、

weibo:http://weibo.com/skyhope 

06年底加入淘宝,先后负责过 机票系统、CTU、UIC、Forest、TTM、淘江湖、终搜等产品和系统,涉及淘宝业务系统范围较广。 目前在商品线带领推荐系统和收藏夹团队。 熟悉java web编程、多线程编程、搜索引擎、数据挖掘及nosql相关技术,对系统性能调优也有丰富的经验。
关键字:网站性能优化、分布式系统、系统架构设计等
褚霸(余锋)
淘宝网任资深技术专家,专注高性能容错分布式服务器的研究和实现

==============C++牛人======================================

C++牛人:

立忠(张立中)、

2005加入B2B,从事Isearch的开发
2006借调雅虎,P4P平台开发
2007加入阿里妈妈,广告平台及数据平台开发
2008并入淘宝,广告算法架构师 
擅长领域:搜索引擎,广告引擎,大型分布式系统,实时系统。


五福(沈加翔)、

目前担任淘宝搜索的技术负责人,研究员。
99年中科院计算所硕士毕业后加入朗讯中国贝尔实验室从事通信软件研发;
02年加入 雅虎中进入垂直搜索技术领域,离开时是搜索团队的技术负责人;
05年加入雅虎美国搜索技术团队,带领中美两地的技术团队负责雅虎中国全网搜索全系 统技术的研发。
08年加入阿里巴巴,历经B2B、阿里云和淘宝,完成了商品搜索引擎在包括淘宝搜索和B2B搜索广告等核心业务领域的平台化,解决 了扩展性问题,也获得了巨大的整体收益;启动建设了新一代商品搜索和全文检索一体化的搜索引擎平台和全网内容抓取平台,为阿里集团的搜索技术拓展 至全网奠定了坚实的基础。


本空(徐绿兵)、

前,在电子部就职1年,第一次接触到互联网;在新浪就职9年,转变为互联网建设的参与者,先后负责过新浪的即时通讯软件、财经频道股票数 据平台、企业广场后台、爱问引擎等项目的设计和开发。
熟悉C/C++、Java、Perl,在网络通信、分布式计算、搜索技术有一定经验,喜欢脚 本语言和混合语言编程,对面向对象技术了解深刻,追求代码的可读性、扩展性和可维护性。
在淘宝的经历:
07年6月加入阿里妈妈,负责广告数据引擎的建设和维护,期间负责对引擎的代码做了一次大的重构,引擎、数据更新、数据转存的框架一直沿用至淘宝 直通车引擎;
08年9月转入大淘宝,进入新成立的广告架构技术部,作为和广告引擎技术相关的架构师,参与了直通车2.0引擎架构设计、夸父通讯中间件的架构设 计;
09年10月开始成为代码质量组成员,编写了C/C++代码规范,为推进C++单元测试而努力。


多隆(蔡景现)

2003加入淘宝,做过php,java开发, 参与过 isearch开发, 设计并开发过tfs, tair 
在淘宝的经历:
2003: php开发
2004 ~ 2005: 参与denali开发
2006: 参与isearch 开发, tbstore的开发(类似tair)
2007 ~ 2009: tfs的开发, tair的开发, tbnet的开发
2010: squid的改进
2011: 高性能服务器框架开发

========算法牛人================================== 

算法牛人:

鬼脚七(文德)、

毕业于天津大学自动化学院,之后在海量科技从事自然语言处理的研发工作, 
2004年6月加入雅虎, 2008年加入阿里妈妈, 08年9月加入淘宝. 先后负责广告技术部, 搜索与算法技术部.
关键字(熟悉的领域):网页搜索、广告技术、自然语言处理、机器学习


精忍(吴凯)、

2010年3月加入淘宝。在搜索算法团队工作,现负责北京主搜索算法团队,工作包括个性化搜索、Query改写(省略、纠错)、检索粒度控制(分词索引、多粒度检索)、用户引导(相关搜索、下拉提示)等
加入淘宝前,在百度做网页搜索相关性方面的工作,包括Query分析、Ranking架构优化、用户行为分析等,对搜索相关性有较多经验 
再之前,在微软亚洲工程院研究院做商品搜索的研发,主要做商品聚合的算法研发。


铁相(吴雪军)、

主要从事网页搜索、广告系统、自然语言处理等方面的技术研发。2004年初,加盟百度,带领技术人员研发了百度的新一代的网盟广告系统,从无到期组建了百度自然语言处理部,担任百度网盟广告系统、自然语言处理部、大搜索部网页分析的技术负责人。
曾任百度软件工程师、高级工程师、科学家
天涯社区 技术副总裁 
2010年9月,正式加盟淘宝网,主要负责淘宝广告算法系统的研发、建立和完善淘宝广告算法技术体系、推进淘宝广告系统的技术发展。


青峰(王志榮)、

学习经历:
南京大学计算机本科,复旦大学和Carnegie Mellon University硕士,研究方向语音识别; 
工作经历:
1)美国Siebel Systems公司:研发CRM领域的客户关系数据挖掘问题;
2)美国Yahoo Inc:研发搜索网页反作弊,网页文本分类以及排序等相关课题。 
淘宝经历:
08年7月加入Alimama,08年10月加入淘宝搜索中心,负责淘宝搜索算法领域,致力于淘宝数据的分析,挖掘,建模工作,从query分析,导航,搜索排序,搜索反作弊等方向提升淘宝搜索用户体验。

 

========数据(库)牛人=============================

数据(库)牛人:

正祥(阳振坤)

1984年进入北京大学,先后获得数学学士、硕士以及计算机博士学位后留校,1997年破格晋升为教授,1999年成为北京大学首批“长江学者奖励计划”特聘教授之一,先后获得北京市科学技术进步奖一等奖、国家科学技术进步奖一等奖(排名第四)、第六届中国青年科技奖、北京市五四青年奖等。
曾先后担任方正研究院副院长、北大计算机研究所副所长、联想研究院首席研究员、微软亚洲研究院主任研究员、百度高级科学家等 。近年来的主要研究领域是云计算和海量数据库等。

泽远(王磊)、

毕业于华中科技大学。
曾就职于腾讯,从事互联网平台产品与中间件开发和维护工作。先后参与和主导过Tencent Web Server,消息中间件,高性能业务框架、SOA基础设置、规则引擎、分布式KV数据库的开发。爱好开发各种工具提高工作效率并且自娱自乐。其中XTools运维工具箱发布到内网后,一天内达到800+的下载量,并获得了ponyma的热心点评。
2010年加入淘宝,从事淘宝海量数据仓库的平台化建设工作。主导和参与过的项目有,Dbloader优化,DataX开发,数据同步稳定性与性能提升、提升刀锋项目,指标系统,天网调度,告警平台,Witon数据服务平台。目前为数据平台架构组组负责人,专注的领域是分布式计算、存储和海量数据仓库架构。爱技术,也爱产品,关注技术背后的商业价值,理想是为淘宝数据开发之路贡献力量。

云铮(张清)、

2002年毕业于浙江大学计算机系,2003年初加入阿里巴巴,成功创建阿里巴巴dw,经历了阿里dw从创建到成熟运用。2005年,淘宝数据开始启动,调任淘宝,打造淘宝数据平台体系,推动商业智能体系建设,引入高端SAS,SPSS CLEMENTINE标准数据挖掘体系,并对第一批数据挖掘人员进行数据挖掘技术和实施流程培训。负责淘宝数据平台体系架构的每一次大的升级换代,历经oracle单机,到oracle RAC 4节点高端存储,到oracle RAC 12节点,到全球最大的oracle RAC 20节点,在到目前的2000台规模的hadoop 云梯分布式计算集群,数据体系在这些平台发展过程中平稳升级,对应用全透明,集群的规模在增加,任务job在 迅速扩展,得力于良好的应用架构,运维人员能轻松应对,实现高效,自动化运维。对国内外最新数据技术狂热,在和国内外业界行家交流和阿里,淘宝的实战中,糅合所学所见,无门无派,注重实效,自成一套淘宝数据体系建设和运用的实战方法。八年数据生涯的梦想是能够推动集团数据统一体系架构,为数据化运营,推动实现十年数据战略尽自己一份力。

图海(王勇)、

6年多的数据行业相关经验,2009年加入淘宝,参与了淘宝数据部门从RAC平台向分布式平台转变的全过程,成功的搭建和维护了符合淘宝数据业务的分布式平台(2000台的hadoop集群)。
主要关注于分布式系统的应用优化,对于分布式存储和计算有比较深入的了解,通过技术和业务的结合,成功实现了降低2/3的存储优化效果和提升一倍运行效率的计算优化。
在数据库、海量数据存储、分布式系统等方面具备深厚的理论知识与实践经验,此外,对于Linux系统,脚本编程,架构设计方面也有比较浓厚的兴趣和经验。
DBA:
冯春培、

七公汪海)、
西毒(冯大辉)、
支付宝资深DBA
陈吉平(拖雷)
weibo: http://weibo.com/chenpiner

============UED牛人============================================

UED牛人:

小马(赵泽欣)、

加入淘宝之前基本在创业公司中度过,创业项目繁杂,角色兼顾产品开发/售前咨询/售后支持/客户培训。 
加入淘宝后我的角色:第一位前端工程师 2006年10月加入淘宝网,幸运的成为淘宝第一位前端工程师。参与过旺铺、收藏夹、物流、Web旺旺和P4P等重要产品的前端开发,对淘宝整个交易流程做了系统的前端重构。 TBra开发者 2007年,结合项目逐步整理制定出淘宝UED的前端规范和开发流程,积累形成最初的前端JavaScript类库TBra。前端性能布道士 2009年开始关注前端性能优化,组织虚拟团队优化淘宝各关键页面的前端性能,2010年负责技术委员会速度小组的工作。前端架构师 2010年开始带领前端架构团队,负责前端通用框架研发与推广,UDC核心业务支持和前端质量保障体系的建设。关键字(熟悉的领域): HTML5 JavaScript 前端架构 性能优化 可用性。

清羽(周骞)、

2005-2008 加入淘宝成为前端开发工程师前,做了3年Java工程师,ERP领域。投身于企业级应用的表现层框架及其工具的研究。
2008 加入淘宝,专注于前端开发领域。加入淘宝后的角色:淘宝众多后台系统开发 2008-2010 从模板系统到TMS到运营支撑线,参与负责了淘宝众多后台系统的前端开发及其架构工作。在开发团队中传播前端技术的主要推广实践者。 UED STS团队前端Leader 2010年开始带领STS前端团队,负责新人培养、开发培训、基础框架的研发推广。带领团队在多个业务线前端技术上取得进步。目前: STS团队 店铺前端技术目前,专注店铺业务线。旨在通过前端技术提升店铺用户体验。并有意在第三方前端接入及相关技术上深入探索。

李牧(李穆)、

2004年毕业于哈尔滨工业大学数学系。 
2004-2006年就职于亚信科技,主要从事中石化,国航等大型企业人力资源管理系统前后台开发。2007年1月入职雅虎中国P4P部门,历经雅虎,阿里妈妈,淘宝网,进入阿里后逐步专注前端开发。
目前工作方向: 
1.广告投放引擎前端开发,专注第三方广告代码安全性,稳定性隐患和性能问题解决方案 
2.广告创意平台开发,通过淘宝BannerMaker和CreativeCenter产品,提供高速精美的创意在线DIY工具 
3.广告业务系统OPOA化,推进广告业务系统OnePageOneApplication化,打造体验优秀,面向前后端开发者和IE6友好的OPOA整体解决方案


玉伯 (王保平)、

weibo: http://weibo.com/lifesinger

2003-2006 年,中科院物理所研究生,Fortran 与 C 程序员,喜爱实验模拟和数值计算。 
2006-2008 年,在中科院软件所互联网实验室从事项目管理软件的研发,C# 与 Java 爱好者。 2008 年 4 月份加入淘宝,就职于 UED 部门。主要工作:交易线开发:历经交易二期到四期,以及五彩石项目。对出价页面、退款流程和详情页面等前端代码做过,系统梳理和重构。 KISSY 类库: 是淘宝新一代前端类库 KISSY 的发起人和主要开发者。开发过 KISSY 核心、全网搜索提示、富文本编辑器、Switchache 等组件。目前已大规模应用在淘宝线上环境。前端架构团队: 2009 年起,组建前端架构团队,在首页维护、全网性能优化、类库研发、知识沉淀、工具应用等方面取得了丰硕成果。是前端架构的探索与实践者。 2011 年转岗到产品技术-业务平台组。目前工作方向前端富应用开发的探索与实践、前端模块化框架 SeaJS 的开发与应用、网站性能优化与监控等一系列富含挑战和趣味的工作。

 

===========测试牛人==============================================

测试牛人:

公直(黄利)、

2004年毕业于北航,先后在大唐软件和上海微创软件任职,经历电信BOSS项目、MSN MX、MAA等项目的数据中心部署测试、功能测试、性能测试等项目。
2008年8月加入淘宝,主要经历,负责广告技术基础平台产品测试;负责淘宝-阿里云合作项目飞天夸父项目的测试;负责淘宝广告技术测试工具研发;关键字(熟悉的领域):测试工具、自动化测试、敏捷测试。


丘虚(郑昌丘)、

2008年加入淘宝,2009年负责研发了淘宝的测试平台获2009淘宝年度创新大奖二等奖;
2010年负责建立了淘宝性能测试体系,团队合作完成淘宝《淘宝性能测试白皮书》.合作研发的CSP平台获得2010年研发部创新大奖;
熟悉软件研发过程, 精通软件测试技术和软件测试自动化, 善于结合产品特性创新测试技术和测试策略,提升测试效率和测试深度.


元逍(李中杰)、

2004年毕业于清华大学,后一直在IBM中国研究院工作,参与的项目包括Web Services/业务流程/SOA测试、测试计划和优化、软件应用生命周期管理等。

2011年7月加入淘宝,现任测试架构师。关键字(熟悉的领域):测试平台、测试生成、回归测试、测试计划、软件工程。

鹤云(马治国)、

经历 产品 隶属于 微软 Emerging Market Group. 完整经历了产品从开始到消亡的4个版本。 
亲自做过的,包括功能测试,性能测试(Web Service, NT Service, javascript, DB), 压力测试(Web Service, NT Service, DB),自动化测试, 在淘宝的经历: 09年,加入淘宝,目前负责 测试平台与发展的工作测试平台与发展介绍:http://twork.taobao.net/redmine/projects/testplatform/wiki


===============系统牛人==========================================

系统牛人(硬件、网络、OS等):

周明(周明)、

04年初加入yahoo 中国 从事系统管理工作,后因工作需要,转战一拍,yahoo 、alibaba case 后回到yahoo 中国,08年初只身一人筹建阿里妈妈运维团队,半年的时间完成了IDC建设、运维体系建设、阿里妈妈广告平台从北京迁移到杭州、顶住近40亿广告PV的压力。08年9月并入淘宝,负责广告事业部的系统、PE、过程改进工作,2010年10月起负责淘宝系统运维工作,着力打造以人为本的运维体系,推进绿色、高效、低成本的基础平台建设。

伯松(李勇)、

blog: http://blog.coly.li/?from=yufeng

一位活跃的内核社区开发者。在加入淘宝之前,一直从事Linux内核维护和开发工作,曾经是SuSE Linux内核组成员,目前在淘宝内核开发维护团队从事内核开发维护工作。2001年毕业于北京邮电大学,获得了管理工程专业的学士学位。在1999年时编写了第一个在Linux上的”hello world”程序,是Ext4,OCFS2, openSuSE等开源项目的活跃参与者,现在仍然靠为GNU/Linux编写开源软件生活。

正明(章文嵩)、

weibo: http://weibo.com/wensong8

2000年在国防科技大学获得博士学位。2000年共同创办集群网络,2003年共同创办Purplecomm,2009年9月加入淘宝。是Linux内核的开发者,著名的Linux集群项目--LVS (Linux Virtual Server)的创始人和主要开发人员,LVS集群代码已在Linux 2.4和2.6的官方内核中,并得到广泛的应用。在架构大型系统、系统软件开发、Linux操作系统、网络和软件开发管理上有着丰富的经验。他一直在自由软件的开发上花费时间,并积极推动开源活动在中国的发展。 在淘宝的经历:主要负责基础核心软件研发、推进网络软硬件方面的性能优化、搭建下一代高可扩展、低碳、低成本的淘宝电子商务基础设施。

康伯(高山渊)

2000年毕业于北京化工大学生物工程专业,之后北漂8年,做过销售、IT支持、互联网接入等工作,2004年开始进入互联网运维行业,2007年加入中国雅虎,2008年转入淘宝,现在负责淘宝CDN运维、云计算运维、虚拟化、系统优化等方面工作

在公司主要经历的项目:alimama机房建设及异地迁移;云梯项目;CDN建设优化;虚拟化管理平台等项目。
淘宝校园招聘官网:http://campus.taobao.com/
淘宝招聘官方微博:http://weibo.com/staffing
淘宝大街网BBS专区:http://taobao.dajie.com/

.
 

开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)

分类: Android开发 19人阅读 评论(0) 收藏 举报

目录(?)[+]

    对于GitHub上开源项目的整理,很多博客都有写过。但是我觉得有些博客整理的开源项目过多,让我们看的眼花缭乱,以至于我们不知道该用哪一个好。所以为了更好的有利于初学者的学习,我从实战和易用性的角度重新整理这些优秀的开源项目,贪多无厌,一两个精品足以。

    这些开源项目可以分为UI类和框架类。UI类主要介绍那些自定义特性的View,包括ListView、ActionBar、ViewPager、Gallery、GridView、ImageView、ProgressBar等等。框架类的话有包含由快速开发框架Afinal,xUtils,以及Google开源的网络框架Volley.


      UI类:


   一、ListView

    1、android-pulltorefresh 

   一个强大的拉动刷新开源项目,支持各种控件下拉刷新
ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
项目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP示例:新浪微博各个页面


      2、DragSortListView 

      拖动排序的ListView
同时支持ListView滑动item删除,各个Item高度不一、单选、复选、CursorAdapter做为适配器、拖动背景变化等
项目地址:https://github.com/bauerca/drag-sort-listview
Demo地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
APP示例:Wordpress Android
       

     3、SwipelistView

       支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间项目
APP示例:微信 
  

     4、pinned-section-listview GroupName

     滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView项目地址:https://github.com/beworker/pinned-section-listview

效果图:Renderings

    

     二、ActionBar

       1. ActionBarSherlock 

        为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题
项目地址:https://github.com/JakeWharton/ActionBarSherlock
Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
APP示例:太多了。。现在连google都在用