Quantcast
Channel: OSCHINA 社区最新新闻
Viewing all 44809 articles
Browse latest View live

MuseScore 3 正式发布,流行的乐谱制作软件

$
0
0

MuseScore 3 已正式版本,MuseScore 是一个跨平台、所见即所得的音乐制谱软件,它开源免费,遵循 GPL 许可。通过 MuseScore ,你也可以打印出排版的非常漂亮的乐谱, 或保存为 PDF 和 MIDI 文件。

MuseScore 3.0 版本包含许多新功能和改进:

五线谱

  • Automatic placement - potential collisions between elements are detected and resolved automatically, allowing you to easily create great-looking scores with little need for manual adjustment

  • Improved parts facility - link parts to specific voices within a staff

  • System dividers - automatically generate dividers between systems

  • Staff type changes - change staff size, number of lines, and other properties mid-score

  • Temporary and cutaway staves - staves may appear and disappear as needed, including the ability to have empty measures be completely invisible

  • MuseJazz font - give all elements in your scores a handwritten appearance

  • Named noteheads - automatically display pitch names in noteheads using a variety of different naming schemes

可用性

  • Tours - get online help automatically as you need it

  • Timeline - navigate using a graphical overview of the music structure of your score that shows rehearsal marks, changes of tempo, key, and time signature, etc.

  • Score comparison tool - easily view differences between versions of a score

  • Single page mode - vertically scrolling view of your score

  • Improved Inspector - control more element properties and set style defaults directly from the Inspector window, including new above/below placement settings

  • Palette search - enter a search term to quickly find any symbol

  • Timewise note input and editing - insert and deletes notes and rests within measures, automatically shifting subsequent music forwards or backwards

  • Next/previous element - Alt+Right/Left shortcuts to navigate through each element of your score

  • Auto-update - no longer necessary to download and install new versions from musescore.org

回放

  • Improved Mixer - mute individual voices, collapse channels into a single column, assign MIDI ports and channels

  • Improved Piano Roll Editor - easier control of the playback parameters of each note in your score

  • Redesigned Play Panel - docked within main window

下载地址:

https://musescore.org/zh-hans/download


San 3.7.1 发布,百度开源的 MVVM 组件框架

$
0
0

San 3.7.1 更新内容:

  • 【新特性】- 组件初始化时 source 参数支持定义嵌入 slot 的内容

  • 【优化】- 模板的 attribute name 允许 _ 字符

  • 【bug修复】- IE8- 下,checkbox 和 radio 初始 checked 状态不生效

发行地址

San,是一个 MVVM 的组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。

San 通过声明式的类 HTML 视图模板,在支持所有原生 HTML 的语法特性外,还支持了数据到视图的绑定指令、业务开发中最常使用的分支、循环指令等,在保持良好的易用性基础上,由框架完成基于字符串的模板解析,并构建出视图层的 节点关系树,通过高性能的视图引擎快速生成 UI 视图。San 中定义的数据会被封装,使得当数据发生有效变更时通知 San 组件,San 组件依赖模板编译阶段生成的节点关系树,确定需要变更的最小视图,进而完成视图的异步更新,保证了视图更新的高效性。

Ruby 2.6.0 正式发布,性能提高 1.7 倍

$
0
0

Ruby 2.6.0 已正式发布,引入了许多新功能和性能改进,其中最值得关注的包括:

  • 一个新的 JIT 编译器

  • RubyVM::AbstractSyntaxTree 模块

具体来看:

JIT(试验阶段)

Ruby 2.6 引入了 JIT (Just-in-time) 编译器的初始实现。JIT 编译器旨在提高 Ruby 程序执行的性能。与其他语言的普通 JIT 编译器不同,Ruby 的 JIT 编译器以一种独特的方式进行 JIT 编译,它先将 Ruby 编译成 C 代码,然后通过生成通用的 C 编译器过程(compiler process)来生成原生机器码。详情可查阅 MJIT organization by Vladimir Makarov 

要启用 JIT 编译器,需在命令行或 $RUBYOPT 环境变量中指定 --jit 

Optcarrot 基准测试中,Ruby 2.6 与 Ruby 2.5 相比,性能提高了 1.7 倍。不过,它目前仍然处于试验阶段,详见 Ruby 2.6 JIT - Progress and Future 

RubyVM::AbstractSyntaxTree(试验阶段)

