资讯专栏INFORMATION COLUMN

Coder Essential之客户端知识索引(iOS/Android/Web)

renweihub / 2468人阅读

摘要:本文主要面向笔者在等移动端开发中的经验总结出在现有以及未来的所有客户端的学习中应该掌握的知识脉络图。它表示的是一种常见的客户端软件开发框架。部分放在这边是因为它是一套从开始到后面响应中的完整的机制,以中的中的以及中的为典型代表。

[TOC]

本文主要面向笔者在Web、iOS、Android、WP等移动端开发中的经验总结出在现有以及未来的所有客户端的学习中应该掌握的知识脉络图。通俗来说,就是帮着梳理学习笔记的目录结构。欢迎大家一起补充,Git地址:这里

Advanced:高级内容 Architect:架构设计 MVC

MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。

MVP MVVM

MVVM 是 Model-View-ViewModel 的简写。相对于 MVC 的历史来说,MVVM 是一个相当新的架构,MVVM 最早于 2005 年被微软的 WPF 和 Silverlight 的架构师 John Gossman 提出,并且应用在微软的软件开发中。当时 MVC 已经被提出了 20 多年了,可见两者出现的年代差别有多大。

MVC框架若使用不当不可避免的会存在着Controller过于臃肿并且解耦不当的问题,因此很多人都会推崇MVVM,贬斥MVC,不过这篇文章笔者认为讲的还是很不错的,值得思考。

Reactive

Reactive本身是异步数据流的一种实现方式,这里也即是所谓的FRP,即响应式函数编程。Reactive部分放在这边是因为它是一套从UI开始到后面响应中的完整的机制,以Android中的RxJava、Web中的RxJS以及iOS中的ReactiveCocoa为典型代表。

Core:框架底层原理分析

此部分主要包含对于框架的底层原理分析,譬如Android领域的AOSP的源代码分析,各种各样的什么底层通信框架等等的分析。

Language:框架常用语言 Objective-C Swift

笔者看过的语法特性最先进齐全的语言之一,足以玩上好多天。

Dart Java Network(网络) Socket HttpClient

以okHttp(Android)、Volley、AFNetworking(iOS)为例。

Request Manage(请求管理) Parallel Request(并发请求) Storage(存储) DataBase(数据库) CoreData

这是iOS提供的类似于SQLite的存储方式。

SQLite Realm File(文件) Props(配置文件) Resources(资源文件) Cache(缓存)

UserDefaults(iOS),SharedPreference(Android),localStorage(Web)

SysProc(系统与进程) Components Communication(组件通信)

Notification(iOS)、postMessage(Web)、Handler(Android)

Concurrence Thread(线程)

GCD/NSOperation(iOS)、AsyncTask(Android)

Promise

PromiseKit(iOS)

EventBus

Otto(Android)

Service(服务) RPC(远程与本地调用)

NDK(Android)

TestRelease(测试与打包发布) Debug(调试与记录) Log(日志) Monitor(线程与Crash监控) Release(发布) Signature(Android) Ad-hoc/AppStore(iOS) Confusion(混淆与加密) Test Unit Test(单元测试) UI Test(界面测试) External Test(第三方测试) Optimization(优化) Plugin & Dynamic Patch(插件化与动态更新)

譬如现在Android领域很火的多APK联合发布以及部分更新等功能。

APM(应用状态追踪与评分等) Rating(在AppStore或者各大应用市场中的应用评分) UI

用户交互与界面部分是最常用也是最复杂的一个部分。

UI.md(界面呈现的基本原理) Screen & Coordinate(屏幕与坐标系) Layout(布局) AutoLayout(iOS) AbsoluteLayout(Android) Responsive(响应式) Basic View(基本的视图提供与控制) UIView/UIViewController(iOS) Activity(Android) iFrame(Web) Container(常见的作为容器的View/Panel) ScrollView(滚动视图容器)
CoordinatorLayout(Android)
RefreshLayout:提供下拉刷新或者上拉加载的Layout
NavigationView(导航视图) TabBarView(页卡视图) Router(页面路由) Interaction(用户交互) Event&Gesture(事件与手势操作) Event Bind(事件监听与绑定) Event Dispatcher(事件捕获传递与分发) Gesture Recognize(手势监听与识别) Multiple Touch(多点触控) Drag&Drop(拖拽) Scroll(滚动) Zoom(缩放) Shake(摇晃) Media(音频视频播放、录制与相关操作) Camera(照相机) Audio

音频的录制与播放,就像iOS与Android下的语音交互,需要统一转码成AMR或者其他格式。

Video Sensor(传感器,包括陀螺仪、重力传感器)

HealthKit(iOS)

Notification(通知栏,包括本地通知与远程推送) Widgets(插件) Dialog(对话框) Modal Dialog(模态对话框)

譬如iDialog(Web)

