plaid README

The project's README from github.com/nickbutcher/plaid. As one markdown file: README.md.

[ 🚧 Work in progress 👷‍♀️⛏👷🔧️👷🔧 🚧 ] Plaid 2.0

Rewriting Plaid using Android Architecture Components, in Kotlin.

👀 "Up for grabs" issues – We're happy to get your contributions on those!

👍 Comments and new issues created are welcomed.

🛑 We're currently not accepting external PRs that touch on the app's architecture.

CircleCI

Background

Plaid was written with one big goal: showcase material design in Android in a real application. While Plaid successfully achieved its goal, from an architecture point of view, it lacks all features that would make it a modular, scalable, testable and maintainable app: with UI logic in Android classes, no tests and only one module. Plaid represents a great real world app example: it provides a fairly complex set of functionalities, it has technical debt, it has features that have to be dealt with as APIs are being removed. All of these problems are encountered by many projects in the Android community and therefore, make Plaid a suitable showcase for all the advantages that architecture components bring.

More information

Goals

Non-Goals

Changes to the styles, themes, icons, animations, transitions or any other UI elements that were the initial focus of Plaid, are outside the scope of this refactoring.

Android Studio IDE setup

Plaid requires Android Studio version 3.6 or higher.

Plaid uses ktlint to enforce Kotlin coding styles. Here's how to configure it for use with Android Studio (instructions adapted from the ktlint README):


Plaid 1.0

Design news and inspiration.

Plaid is a showcase of material design that we hope you will keep installed. It pulls in news & inspiration from Designer News, Dribbble & Product Hunt. It demonstrates the use of material principles to create tactile, bold, understandable UIs.

Install on Google Play (Beta Testing)

Screenshots

Non-Goals

Plaid is a UI sample and seeks to demonstrate how to implement material design. To make this as clear as possible it explicitly does not attempt to:

License

Copyright 2015 Google LLC.

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you 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.

plaid (nickbutcher/plaid)

Searching Database…

16.2K ·GitHub
这是什么?这是一款汇集设计新闻和灵感来源的 Android 应用,编写它的目的是在真实应用中展示 Material Design,而不是只做孤立的演示示例。
这是装在手机上的应用,还是给开发者看的代码示例?两者都是。它是一款打磨得很完善的应用,适合日常安装用来看设计新闻;同时它的源码也是实现 Material Design 的参考示例。
怎么把它装到手机上?从 Google Play 获取测试版,或者自己动手构建:克隆仓库,然后用 Android Studio 3.6 或更高版本打开这个项目。
它能在旧版 Android 上运行吗?不能——明确不支持 Lollipop 之前的版本。1.0 的代码使用的是原生组件,没有测试,也只有单个模块,2.0 重写正是在解决这些问题。
它是面向设计师还是 Android 开发者?两者都有:设计师可以每天浏览新闻和灵感,开发者则可以研究一个相当复杂的真实应用,看看 Material Design 是如何组合起来的。
它的设计新闻来自哪里?三个来源:Designer News、Dribbble 和 Product Hunt,融合成一条新闻与灵感的信息流。
这个 Material Design 展示到底演示了什么?演示如何运用 Material 原则打造有触感、大胆、易于理解的界面。样式、主题、图标、动画和过渡效果是这款应用最初的重点,并且不在 2.0 重构的范围之内。
Plaid 2.0 重写都改了什么?它把应用迁移到 Android Architecture Components,转换成 Kotlin,并按照《应用架构指南》用动态功能模块进行了模块化。
现在的代码算得上好的架构参考吗?还不算——1.0 的代码把界面逻辑写在 Android 类里,没有测试,也只有单一模块。2.0 重写的目的正是把它变成模块化、可扩展、可测试的展示项目。
Size
33.2 MB
Stars
16.2K
Updated
CommitSep 28
Age
10y
Commits · 90 Days