Ruby 2.6 还引入了 RubyVM::AbstractSyntaxTree 模块。该模块具有 parse 方法,它将给定的字符串解析为 Ruby 代码并返回代码的 AST(抽象语法树)节点。

其他新特性、改进和值得关注的变化请查阅发行公告:

https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/

spring-boot-assembly 1.2 发布,完善打包细节

$
0
0

spring-boot-assembly

  1. 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip

  2. 将spring boot项目中的配置文件提取到外部config目录中

  3. 将spring boot项目中的启动jar包移动到boot目录中

  4. 将spring boot项目中的第三方依赖jar包移动到外部lib目录中

  5. bin目录中是启动,停止,重启服务命令

  6. 打包后的目录结构类似于tomcat/maven目录结构

项目源码及下载

spring-boot-assembly CHANGELOG

1.2.RELEASE 2018-12-23

优化mvn-package.bat命令

1.1.RELEASE 2018-12-22

1.修复maven不同环境打包时,application.yml中profiles.active为对应环境

application.yml

profiles:
    active: @profileActive@

2.优化启动脚本

3.各个环境的端口号统一设置成了8080

4.修改assembly.xml文件,同时打包成tar.gz和zip

assembly.xml

<formats>
    <format>tar.gz</format>
    <format>zip</format>
</formats>

5.新增mvn-package.bat和mvn-package.sh快速打包脚本

默认指定local环境,可指定不同环境打包

window

mvn-package.bat dev

linux/mac

sh mvn-package.sh dev

6.assembly.xml和pom.xml文件的打包时包含*.jks文件,如有其它文件可自行设置

assembly.xml