Popup:弹出与提示层
HUD
Tooltip
Popover:覆盖层
Empty/Error 空或者错误提示
Action Sheet:底部弹出操作栏 Indicator(指示器) Introduction(介绍或者引导页)
Splash(闪屏)
Guide/Tour(导引与教程)
DateTimer(时间显示)
TimeLine(时间轴效果)
CountDown(倒计数以及倒计时效果)
ProgressBar(进度条) Text(文本显示以及效果)
Rich Text(富文本)
TypeWriter:打字机效果
文字的切入切出效果
Label(标签)
Tags(标签或者等效的流列表)
Badge(徽标数)
Loading(加载效果) Picker(输入器) Button(按钮)
FAB(浮动按钮、回到顶部按钮)
Menu(菜单)

Drawer:抽屉菜单(Android)

Toolbar/StatusBar(状态栏或者工具栏) Select(选择器)
Segment(分段输入器)
Ratio Button
Check
Text(文本输入,泛指所有用户的自主输入的内容) TableGrid(网格与表单) List(列表)

ListView(Android)、UITableView(iOS)

ListView-Animation
Grid(网格)

UICollectionView(iOS)、RecycleView(Android)

CardView(卡片式) Gallery(画廊) ImageView(图片加载、呈现以及处理)
LazyLoad(图片懒加载)
Filter(图片滤镜)
Label(图片标签)
Sticker(图片贴纸)
Crop(图片裁剪与美化)
PhotoBrowser(图片浏览)
album(相册)
Carousel(图片轮播) Waterfall(瀑布流方式) LightBox(图片点击放大) WebView Native Interaction(本地交互)

JS-Patch(iOS)

DVisual(绘图以及数据可视化) Graphics(基本的绘图相关) Color(颜色与取色) Style&Theme(样式与主题) Filter(过滤/滤镜)

这里的View指的是对于通用的View的效果。

Chart(图表相关) Map(地图相关) Barcode(二维码以及条形码相关) Animation(动画与变换) View Transition(基本视图的常用切换) Animation Framework(动画构造库)

android控件的动画分为三种,property animation,tween animation,frame animation。但是因为在Web和iOS中分类不同,因此不做详细分类。

KeyFrame(帧动画) Animation Collection(常见动画汇总)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12436.html

相关文章

  • Coder Essential户端知识索引(iOS/Android/Web)

    摘要:本文主要面向笔者在等移动端开发中的经验总结出在现有以及未来的所有客户端的学习中应该掌握的知识脉络图。它表示的是一种常见的客户端软件开发框架。部分放在这边是因为它是一套从开始到后面响应中的完整的机制,以中的中的以及中的为典型代表。 [TOC] 本文主要面向笔者在Web、iOS、Android、WP等移动端开发中的经验总结出在现有以及未来的所有客户端的学习中应该掌握的知识脉络图。通俗来说,...

    AlienZHOU 评论0 收藏0
  • 2016:我的编程知识体系结构:Web/ServerSideApplication/MachineL

    摘要:我的编程知识体系结构从属于笔者的。延伸阅读服务端应用程序入门与实践入门与工程实践基于对资源配置动态生成并进行权限审查的平台数据科学与机器学习笔者只是菜鸟一枚,本部分只是笔者暂时的总结,更多信息参阅数据科学与机器学习思维脑图。 2016:我的编程知识体系结构:Web/ServerSideApplication/MachineLearning从属于笔者的Coder Knowledge Gr...

    JaysonWang 评论0 收藏0
  • 全栈是概念,兴趣亦为追求(全栈开发者)

    摘要:耐得住寂寞,才能等得到花开慢慢积累自己的知识,不断叠加,全面优化,无论在哪个领域都可以有你的一席之地,即为有志者事竟成,破釜沉舟,百二秦关终属楚也祝我们能向未来发展的开发者们苦心人天不负,卧薪尝胆,三千越甲可吞吴。 我们今天来了聊一聊一个话题——全栈开发 作为一个程序员,不管是Java还是C...

    lbool 评论0 收藏0
  • 大前端公共知识杂谈

    摘要:尽管面向对象编程也有着很多其他被人诟病的地方,但是在大型复杂业务逻辑的应用开发中我们还是会倾向使用面向对象编程的范式这就要求我们对于类与对象的基本语法有所掌握。 大前端公共知识杂谈首发于InfoQ-架构师特刊:大前端,是笔者对于泛前端知识图谱(Web/iOS/Android/RN) 的文字版介绍,夹杂了 GUI 应用程序架构的十年变迁:MVC、MVP、MVVM、Unidirection...

    CODING 评论0 收藏0
  • 前端每周清单半年盘点 React 与 ReactNative 篇

    摘要:前端每周清单半年盘点之与篇前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点分为新闻热点开发教程工程实践深度阅读开源项目巅峰人生等栏目。与求同存异近日,宣布将的构建工具由迁移到,引发了很多开发者的讨论。 前端每周清单半年盘点之 React 与 ReactNative 篇 前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为...

    Barry_Ng 评论0 收藏0

发表评论

0条评论

renweihub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<