文回顾和点评 2019 年前端领域发生的所有重大事件、新闻和趋势,并展望 2020。
React 又一次成为年度最受欢迎的库,并且仍处于增长状态;而 jQuery 拿到了令人意想不到的第二名;紧随其后的是 Angular 和 Vue,它们都拥有热情的开发人员组成的庞大用户群。
这一年来 Svelte 虽然吸引了很多关注,但它离广泛普及还有很长的路要走。
经历了相对平静的一年后,WebAssembly 在 12 月初迎来重大新闻——W3C 联盟正式将其推荐为一种 Web 语言。
https://www.w3.org/2019/12/pressrelease-wasm-rec.html.en
自 2017 年 WebAssembly 发布以来,它已经收获了广泛的关注并得到快速推广。在过去几年中,我们看到它推出了 1.0 版本规范,而且几乎所有主流浏览器都开始支持 WebAssembly。
WebAssembly 在 2019 年的另一件大事是字节码联盟的成立,其宗旨是“通过合作实施标准和提议新标准,为 WebAssembly 在浏览器之外的世界开拓一片新天地”。
https://bytecodealliance.org/articles/announcing-the-bytecode-alliance
我们仍在等待 WebAssembly 真正站稳脚跟并全面普及!而随着 WebAssembly 一次又一次的更新,应该说我们现在愈加接近这个目标了。毫无疑问,W3C 声明是使 WebAssembly 获得企业认可的关键一步,并且我们需要继续降低 WebAssembly 的门槛,使其更易于构建产品。
2019 年是 TypeScript 之年。TypeScript 不仅成为了在 JS 代码中添加数据类型的事实选择,而且许多开发人员会经常在个人项目和工作中,用它来代替普通的 JavaScript。
在 2019 年初发布的 StackOverflow 调查中,TypeScript 与 Python 并列最受欢迎语言次席,仅次于 Rust。在 2020 年初将发布的新调查中,如果我们看到 TypeScript 的排名再进一步,应该也不会有什么奇怪。
https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted
TypeScript 已经席卷了整个 Web 开发世界——前端和后端皆是如此。一些开发人员认为 TS 只是跟风炒作的产物,觉得它会步 CoffeeScript 后尘;但 TypeScript 已被证明可以解决 JS 开发人员面临的一大核心问题,而且它的使用率看来只增不减。
TypeScript 与所有主流文本编辑器的集成,为 Web 开发人员提供了更好的开发体验。JavaScript 开发人员将 TypeScript 视为一种工具,它可以减少错误,还可以通过(提供自带描述的)类型和对象接口更轻松地读取代码。
值得注意的是,TypeScript 在 2019 年的 NPM 下载量超越了 React,其流行程度可见一斑。此外,它的下载量也比 Flow 和 Reason 等竞争对手高得多。
TypeScript 和 React 解决的是完全不同的问题,因此这并不是一场较量,只是为了告诉大家 TypeScript 有多么受欢迎。
TypeScript v3.0 于 2018 年末发布,而在 2019 年它已发布到了 3.7 版,其中包括更新的 ECMAScript 功能,例如可选链和 nullish 运算符,以及类型检查功能的相关改进等。
Vue 和 Angular 拥有热情的用户群体,Vue 在 GitHub 上拿到的星星甚至比 React 还多,但考虑个人和专业项目中的使用率时,React 仍继续保持着领先地位。
在 2018 年末,React 团队引入了 hooks。2019 年,hooks 席卷了 React 世界,绝大多数开发人员都将其作为管理状态和组件生命周期的首选方式。这一年下来,有关 hooks 的文章数不胜数,使用模式也稳定了下来,而最具分量的 React 包也构建了自定义 hooks 来公开它们的库功能。
Hooks 提供了一种方法,可以使用简单简洁的语法来管理函数式组件中的组件状态和生命周期。另外,React 提供了构建自定义 hooks 的能力,这使我们能够创建可复用的代码和共享逻辑,而无需创建高阶组件或使用渲染 props。
在 React v16.8 中加入 hooks 这一重大改进之后,React 之后版本的多数更改都相对较小。到了 2019 年末,版本更新到了 16.14。
hooks 的重大改进发布之后,React 团队开始转移重心,希望提供更多工具来改善开发体验。实际上,开发体验正是 React Conf 2019 的主题。ReactConf 的主讲人,React 团队经理 Tom Occhino 表示,开发体验植根于以下三件事:准入门槛低、生产率高和扩展能力强。我们来看看 React 团队为此发布了哪些内容或有哪些计划:
人们相信,良好的开发体验也将带来良好的用户体验。下面是 React Conf 2019 大会上 Yuzhi Zheng 的演讲,谈到了即将发布的 React 功能。
https://youtu.be/uXEEL9mrkAQ
Vue 可能还没迎来自己采用率的巅峰,但不得不承认它拥有最热情的用户群。人们说 Vue 汲取了 React 和 Angular 的长处,同时更加简单易用。它的另一大卖点是更加开放,不像 React(Facebook)或 Angular(谷歌)那样受到大公司的控制。
Vue 的最大新闻是即将发布的 3.0 版本,alpha 版本有望在第四季度末发布。在 2019 年,Vue 2.x 仅在年初获得了少量更新,因为主要工作都放在了 v3 版本的开发上。
虽说 Vue 在今年发布的版本不多,但发生的事情却不算少。当 Evan You 发布 v3 的 RFC 时,新版的更改在社区中引发激烈争论。
激怒 Vue 开发人员的关键问题是对框架 API 的全面修订。但在反对声浪之后,据称 API 更改将完全是附加的,并且对 Vue 2 向后兼容。许多开发人员声称,如果新版的这些更改无法令人满意的话,他们可能会考虑转向 Svelte,因为他们担心 Vue 会越来越像 React 了。不过尽管社区中仍有许多人对此表示关注,但现在大家还是在静待新版的正式发布。
除了上述争议之外, Vue 3 还将带来许多重大改进:
今年另一个值得关注的 Vue 更新是 CLI 的第 4 版,其更新主要集中在基础工具上。
https://youtu.be/ANtSWq-zI0s
Angular 的固执(opinionated)理念帮助它赢得了庞大用户群。由于 Angular 是一个强固执框架,因此它要求开发人员以 Angular 的方式行事,并且为开发人员提供了所有必要的工具。
这种理念消除了许多争议,人们不用再操心该将哪些库和依赖项带入项目,相反构建 React 应用的团队就可能会出现这类问题。Angular 还要求开发人员使用 TypeScript 编写应用程序。由于大多数选择已经确定好了,因此很多公司将其视为一个不错的选择,因为它使开发人员可以专注构建产品,而不必花费时间考虑该用哪个包。
在 2019 年,Angular 发布了第 8 版,并且还发布了一个新的渲染器 / 编译管道,称为 Ivy。Ivy 的最大好处是较小的打包尺寸,除此之外还提供了许多很棒的改进。目前,Ivy 是 Angular 9 之前的可选功能。这篇文章详细介绍了第 8 版中发布的功能,其中值得关注的更新有:
在 2019 年 12 月,Angular 团队开始准备发布第 9 版,可能会在 2019 年底或 2020 年初正式发布。 Angular 9 的最大变化是 Ivy 成为了标准渲染器。观看下面的 YouTube 视频可了解有关 Angular 9 的更多信息。
https://youtu.be/5wmWtgr7LQ0
Web 应该对所有人开放,让所有人使用。前端业界一直将这一目标视为头等大事。自 2015 年以来,JavaScript 和 Web 的发展如此之快,相关模式和框架也终于稳定了下来。现在各种事物都更稳定了,开发人员就可以将更多的精力放在那些帮助应用本地化、改善应用可访问性的工具上面了,从而让所有人都能体验到更加美好的 Web 世界。我们应该为我们所取得的进展感到自豪,但是前面还有很长的路要走。
可访问性:“让尽可能多的人使用你的网站——我们传统上认为这是关于残疾人的特性,但实际上它也涵盖了其他群体,比如使用移动设备的人群和那些网络连接较缓慢的人群。”——MDN
国际化:“在设计 / 开发你的内容、应用程序和规范等事物时,确保其适合,或者可以轻松适应来自任何文化、地区或使用任何语言的用户”——W3C
ECMAScript(JavaScript 所基于的规范)的年度更新周期还在继续,ES2019 版本添加了许多新特性:
虽然 ES2019 带来了一些重大更新,但即将面世的 ES2020 看来会有一些自 ES6/ES2015 以来最受期待的特性:
Flutter 的发布比 React Native 晚了两年,但前者很快就站稳了脚跟。Flutter 在 GitHub 中拿到的星几乎快赶上 React Native 了,目前是 80.5k 对 83k;按这个趋势,超过 RN 指日可待。
考虑到 Flutter 并没有像 React Native 那样,拥有 React Web 开发人员那样庞大的开发社区来帮助自身成长,这样的成绩就更令人惊讶。Flutter 正在成为最佳的跨平台移动框架。
为了支持 JavaScript 生态系统并加速发展这种语言,Node.js 基金会和 JS 基金会合并成立了 OpenJS 基金会。新的基金会希望社区在一个中立的实体支持下协作和发展,这个实体现在托管 31 个开源项目,包括 Node、jQuery 和 Webpack。这一行动被认为对整个 JS 社区都有正面影响,并得到了谷歌、IBM 和微软等大型科技公司的支持。
Node 今年发布了第 12 版,也是一个长期支持版本(LTS),支持周期截至 2023 年 4 月。Node12 提供了许多新特性、安全更新和性能改进。一些值得关注的更新包括对 import/export 语句的原生支持、私有类字段、与 V8 Engine 7.4 版的兼容性、对 TLS 1.3 的支持以及新增的诊断工具等。
Svelte 设法在拥挤不堪的前端框架世界中找到自己的位置。但正如我们在本文开头所看到的那样,它的努力还没能转化为大规模的现实使用率。对 Svelte 来说,最好的总结就是“简单而强大”。Svelte 网站上指出了三点优势:
Svelte 试图将其大部分工作转移到编译步骤,而不是放到浏览器中的运行时上。Svelte 具有基于组件的架构,可编译为纯 HTML 和标准 JavaScript,同时还承诺减少样板代码。它使用响应式编程来直接更新 DOM,而不是使用虚拟 DOM。
Svelte 通过做减法的方式,为前端领域提供了一些新颖而令人兴奋的东西。在 2020 年,观察 Svelte 的成长和发展将是一件很有趣的事情,希望我们能看到一些大规模应用的案例,看看它是如何与 React、Vue 和 Angular 等大块头对手竞争的。
https://youtu.be/AdNJ3fydeao
随着诸如 Gatsby 之类的框架愈加流行,诸如 Netlify 之类的静态网站托管快速增长,以及无数无头 CMS 公司的涌现,静态网站证明了它们将成为 Web 不可或缺的一部分。
静态站点将旧式 Web 与新的工具、库和更新结合在一起,提供了无与伦比的体验。我们能使用像 React 这样的现代库来构建我们的站点,然后在构建时将它们编译成静态 HTML 页面。由于所有页面现在都是预先构建的,因此无需服务器时间就可以根据请求将它们与数据混合在一起——这些页面可以立即提供服务,并可以利用在全球 CDN 中缓存的优势,使内容尽可能接近你的用户。
静态站点使用的一种流行编程模式是 JAMStack (JavaScript、API 和 Markup)。这是一种静态 /SPA 混合方法,其中页面是静态提供的,但在客户端上更像是 SPA,使用 API??和用户交互来发展 UI 状态。
静态网站是获得高速产品的一种方法,但是它们并不适合所有应用——另一个上佳选择是 PWA(渐进式 Web 应用)。 PWA 允许你在浏览器中缓存资源,以使页面立即响应并提供脱机支持。另外,它们允许后台 workers 提供原生功能,例如通知推送。
甚至有人声称 PWA 可以取代原生移动应用。无论结果如何,可以肯定的是 PWA 将在很长一段时间里成为企业构建产品的重要途径。
多年来,前端开发人员一直在抱怨对 JavaScript 的审美疲劳,但我们已经逐渐看到,开源项目维护人员的不懈努力正在减轻这种审美疲劳。
以前,如果我们要构建一个 SPA,则必须使用 Bower 或 NPM 引入我们自己的依赖项,学会如何使用 Browserify 或 Webpack 来编译它,从头开始编写 Express 服务器,并通过繁琐的库更新维护我们的应用。
这种痛苦我们已经承受了很多年,但现在我们已经发展出了最活跃、最发达的软件包生态系统。有一些工具可以帮助我们抽象出构建应用程序时令人痛苦的部分——Create React App、Vue CLI、Angular CLI、用于静态站点的 Gatsby,用于 React Native 移动应用的 Expo、用于 SSR 应用程序的 Next/Nuxt,用于创建我们服务器的生成器、无需为 GraphQL 编写服务器的 Hasura,自动生成 TypeScript 类型的 GraphQL Code Generator,越来越简化的 Webpack——不管我们有怎样的需求,都有对应的工具可以帮助我们从繁重的劳动中解放出来。
也许现在我们有了工具链审美疲劳?
GraphQL 有望解决传统的基于 REST 的应用程序面临的许多问题。开发人员很快就爱上了 GraphQL,技术公司也终于开始使用它了。GitHub 几年前用 GraphQL 编写了它的最新 API,还有许多组织也在跟上步伐。
GraphQL 应用是数据驱动的,而不是端点驱动的,从而允许客户端声明所需的确切数据,并从服务器接收相应的 JSON 响应。GraphQL API 提供了一个架构,用于记录所有数据及其类型,从而使开发人员可以全面了解 API。
由于 GraphQL API 提供了完全类型化的 schema,因此它也可以与使用 TypeScript 的应用程序很好地集成在一起。使用诸如 GraphQL Code Generator 之类的工具时,它可以读取我们客户端代码中的查询,并将其与 schema 匹配,以提供会在整个应用程序中流动的 TypeScript 类型。
在过去的一年中,GraphQL 的下载量增长了一倍以上,而 Apollo 则开始成为使用最广泛的框架。
Web 开发的前进方向似乎是要在 JavaScript 下统一一切,而 CSS-in-JS 的推广就体现了这种趋势;它是用 JavaScript 字符串创建样式的方法。
这使我们可以通过 import/export 来使用常规 JavaScript 语法共享样式和依赖项。由于 CSS-in-JS 组件可以将 props 插入其样式字符串中,因此它还简化了动态样式。如前所述,Facebook 甚至可能将 CSS-in-JS 视为前端的未来,并将发布他们自己的库。
以下是经典 CSS 与 CSS-in-JS 的对比示例。要使用常规 CSS 处理动态样式,你必须管理组件中的类名称并根据 state/props 来更新它。对于每个变体,你还需要一个 CSS 类:
复制代码
// Component JS fileconst MyComp=({ isActive })=> { const className=isActive ? 'active' : 'inactive'; return <div className={className}>HI</div>}// CSS file.active { color: green; }.inactive { color: red; }使用 CSS-in-JS,你不用再管理 CSS 类。你只需将 props 传递给样式化的组件,它会使用声明性语法处理动态样式。代码更加简洁了,而且允许 CSS 管理基于 props 的动态样式后,我们对样式和 React 的关注点分离也更为清晰了。现在,所有内容看起来都像是常规的 React 和 JavaScript 代码:
复制代码
const Header=styled.div` color: ${({ isActive })=> isActive ? 'green' : 'red'};`;const MyComp=({ isActive }}=> ( <Header isActive={isActive}>HI</Header>)CSS-in-JS 的两大库分别是 styled-components 和 emotion,后者在 2019 年的下载量超越了前者。这两个库遥遥领先于其他 CSS-in-JS 选项,看起来它们将继续快速增长。
开发人员对自己的 IDE/ 文本编辑器充满热情,并且经常会争论谁的选择是最好的。但在前端领域,开发人员几乎一致选择 VS Code 作为他们的编辑器。VS Code 是一个开源编辑器,它提供许多插件来创造极为出色的开发体验。
下面是 2019 年 JS 现状调查统计的文本编辑器使用率:
Webpack 已成为几乎所有现代 JavaScript 工具链的核心组件,并且是最常用的构建工具。Webpack 一直在提升其性能和可用性,从而改善开发体验。在第 5 版中,Webpack 着重于以下几点:
Facebook 维护着流行的测试库 Jest 和 Flow,后者是 TypeScript 的竞争对手。他们在 2019 年初发表了大胆声明,选择将 Jest 从 Flow 迁移到 TypeScript。这进一步表明 TypeScript 已成为类型化 JavaScript 的标准选择,并且在 2020 年及以后的使用率会不断增长。
Chrome 继续快速迭代,迅速向 Web 和开发工具中添加新功能。在 2019 年,我们看到 Chrome 发布了 7 个稳定版本,还有 79 Beta 版,80 dev 版和 81 canary 版。查看下面的 Wiki 可以了解过去一年中 Chrome 的重要新增功能。
https://en.wikipedia.org/wiki/Google_Chrome_version_history?source=post_page1e7d07966d6c
Internet Explorer 及其后继者 Edge 对 Web 开发人员来说就是个笑话,更糟的是使用它们的体验令人痛苦不堪。微软的浏览器在 Web 特性实现方面一直落后于人,并且很难为其编写跨浏览器兼容的代码。作为开发人员的重大胜利,微软已经选择转向谷歌的开源 Chromium 引擎。到了 2019 年中,此更改已进入 beta 阶段。
Facebook 认为 Android JavaScript 引擎的速度不够快,因此他们打造了自己的引擎。Facebook 正在全力支持 React Native,此举表明他们愿意做出必要的调整,以使其在所有平台上都能发挥最大效能。
原文链接:
https://levelup.gitconnected.com/a-recap-of-frontend-development-in-2019-1e7d07966d6c
纲
1、什么是<a>标签
2、<a>标签的几个重要属性
3、a标签的运行机制
4、a标签常用的协议
5、超链接标签的样式问题——a标签的伪类选择器的书写顺序
1、什么是<a>标签
<a> 标签定义超链接,用于从一张页面链接到另一张页面。
<a> 元素最重要的属性是 href 属性,它指示链接的目标。
2、<a>标签的几个重要属性
2.1、href
规定链接指向的页面的 URL。
2.2、target
规定在何处打开链接文档。
a:自定义打开锚点
target的特殊值:有 4 个保留的目标名称用作特殊的文档重定向操作:
2.3、name
规定锚的名称。(Html5不支持)
2.4、downloadHTML5新增
HTML5新增,只有 Firefox 和 Chrome 支持 download 属性。
download 属性规定被下载的超链接目标。
在 <a> 标签中必须设置 href 属性。
该属性也可以设置一个值来规定下载文件的名称。所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, 等等)。
1
<a href="/images/myw3schoolimage.jpg" download="w3logo">
2.5、media
media 属性规定目标 URL 是为什么类型的媒介/设备进行优化的。
该属性用于规定目标 URL 是为特殊设备(比如 iPhone)、语音或打印媒介设计的。
该属性可接受多个值。
只能在 href 属性存在时使用。
3、a标签的运行机制
4、a标签常用的协议
5、超链接标签的样式问题——a标签的伪类选择器的书写顺序
5.1、a标签的多重状态
对于<a>元素,我们可以用“多重人格”来形容它。对于该标签,它一共有五种状态::link, :visited, :hover, :focus, :active.
“:link”可以用于声明未访问状态链接的样式;
“:visited”可以用于声明已经访问链接的样式;
“:hover”可以用于声明鼠标悬停在链接上的样式;
“:focus”可以用于声明浏览器焦点悬停在链接上的样式(通过键盘选择链接);
“:active”可以用于声明浏览器点击链接的样式。
注意:冒号前后不要出现空格
一般a:hover和a:visited链接的状态(颜色、下划线等)应该是相同的。
link、visited、active分别对应body元素的link、vlink、alink这三个属性。
四个“状态”的先后过程是:a:link ->a:hover ->a:active ->a:visited。另外,a:active不能设置有无下划线(总是有的)。
5.2、链接(a标签状态)定义的顺序
没有规矩不成方圆,虽然链接定义写好了,但它也是有规则的,如果这四项的书写顺序稍有差错,链接的效果可能就没有了,所以每次定义链接样式时务必确认定义的顺序,link--visited--hover-active,也就是我们常说到的LoVe HAte原则(大写字母就是它们的首字母)。
老外总结了一个便于记忆的“爱恨原则”(LoVe/HAte),即四种伪类的首字母:LVHA。定义A链接样式的正确的顺序:a:link、a:visited、a:hover、a:active。若没有按照这样的顺序的话,有的状态的样式会被放置在后面的样式覆盖而导致像没有触发一样没有效果,如:如果hover放在visited之后,则就算我放上去变色了,但是同时这个标签也具有visited状态以及其的效果,会覆盖了hover的效果。
为了符合浏览器解释CSS遵循的"就近原则"。我们在定义CSS中,宜将最一般的条件放在最上面,并依次向下,最下面放最特殊的。
在W3C规范中,也规定了链接的声明顺序:
在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。
我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以关注我的头条号并在后台私信我:前端,即可免费获取。
ctiveReports
ActiveReports是一款在全球范围内应用非常广泛的报表控件,以提供.NET报表所需的全部报表设计功能领先于同类报表控件,包括对交互式报表的强大支持、丰富的数据可视化方式、与Visual Studio的完美集成、以及对 HTML5 / WinForm / ASP.NET / ASP.NET MVC / Silverlight / WPF 和 Windows Azure 的多平台支持等。 通过ActiveReports报表控件,您除了可以创建常用的子报表、交叉报表、分组报表、分栏报表、主从报表等商业报表外,还可以创建具备数据筛选、数据过滤、数据钻取、报表互链等交互能力的数据分析报表,并把数据以可视化的方式呈现出来,快速为应用程序添加强大的报表功能。
我们很高兴地宣布 ActiveReports V13 正式发布! 不同于以往,本次更新 ActiveReports 将为您带来全新的报表设计体验:提供在线报表设计器、提供基于 JavaScript 的 JSViewer 报表查看器、提供全新的图表以及富文本框增强功能。
ActiveReports 在线报表设计器
ActiveReports提供了多种用于报表设计的工具,如 VSDesigner、Visual Studio 加载项和独立的桌面端设计器。与此同时,ActiveReports 报表设计器组件也可以嵌入到您的应用系统中,方便您的最终用户也可以进行报表设计。
如今,在ActiveReports V13中,我们又推出了一款轻量级但功能强大的 Web 端在线报表设计器。只需几行代码,您就可以轻松地将其嵌入到您的网站和应用程序中,从而使您的用户能够设计、创建和修改报表。
ActiveReports 在线报表设计器的出现,意味着您能够在 ActiveReports 设计界面中打开现有报表,并可以在其中操作布局样式、创建新报表,以及在富文本编辑器(WYSIWYG)中预览它们。ActiveReports 在线报表设计器具有熟悉、直观、设计感十足的 UI 界面,通过简单的操作,就可以实现:
与我们的桌面设计器一样,ActiveReports 在线报表设计器可完全自定义:您可以对最终用户使用设计器的功能选项进行控制,如预览、导出、图表功能等。
JSViewer: ActiveReports 的 JavaScript 报表查看器
ActiveReports 拥有一个快速且强大的报表引擎,在 ActiveReports V13 中我们又创造了一个全新的报表查看器,以进一步增强 ActiveReports 产品的能力。JSViewer 由此诞生,它基于纯 JavaScript 编写,可以在任何现代浏览器上运行,为用户提供快速的报表渲染体验。
JSViewer 支持所有主流 Web 应用程序框架,包括 Angular、Vue、ASP.NET Core、ASP.NET MVC 和 HTML。JSViewer 包含在 ActiveReports 中,为我们的企业级报表解决方案增加了更多应用价值。
JSViewer 具备许多 ActiveReports 和 .NET 用户熟悉的功能。通过使用类似 .NET 的语法来嵌入和自定义 JSViewer,从而最大限度地减少了用户学习曲线。除此之外,JSViewer 还具有以下功能:
使用 ActiveReports 中的新图表,增强报表数据交互和渲染性能
除了在线报表设计器和 JSViewer 之外,ActiveReports V13 中还对图表进行了改进。这是 ActiveReports V13 中实现的又一个新功能和主要特性!这些图表专门为 Web 上的 RDL 和 Page 报表创建,它们提供了更强的数据交互和渲染性能。
注:ActiveReports V13 兼容了此前版本的报表设计器和经典图表,您可以在最新版 ActiveReports 中继续使用他们。
使用 FormattedText 控件在报表中嵌入更多 HTML
FormattedText 是 ActiveReports 中流行的控件之一,用于在报表中呈现 HTML 文本。在 ActiveReports V13 中,我们增强了 FormattedText 以支持更多 HTML 标记和属性。此外,用户现在可以在设计时看到控件中的渲染文本,以确保在 WYSIWYG 显示正确结果。
新的 HTML 标记和属性包括表格、文本对齐和样式。
VSDesigner 加载项增强:使用 Visual Studio 主题
ActiveReports 是将报表设计器直接集成到 Visual Studio 中的少数几家报表工具供应商之一。我们通过将 Visual Studio 主题扩展到 ActiveReports 设计器及其支持窗口,以扩展这种集成的深度。这为报表设计人员提供了更好的 UI 样式支持。
点击“了解更多”下载产品最新试用版
↓↓↓
*请认真填写需求信息,我们会在24小时内与您取得联系。