<!-- 指定输出target/classes中的配置文件到config目录中 -->
<fileSet>
    <directory>${basedir}/target/classes</directory>
    <outputDirectory>config</outputDirectory>
    <fileMode>0644</fileMode>
    <includes>
        <include>application.yml</include>
        <include>application-${profileActive}.yml</include>
        <include>mapper/**/*.xml</include>
        <include>static/**</include>
        <include>templates/**</include>
        <include>*.xml</include>
        <include>*.properties</include>
        <include>*.jks</include>
    </includes>
</fileSet>

pom.xml

<resources>
    <!-- 资源文件配置 -->
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>application.yml</include>
            <include>application-${profileActive}.yml</include>
            <include>mapper/**/*.xml</include>
            <include>static/**</include>
            <include>templates/**</include>
            <include>*.xml</include>
            <include>*.properties</include>
            <include>*.jks</include>
        </includes>
    </resource>
</resources>

1.0.RELEASE 2018-12-16

  1. 完成spring boot项目使用maven-assembly-plugin等插件整合

  2. 将项目打包成tar.zip

  3. 抽取项目配置文件到config目录

  4. 抽取项目第三方依赖到lib目录

  5. 启动停止重启服务命令在bin目录

  6. 项目启动jar包在boot目录

  7. 项目启动及运行日志文件保存在logs目录

GuiLite 1.5 发布:原来你是这样的“威震天”

$
0
0

你用过QT/WPF的动画控件吗?CPU使用率怎么样?内存占用量如何?UI卡不卡?

好吧,我们增加了一个&ldquo;百行demo&rdquo; -- HelloAnimation,用它展示GuiLite:极速,高效,低消耗的动画能力,它运行起来是这样的:
HelloAnimation

如果你发现了下面这些问题,请直接留言,或直接到QQ开发群吐槽:
1. 您发现代码可以更加精简和优化
2. 您遇到了编译/运行问题
3. 您发现了函数命名晦涩,注释不清晰,或标点符号问题

最后,GuiLite的所有实例可以在任意的ARM Linux嵌入式板卡上运行,有条件借到板卡的同学,可以参照readme里面的编译说明,在嵌入式板子上潇洒走一回,莫让平台差异,限制了想象力

QQ 机器人平台 Newbe.Mahua 1.15 支持发送语音

$
0
0

开篇一张图,功能全靠编。

QQ机器人平台意指那些支持通过QQ进行消息收发和群员软件平台。

使用该SDK开发可以实现一次开发,运行于多个不同QQ机器人平台平台的绝佳体验。

基于SDK开发,可以实现包含但不限于以下功能:

  • QQ消息智能回复

  • 通过QQ发送图片

  • QQ名片点赞

  • QQ群成员管理

  • @指定QQ群成员发送消息

点击此处开始你的第一个QQ机器人吧

很遗憾,我们带来了一个没有彩蛋的版本更新。该版本增加了发送语音的接口,并改进了项目模板,修复了一些 Bug。在此感谢 LollipopGeneral 的 PR。

版本亮点

支持 Rider 创建项目

更新后的Newbe.Mahua.Template项目模板,将支持在 Rider IDE 中直接使用。

使用Rider创建项目

开发者可以通过右侧链接了解详细的使用方法:开始第一个 QQ 机器人【适用于 v1.9-1.14】

添加了语音发送接口

感谢 LollipopGeneral 的 PR。

现在,开发者可以使用 FluentApi 进行语音消息的发送。示例代码如下

_mahuaApi.SendPrivateMessage("10086").Record("D:\666.mp3").Done();

移除了对 Newbe.Build.Psake 的依赖

从版本开始,移除了对 Newbe.Mahua.Psake 的依赖。避免用户在升级过程中容易出现构建脚本被覆盖的问题。

在已有项目上进行升级时,需要开发者手动按照以下操作移除相关的包:

  1. 卸载 Newbe.Mahua.Tools.Psake

  2. 卸载 Newbe.Build.Psake

  3. 安装 Newbe.Mahua.Tools.Psake

升级注意

从 1.14 版本直接更新全部的 Newbe.Mahua.* nuget 包,重新生成便可以。

升级过程中需要覆盖 build.bat 和 build.ps1 文件。若有自行定制的内容,请提前保留备份。

VS 插件更新只需要按照 VS 提示进行操作即可。

更新项目模板,只需在控制台中运行以下命令即可:

dotnet new -i Newbe.Mahua.Template

ng-material 0.0.3 发布,Angular material2 的拓展组件

$
0
0

此组件旨在拓展 material 2 的组件,满足更多前后端的业务需求,当然你可以根据CDK 进行各种自定义。 

更新说明:

  • 提示框

  • 轮播

  • 多级联动

 

Step 1: Install and configure Angular Material

Getting Started Guide with Angular Material

Step 2: Install Notadd NgMaterial2

  ng add @notadd/ng-material2

Step 3: Import the component modules

  import { NmAlertModule, NmCarouselModule, NmCascadeDropdownlistModule } from '@notadd/ng-material2';
  
  @NgModule({
    ...
    imports: [ NmAlertModule, NmCarouselModule, NmCascadeDropdownlistModule ],
    ...
  })
  export class AppModule { }

 

组件说明: https://notadd.github.io/ng-material2/

 

Roadmap

  •  Icons+ :heavy_check_mark:

布局

  •  预设布局

动画

UI组件

  •  提示框 (components/alerts) :heavy_check_mark:

  •  轮播 (components/carousels):heavy_check_mark:

  •  页脚 (components/footer):heavy_check_mark:

按钮:

  •  物品群 (item-groups)

  •  多级联动 :heavy_check_mark:

  •  多窗口 (components/windows)

  •  悬停 (components/hover)

  •  上传 【文件上传,图片上传,头像上传】:heavy_check_mark:

  •  视差 (components/parallax)

  •  评级 (components/ratings)

  •  时间线 (components/timelines)

  •  可拖拽树视图 【滞后】

hi-nginx-1.7.8 发布,嵌入duktape引擎,支持js开发

$
0
0

hi-nginx-1.7.8发布了。

这一次更新的重点嵌入javascript引擎duktape,因而支持使用js进行web应用开发。通过以下四个命令开启duktape支持:

  • hi_duktape_package_path 配置js文件模块搜索路径(js模块写法与nodejs一致)

  • hi_duktape_package_cpath 配置动态库模块搜索路径(动态库模块基于duktape c接口,但可以同时支持c++)

  • hi_duktape_content 运行js内容块

  • hi_duktape_script 运行js文件

duktape web开发的接口与python和lua保持一致。例子:

/*
 var foo = require('foo')
 hi_res.header('Content-Type','text/plain;charset=UTF-8')
 hi_res.content(foo.hello())
 hi_res.status(200)
*/


/*
 var mustache = require('mustache')
 var template = '<h1>Test mustache engine</h1><p>{{body}}</p>';
 var model = {body:'Hello World'};
 hi_res.content(mustache.to_html(template,model))
 hi_res.status(200)
 */

