Home

Build 持续集成

Build 持续集成 Reference Fastlane入门:介绍篇 iOS持续集成:Xcode Server、Jenkins、Travis和fastlane Jenkins+fastlane的自动化搭建之路

Read more

Android Audio & Video

Android Audio & Video MediaPlayer issues prepareAsync called in state 8 MediaPlayer.prepare()调用多次, 如果使用MediaPlayer.create工厂方法, 那么create 方法内已经调用prepare()方法 Error (1,-2147483648) 前面一个1表示MEDIA_ERROR_UNKNOWN, -2147483648对应十六进制0x80000000 定义frameworks/native/include/utils/Errors.h, 表示错误很难定位. 一般是因为视频格式不支持. Reference ...

Read more

Flutter package

Flutter package Using packages Using Packages Package versioning flutter 使用pub管理包: pub-cn pub dependencies url_launcher: ^5.4.0 配置pub管理 plugin1: path: ../plugin1/ 配置本地库 plugin1: url: git://github.com/flutter/plugin1.git 配置git库 plugin1: url: git://github.com/flutter/plugin1.git 配置git库 path: packages/package1 ...

Read more

Lang 语言标准

Lang 语言标准 C/C++ K&R C => ANSI C = IOS C History of C History of C++ C: C90 C99 C11 C17 Java Java (programming language) Free Java Guide OpenJDK Java Community Process Kotlin Kotlin Python 2020开始 Python2.0 不再维护 Python Dart Dart Javascript ECMAScript EC6.0 Objective-c About Objective-C Swift Welcome to Swift.org Refe...

Read more

Lang 编程范式

Lang 编程范式 declarative vs imperative programming declarative - 声明式编程 what to do, not how to do it imperative - 命令式编程 how to do it, not what to do 不同抽象级别上使用的编程范式, declaretive 比 imperative 更高等一些, 只描述有哪些 对象, 并且这些对象做什么. 背后会有一个解析器, 解析描述语句, 所以性能不太好. imperative 更贴近底层, 关注一个算法或者一个问题, 一步步的解的步骤. Procedural programming paradigm 过程式编程, 注重...

Read more

Lang MVC系统设计模式

Lang MVC系统设计模式 MVC: Model-View-Controller MVA: Model-View-Adapter MVP: Model-View-Presenter MVVM: Model-View-ViewModel 使用MVC系列设计模式, 使用在用户界面开发上. 可以把视图, 模型与控制分离开, 实现松 耦合设备, 方便重用, 测试与维护 MVC Model: 模式的中心组成部分. 它是应用程序的动态数据结构, 独立于用户界面. 它直接管理应用程序的数据, 逻辑和规则. View: 信息的任何表示形式,例如图表,图表或表格。可以使用同一信息的多种视图 ,例如用于管理的条形图和用于会计的...

Read more

Oth 开源协议说明

Oth 开源协议说明 通过Open Source Initiative 组织批准的开源协议目前有58种, 常用的有BSD, GPL, LGPL, MIT, Apache五种. BSD 可以对BSD库进行修改, 修改后需要在版权声明中包含库的BSD协议 不可以用BSD库的作者/机构名称/库名称做市场推广 允许开发商业软件与销售, 是商业软件的首选 Apache 与BSD类似 需要有一份Apache Licence, 如果修改了代码, 需要在被修改的文件中说明. 在延伸的代码 中需要带有原来代码的协议, 商标, 专利声明和其他原来作者规定需要包含的说明 如果项目有Notice文件, 需要包含原Apache Licence, 不能修改 G...

Read more

Flutter Desktop

Flutter Desktop 使用Flutter开发桌面, 目前有两种google维护的flutter-desktop-embedding和第三方 go-flutter. go-flutter使用go和glfw开发. flutter 原生支持desktop开发 macOS: Cocoa windows: win32 UWP linux: GTK GLFW Reference Desktop support for Flutter Desktop support for Flutter flutter-desktop-embedding Flutter Desktop shells go-flutter Windows Buil...

Read more