/*
 var handlebars = require('handlebars')
 var template = handlebars.compile('<h1>Test handlebars engine</h1><p>{{body}}</p>')
 var model = {body:'Hello World'};
 hi_res.content(template(model))
 hi_res.status(200)
 */


/*
 var echo = require('echo')
 var t=new echo()
 t.set('HELLO, ')
 hi_res.content(t.concat('Tom'))
 hi_res.status(200)
 */



/*

var route = require('route').get_instance()

route.get('^\/get/?(\\w+)$', function (req, res, param) {
    res.header('Content-Type', 'text/plain;charset=UTF8')
    res.content(req.method()+'\n'+req.uri() + '\n' + param.toString())
    res.status(200)
})

route.post('^\/post/?([a-zA-Z]+)?$', function (req, res, param) {
    res.header('Content-Type', 'text/plain;charset=UTF8')
    res.content(req.method()+'\n'+req.uri() + '\n' + param.toString())
    res.status(200)
})

route.put('^\/put/?([0-9]+)?', function (req, res, param) {
    res.header('Content-Type', 'text/plain;charset=UTF8')
    res.content(req.method()+'\n'+req.uri() + '\n' + param.toString())
    res.status(200)
})

route.add(['GET', 'POST', 'PUT'], '^\/(.*)$', function (req, res, param) {
    res.header('Content-Type', 'text/plain;charset=UTF8')
    res.content(req.method()+'\n'+req.uri() + '\n' + param.toString())
    res.status(200)
})

route.run(hi_req, hi_res)


*/

/*

var loaded = hi_module.require('demo', 'cpp')
var registered = cpp()
if (loaded && registered) {
    var a = new demo()
    hi_res.header('Content-Type', 'text/plain;charset=UTF-8')
    hi_res.content(a.echo('hello,cpp class'))
    hi_res.status(200)
    hi_module.free(a)
}

*/

///*
 hi_res.header('Content-Type','text/plain;charset=UTF-8')
 hi_res.content('hello,world')
 hi_res.status(200)
//*/

NumSharp v0.6.1 科学计算库发布,支持标量和隐式转换

$
0
0

NumSharp(Numerical .NET)可以说是C#中的科学计算库。 它是用C#编写的,符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码,从而最大限度地借鉴现有大量在python代码的转译成本。 NumSharp使用最新的Span技术安全高效地访问内存,优化每个模拟API的性能,确保最底层的NDArray达到最佳性能状态。NumSharp对于在数组上执行数学和逻辑运算非常有用。 它为.NET中的n维矩阵的操作提供了大量有用的功能。

NumSharp v0.6.1发布,加入支持维度为零时的标量和创建NDArray时的隐式转换,比如支持如下形式创建多维数组:

NDArray nd = new double[,]{{1, 2, 3},{4, 5, 6}};
nd = "[1,2,3;4,5,6]";
// 支持标量
nd = 5.0f;

在使用过程中如果有任何问题,请反馈至 https://github.com/SciSharp/NumSharp/issues。

或进入SciSharp的聊天室:https://gitter.im/sci-sharp/community。

Mongoose 5.4.1 发布,MongoDB 异步对象模型工具

$
0
0

Mongoose 5.4.1 已发布,Mongoose 是在 Node.js 异步环境下对 MongoDB 进行便捷操作的对象模型工具。

更新内容如下:

  • fix(document): ensure doc array defaults get casted #7337

  • fix(document): make save() not crash if nested doc has a property 'get' #7316

  • fix(schema): allow using Schema.Types.Map as well as Map to declare a map type #7305

  • fix(map): make set after init mark correct path as modified #7321

  • fix(mongoose): don't recompile model if same collection and schema passed in to mongoose.model() #5767

  • fix(schema): improve error message when type is invalid #7303

  • fix(schema): add populated to reserved property names #7317

  • fix(model): don't run built-in middleware on custom methods and ensure timestamp hooks don't run if children don't have timestamps set #7342

  • docs(schematypes): clarify that you can add arbitrary options to a SchemaType #7340

  • docs(mongoose): clarify that passing same name+schema to mongoose.model() returns the model #5767

  • docs(index): add useNewUrlParser to example #7368 JIBIN-P

  • docs(connection): add useNewUrlParser to examples #7362 JIBIN-P

  • docs(discriminators): add back missing example from 'recursive embedded discriminators section' #7349

  • docs(schema): improve docs for string and boolean cast() #7351

发行地址

下载地址:

OkHttp 3.12.1 发布,轻量的 Java 网络请求框架

$
0
0

OkHttp 3.12.1 已发布,这是一个小的修复版本,移除了重叠的 package-info.java 。#详情

OkHttp 是一个适用于 Android 和 Java 应用的 HTTP 和 HTTP/2 客户端。OkHttp 的使用非常简单的,支持阻塞式的同步请求和带回调的异步请求。

OkHttp 支持 Android 2.3 及以上版本 Android 平台; 对于 Java,要求 JDK 1.7 以上。

下载地址:

Linux 发行版 antiX 17.3 发布,基于 Debian 9.6

$
0
0

antiX 17.3 已正式发布。antiX 是快捷、轻量级、易于安装的 Linux 自启动运行光盘发行,它基于 Debian 的 Testing 分支,面向 x86 兼容系统。

antiX-17.3 是 17.2 的升级修复版本,包括新的含有修复 L1TF/Foreshadow 和 Meltdown/Spectre 漏洞的补丁内核,各种错误修复,更新的翻译和一些升级包。

  • 针对 L1TF/Foreshadow 和 Meltdown/Spectre 漏洞的 4.9.146 新版本内核

  • 所有软件包升级到 Debian 9.6

  • LUKS 加密选项

  • Firefox-esr 升级到 60.4 (Quantum)

  • 移除 pulseaudio 和 pavaucontrol

  • newsboat 取代 newsbeuter

  • 改进本地化

  • F2 live boot 菜单新增多种语言

该发行版有四个版本:Full, Base, Core 和 Net。前两个包括图形环境,而 Core 和 Net 提供最小的命令行界面。

更多细节请查看项目的发布公告

下载地址:https://antixlinux.com/download/

Node.js v11.6.0,v10.15.0,v8.15.0 和 v6.16.0 发布

$
0
0

Node.js 同时发布了 v11.6.0 (Current)、v10.15.0 (LTS)、v8.15.0 (LTS) 和 v6.16.0 (LTS) 四个版本:

其中,最新系列的 Node v11.6.0 (Current) 更新内容如下:

  • cli:

    • add --max-http-header-size flag (cjihrig) #24811

  • crypto:

    • always accept certificates as public keys (Tobias Nießen) #24234

    • add key object API (Tobias Nießen) #24234

    • update root certificates (Sam Roberts) #25113

  • deps:

    • upgrade to libuv 1.24.1 (cjihrig) #25078

    • upgrade npm to 6.5.0 (Audrey Eschright) #24734

  • http:

    • add maxHeaderSize property (cjihrig) #24860

下载地址:

Hugo 0.53 发布,Go 编写的静态网站生成器

$
0
0

Hugo 0.53 已发布,开发团队称其为迄今为止最快的版本,站点构建基准测试显示速度提高了约10%。

开发团队补充道,“具体提升多少要取决于站点的详细情况,但想要说明的是我们不会变慢。持续添加重要的新功能并同时提高性能是一项挑战,这对我们来说很重要,因为这是 Hugo 的核心功能之一。Hugo 的口号是『世界上最快的网站构建框架』。” 

Hugo 0.53 更新亮点:

  • 现在可以为不同的环境创建不同的配置。 Hugo 之前虽然支持多个配置文件,但很难管理更大的网站,尤其是那些拥有多种语言的网站。新版本后, Hugo 正式确定了环境的概念,默认有生产(运行 hugo 时)和开发(运行 hugo server 时)两种环境,用户也可以创建任意喜欢的环境。

  • transform.Unmarshal:一个新的、强大的模板函数(template function),可将 JSON、TOML、YAML 或 CSV 的资源对象或字符串转换为 maps/arrays 。

  • 两个新的全局变量:sitehugohugo用于提供版本信息({{ hugo.Version }}{{ hugo.Environment }}),site可能更实用一些,因为它允许你在没有任何上下文(or ".")的情况下访问当前站点的变量(如{{ site.RegularPages }})。

完整更新内容和下载地址请查阅发行列表

Hugo 是 Go 编写的静态网站生成器,速度快,易用,可配置。Hugo 有一个内容和模板目录,把他们渲染到完全的 HTML 网站。

Create React App 2.1.2 发布,零配置创建 App

$
0
0

Create React App 2.1.2 已发布,Create React App 是由 Facebook 推出的脚手架,基本可以零配置搭建基于 webpack 的 React 开发环境,并内置了热更新等功能。 

这是一个维护版本,包含各种修复:

新特性

  • babel-preset-react-app

    • #5487 Add allowESModules option to babel-preset-react-app

Bug 修复

  • create-react-app

    • #5905 Disable copy to clipboard in create-react-app --info

    • #5685 Update envinfo to 5.11.1

  • babel-preset-react-app

    • #5783 Fix TypeScript decorator support

  • babel-plugin-named-asset-import

    • #5573 Fix named-asset-import plugin to work with export-as syntax

  • react-app-polyfill

    • #5789 Don't polyfill fetch for Node

  • react-scripts

    • #5721 Version bump postcss-preset-env to latest

    • #5701 Fix tsconfig.json lib suggested value

改进

  • react-scripts

    • #5698 Add support for setupTests.ts

另外还有大量文档相关的修复和改进,详见发行说明

源码下载:


MAME 0.205 发布,重温童年的街机模拟器

$
0
0

MAME 0.205 已发布,MAME 最初是街机模拟器,随着时间的推移,MAME 吸收了姊妹项目 MESS(多机种模拟器超级系统),所以 MAME 现在还记录了各种各样的(大多是老式的)电脑游戏、掌机游戏和电子游戏(视频游戏)。

新版本修复了与 MAMETesters 相关的一些 bug ,并新增了 Eagle Shot Golf、Galaxy Gunners、Grand Prix Star、Legend of Hero Tonma 等数款游戏支持,具体详情可查阅更新日志

下载地址:

腾讯 QMUI iOS UI 框架 2.9.3 版本发布

$
0
0

QMUI iOS 2.9.3 版本已发布,更新内容如下:

新增功能

  1. 增加 NSObject (QMUI_DataBind) 用于临时给 NSObject 添加一些信息,省去自定义 class 或者增加 property 的成本。

  2. UIViewController (QMUI) 增加 qmui_visibleState 用于获取当前 viewController 所处的生命周期阶段。

  3. UIViewController (QMUI) 增加 qmui_visibleStateDidChangeBlock 用于监听 qmui_visibleState 变化。

  4. UIViewController (QMUI) 增加 qmui_prefersStatusBarHidden 和 qmui_preferredStatusBarStyle用于获取真正的状态栏信息,如果仅使用系统的这两个方法需要额外处理 childViewController 的场景。

  5. UIView (QMUI) 增加 qmui_isControllerRootView 用于判断当前 view 是否为某个 viewController 的 view。

  6. UIView (QMUI) 增加 qmui_viewController 用于获取当前 view 所在的 viewController。

  7. UIView (QMUI) 增加 qmui_visible 用于判断该 view 是否处于 window 层级树里,或者所属的 viewController 是否可视。常见的使用场景是例如对键盘、scrollViewDidScroll: 的监听时,常常会在 view 已经不可见时依然触发监听,所以可以用这个属性来过滤。

  8. NSString (QMUI) 增加 qmui_stringMatchedByPattern: 方法用于通过正则表达式来匹配一段文字。

  9. UISearchBar (QMUI) 增加 qmui_backgroundView 接口用于获取背景图所在的 view。

  10. UIScrollView (QMUI) 增加 qmui_scrollToTopUponContentInsetTopChange 用于修改了 contentInset.top 后滚动到顶部用,常见的使用场景是在 viewController 里关闭了 automaticallyAdjustsScrollViewInsets 或者 scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever 的时候设置了自己的 contentInset 后要让 scrollView 滚动位置默认处于顶部。

  11. UITableView (QMUI) 增加 qmui_initialContentInset 用于快速设置自定义的 contentInset 并滚到顶部。

  12. UIWindow (QMUI) 增加 qmui_capturesStatusBarAppearance 属性用于控制该 window 是否有权控制状态栏样式,系统默认认为全屏的 UIWindow 即会夺取状态栏的控制权。

  13. UIViewController (QMUI) 增加 QMUIAppSizeWillChangeNotification 用于在 App 窗口尺寸发生变化时第一时间发出通知,常见使用场景是 iPad Split View 分屏模式。

  14. QMUIAlertController 增加 dismissKeyboardAutomatically 用于在显示时自动降下键盘,默认为 YES,以保持与系统的 UIAlertController 一致,从而避免在键盘升起时显示 alert 可能导致 alert 被键盘盖住的问题。

会带来 QMUI 新旧版本兼容问题的更新

  1. 重构 QMUIImagePreviewViewController,将其展示原理从 UIWindow 的方式改为普通的 present。

  2. 废弃 QMUICommonTableViewController tableViewInitialContentInset 和 tableViewInitialScrollIndicatorInsets 属性。

  3. 废弃 [QMUIHelper renderStatusBarStyleLight/Dark],请使用系统的 preferredStatusBarStyle 代替。

如何适配新版

  1. 检查项目中用到 QMUIImagePreviewViewController 的地方,将其改为新的使用方法。新用法请查看头文件,或者参考 QMUI Demo 里的 QDImagePreviewViewController2。注意由于新的用法使用系统的 presentViewController:animated:completion:,所以需要使用一个现成的 viewController 去 present,若原代码里获取不到 viewController 的引用,可以使用 [QMUIHelper visibleViewController] 代替。

  2. 全局搜索 tableViewInitialContentInsettableViewInitialScrollIndicatorInsets,将其换成新的 [UITableView (QMUI) qmui_initialContentInset]

  3. 全局搜索 renderStatusBarStyleLightrenderStatusBarStyleDark,将其替换为系统的 preferredStatusBarStyle,注意后者要求项目的 Info.plist 里的 View controller-based status bar appearance 改为 YES

  4. 将 2.9.2 标记为废弃的以下四个方法删除,并改为使用配置表的 AutomaticCustomNavigationBarTransitionStyle,或者用 customNavigationBarTransitionKey

    1. shouldCustomNavigationBarTransitionWhenPushAppearing

    2. shouldCustomNavigationBarTransitionWhenPushDisappearing

    3. shouldCustomNavigationBarTransitionWhenPopAppearing

    4. shouldCustomNavigationBarTransitionWhenPopDisappearing

  5. 如果有使用配置表,请搜索配置表里的 windowLevelQMUIImagePreviewView 并将其删除。

Bugfix

  1. Fixed #365 修复某些情况下使用 QMUIImagePreviewViewController 会命中 NSAssert 的 bug。

  2. Fixed #439 修复了因系统 bug 导致 QMUIButton 在 setImage: 前就主动访问过 imageView 后导致后续布局时 imageView.image 依然为 nil,从而导致布局不正确的 bug。

  3. Fixed #445 修复 QMUIImagePreviewViewController 在横竖屏切换时可能导致状态栏丢失的 bug。

  4. Fixed #446 修复系统 UITabBar 某些场景下忽然不可见的 bug。

  5. Fixed #452 修复 QMUIMarqueeLabel 文字没有垂直居中显示的 bug。

  6. 修复 QMUINavigationController 在某个 viewController 的 viewDidAppear 里 push,会被认为上一次 push 的动画尚未结束,所以被拦截,导致 push 失效的 bug。

  7. 修复 QMUIHelper 的 isNotchedScreensafeAreaInsetsForDeviceWithNotch 等于全面屏相关的接口在新 iPad Pro 上判断错误的 bug。

  8. 修复 QMUINavigationBarScrollingAnimator 和 QMUINavigationBarScrollingSnapAnimator 因浮点精度可能导致的样式错误。

  9. 修复隐藏 UINavigationBar 的界面依然会去修改导航栏样式,导致手势返回时导航栏样式错误的 bug。

  10. 修复开启了 AutomaticCustomNavigationBarTransitionStyle 的情况下在一个界面显示 navigationBar 另一个界面不显示 navigationBar 的时候,切换界面时判断错误的问题。

  11. 修复 UIImageView (QMUI) 在使用 initWithImage: 方法初始化时 qmui_smoothAnimation 的默认值错误的 bug。

其他

  1. 更新 [QMUIHelper isHighPerformanceDevice] 方法的判断,iPad Air 2 及以上、iPhone 8 及以上都认为是高性能设备。

  2. #410 #422 这两个系统 bug 实测在 iOS 12.1.1 里已被修复,因此 QMUI 2.9.3 版本里已对 12.1.1 及以后的系统屏蔽补丁代码。

发行地址

QMUI iOS 是一个致力于提高项目 UI 开发效率的解决方案,其设计目的是用于辅助快速搭建一个具备基本设计还原效果的 iOS 项目,同时利用自身提供的丰富控件及兼容处理, 让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。

 

阿里 Fusion Design Next 1.11.6 发布,可配置组件库

$
0
0

Next 1.11.6 已发布,Next 是基于 Alibaba Fusion Design 的设计理念实现的一套 DPL ,配合 Fusion Design 使用可以实现换肤的能力。基于 React 实现,支持所有现代浏览器和 IE9+。 

更新内容:

  • Cascader: keyboard not blur (3e43e6a)

  • Pagination: select dropdown menu position error on scrolling (70375c1)

  • Tab: can not render when child have null item (fb20367)

  • Tab, Grid: inconsistency between doc and code (5145fe7) (b07f5ac) (43a4fd1)

  • Table: style conflict with align (aa32515)

  • Upload: allow remove file when disabled (2590a70)

发行地址

Fusion Design 是一种旨在提升设计与开发之间 UI 构建效率的工作方式。通过建设基于 DPL 模式的,设计、前端之间的标准协议与工作流,来快速构建符合业务诉求的 DPL,提升 DPL 的构建效率和应用效率,帮助业务快速实现 UI 构建。通过 Fusion 可以帮你:

  • 能将原有构建一套 DPL 组件的过程从上百人日缩短到十人日以内

  • 能开发一套 DPL 组件,以配置化的方式适用于多品牌,多业务,多场景,从而满足业务不断快速试错的要求

  • 能将设计师和前端的协作流程打通,打破协作壁垒,让合作更加顺畅

  • 能将前端的 UI 编程能力透出给设计师,将设计师的的艺术表现力透出给前端,甚至将两者的能力透出给其他非专业同学使用

Taro 1.2.2 发布,多端统一开发框架

$
0
0

Taro 1.2.2 已发布,Taro 是一套遵循 React 语法规范的多端统一开发框架,支持用 React 的方式编写一次代码,生成能运行在微信小程序/百度智能小程序/支付宝小程序、H5 与 React Native 等端的应用。

Bug Fixes

  • cli: mobx 模板无法通过 TypeScript 类型检测 (3873d73)

  • cli: node_modules 中的文件拷贝不全,close #1697 (4745b44)

  • cli: 优化 npm 安装包版本的查找 (5395f43)

  • cli: 样式中引用 npm 内资源解析时路径使用相对路径 (487217d)

  • h5: Correct the path variable name in Location and modify the priority of fallbacks (#1664) (603ed14)

  • taro-cli: 1. build ui watch 时依赖分析出的样式另外处理。2. build ui watch 增加 try catch,报错不停止监听。 (c327ebf)

  • taro-components: swiper 组件未初始化前被调用出现 undefined 错误 (#1666) (c2cf9ef)

  • taro-components: 修复 swiper pagination 匹配错乱问题 (c77348b)

  • taro-components: 修复Input 组件事件问题 close #1647 (53c9337)

  • transformer: if block 中设置一个没有初始值的变量报错 (213b29e)

  • transformer: 循环中使用 ref 的 id 需要加上 # 号符,第一次运行需要做一次类型判断,close #1589 (117e5d3)

Features

  • cli: 小程序端编译增加 cli 与本地依赖版本校验 (495f6c0)

  • cli: 百度小程序编译时生成框架信息文件 (2140017)

  • taro-weapp/alipay/swan/tt: 增加 this.$preload,close #1570 (ae4ad6d)

发行地址 

Kooteam 0.0.7稳定性增强版发布

$
0
0

      Kooteam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发等工具,并接入了微信小程序,钉钉开放平台,使用便捷高效。

更新记录

  1. 钉钉插件开发授权流程变动比较大,重写钉钉配置页面,调整钉钉同步逻辑
  2. 修复开启钉钉登录后,普通账号无法登录异常
  3. 修复本地化版本,用户删除异常
  4. 更新阿里云程序发布逻辑,解决阿里云CDN缓存导致更新包无法下载
  5. 修复mysql 5.5,5.6版本中,某些情况下的中文乱码问题
  6. 修复日程详情显示错误
  7. 文本文档,预览格式显示,样式缺少
  8. 绘图工具,预览模式,图形库缺失,显示不全
  9. 优化稳定预览模式的全屏显示,隐藏地步导航条
  10. 项目统计模块,增加统计数据详情功能

点击这里,查看安装教程

升级方法: 

     kooteam安装目录下,执行upgrade.sh脚本完成自动升级 

 

 

1. 思维导图

2. 流程图

3. 工作四象限

Viewing all 44809 articles
Browse latest View live