当下,构建交互式应用程序的主流技术是 Web 技术,其中包括 HTML、CSS 与 JavaScript。
在过去的 10 年,Web 技术生态发生了翻天覆地的变化,包括层出不穷的开发框架,诸如 React、Vue、Svelte,也包括日新月异的前端工程化工具,比如 Webpack、esbuild、Vite 等等。
但归根结底,他们都逃不开 HTML、CSS、JavaScript 三剑客的范畴。
Web 技术生态成熟、稳定,然而却存在一个致命的问题:使用 Web 技术去构建跨平台应用程序并不是一件简单的事情。
这也是为什么许多平台特定的框架(platform-specific frameworks)与跨平台框架(cross-platform frameworks)依然受到欢迎的原因。
比如其中最著名的跨平台框架 Flutter,它部分基于浏览器引擎的技术,实现了「编写一次,全平台运行」的目标。而且这些框架,也基本不使用 HTML、CSS 这些 Web 技术。这是为什么呢?
因为 HTML 诞生的目的问题,以及 HTML 与 CSS 的开发体验问题。
HTML 即超文本标记语言,最初是三十年前为了制作可链接的文档而发明的,而不是为了做应用程序。它更多是一种标记而不是一种语言。大多数人甚至都不将编写 HTML 视为编程,因为它根本不是一种编程语言。
直到出现 HTML5 (通常被称为 H5)、CSS3 和 ES5 版本之后的 JavaScript,人们才逐渐开始用这些技术制作 Web 应用程序。在那之前,HTML 只是用于完成他最开始的目的。
但做成 Web 应用的可行性,最大还是来自于 JavaScript 性能的提升。
上面是 Lin Clark 介绍 JavaScript 性能历史的一张图。从2008年开始,JavaScript 性能就开始飞速提升。这对于应用程序的最终用户来说有巨大的好处,因为做出来的应用程序终于不卡了,甚至可以对性能有所期待了。
但是,对于开发者来说,仍然逃不开编写 HTML+CSS。
就算使用一些前沿的前端框架,如 React、Vue、Angular 等,我们仍然需要编写类似 HTML 的代码,并仔细调整 CSS 或者 CSS 预处理器(如 SCSS、Saas)的样式表。
这缓慢、枯燥、而且乏味。
太多的人力、时间被浪费在实现图形用户界面的细节上,使用一些并不是一开始就为了 UI 而设计的技术。这导致开发者经常要来回调整样式、处理浏览器兼容性问题、应用奇怪的 CSS 技巧、避开性能陷阱等等。
另外,还需要在过度发展的 NPM 生态系统中,使用那些复杂的前端工程工具来进行应用程序的构建。这个过程效率也非常低下,开发体验非常痛苦。更不要说 Web 应用在跨平台需求中会遇到更多的陷阱,比如平台兼容性、体积大小、性能问题,等等。
此刻,我们质疑,坚持使用 HTML 和 CSS 的理由到底是什么?
然后我们再回过头来看看其他的非 Web 框架。
Electron 首先被我们排除。虽然微软用它做出了 VSCode 这样成熟的跨平台应用程序,但也投入了巨大的成本,并且一般开发者可没有这么雄厚的财力。
但最关键的是,VSCode 其实是用 Web 技术做出来的,Electron 只是帮助它做成了跨平台应用而已。
看看我们还有什么其他选择:
随着近年来 Web 应用的比例不断增加,桌面端应用逐渐式微。但正是因为 Web 应用在跨端上的致命问题,这些非 Web 框架仍有一席之地,并且看上去也具有不可替代性。
当然,其中的某些年代过于久远的开发框架,开发人员的体验甚至比编写 HTML 更糟糕,因为他们可能被迫编写类似于这样的命令式和面向对象的代码。
var count = 0
let stack = new VStack
let text = new Text("Count: \(count)")
stack.add_child(text)
let button = new Button("Increment")
button.set_onclick(||
count += 1
text.set_text("Count: \(count)")
)
stack.add_child(button)
不是编写声明式且响应式的代码,就像程序员一直梦寐以求的这样:
struct AppState {
count: i32
}
VStack {
Text("count: \(state.count)")
Button("Increment") {
state.count += 1
}
}
这就是为什么 Flutter 看起来像是开发应用程序的灵丹妙药:
不过也还是有开发者不喜欢 Flutter,因为它引入了另一种新的、陌生的语言 Dart,以及额外的虚拟机负担。
Flutter 真正的问题在于与现有生态系统的兼容性,因为人们倾向于更喜欢重用已建立的资源和维护成熟的应用程序。编程语言也是出于同样的原因。
为了解决 Flutter 的一些问题,有些优秀开发者们尝试开发了 Flutter 的 JavaScript 版本,虽然后来失败了。因为 Flutter 本身正在迅速迭代,以至于两者无法融洽。不过这部分的工作导致诞生了 Kraken 框架,它允许编码人员编写 HTML,并使用 Flutter 引擎进行跨平台渲染。
等等...发生了什么?在非 Web 框架中再次编写 HTML?
不!再也不想写 HTML 了!
尽管如此,我们不得不承认,HTML+CSS 是表示 UI 的一个很好的组合,因为:
但是在实践中,UI 的工程有时是没有意义且不必要的。假设我们已经有了设计师提供的高保真设计原型,编码人员需要做的是:
第一部分总是让人头疼的源头:涉及大量的细节、耗时、需要与设计师进行讨论反复沟通,沟通成本很高,如果设计更新,代码也需要更新,也许还需要另一场“昂贵”的讨论。
更不用说,这种工作通常被视为费时费力没技术含量工作,也因此就有了大家听到的前端程序员通常被其他非前端程序员所鄙视。
一些聪明的开发者想出了使用编译器技术或更具体地说是转换器技术来实现设计到代码的解决方案,将整个高保真设计转换为机器生成的 HTML+CSS 代码。这个就是所谓的 Design to Code。
但它是为产品经理和设计师量身定制的,而不是为开发人员。这种内在问题包括但不限于:
总之,从开发者的角度来看,Design to Code 不是一个好的技术解决方案。
现在让我们看看什么是 Design as Code。
在 VGG 所倡导的 Design as Code 开发流程中,用户可以在某种程度上抛弃 HTML+CSS。
因为设计稿完全替代了 HTML+CSS 的角色,设计就是代码。请记住 VGG 的第一性原则:通过消除冗余的开发工作来弥合设计与开发两方之间的巨大鸿沟。
很明显的优势:图形用户界面的设计和开发只需要进行一次,因为两者实际上是一体的。因此两者的摩擦、讨论会减少,这让双方都更高效。
对于开发人员来说,他们能够直接在设计文件上编写业务逻辑,然后由 VGG 将其运行为一个交互式图形应用程序。这可以节省大量重复的工作,不仅提高了开发人员的工作效率,也为整个团队增加了工作效率。
Design as Code 的想法很简单,但它实现起来非常困难,比如会遇到来自编译器技术、编程接口抽象和图形渲染方面的工程挑战。
因此,为了实现 VGG 的 Design as Code 开发流程
VGG 天生就有着对开发生态很好的兼容性。相比于低代码,VGG 是一套真正为开发者设计的工具。小结:
基于以上两点,VGG 以及它主打的 Design as Code 可以为现代交互式应用开发带来巨大的好处。在最终用户对用户界面的实际使用效果没有明显感知差异的前提下,大大提升了应用开发者的开发体验,甚至可以让设计师、产品经理来承担一部分的界面开发工作:无非是把现有的设计工具当作一个 UI Builder 来使用罢了。
下面引用来自 VGG Github 首页的一张图,来更好地说明 Design as Code 的概念与 VGG 的有机组成:
在这篇文章中,我们讨论了 Web 技术、特定平台的框架、跨平台框架、Design to Code 解决方案以及基于 VGG 开源引擎的 Design as Code 开发流程。
我们提出了 Design as Code 的概念,介绍了 VGG 作为一个全新的开发交互式图形应用程序的框架。但 VGG 仍然年轻,因为还有许多技术挑战需要克服,VGG 运行时引擎现已开源,欢迎大家一起参与 VGG 开源社区共建。
关于 VGG 的更多细节将在后续的文章中讨论。如果您感兴趣,可以继续阅读官方博客和文档
https://blog.verygoodgraphics.com/
迎观看Illustrator教程,小编带大家学习 Illustrator 的基本工具和使用技巧,了解如何在 Illustrator 使用画板和命令导航画板。
在 Illustrator 中如想创建一个宣传册这样的多页文档或一个多页面的web设计,可以创建一系列画板。在本文中,我们将学习什么是画板以及如何浏览包含多个画板的文档。
打开文件, 要查看文件的全部内容,依次选择「视图」-「全部适合窗口大小」。
在 Illustrator 中创建文档时,首先应该创建至少一个画板。画板就像InDesign或 Microsoft Word 中的页面一样,代表可供打印的区域。如文档中所见, 画板可能具有不同的尺寸和方向。也可以按照自己的喜好排列画板,甚至把它们重叠在一起。
画板周围的大片灰色区域,叫做画布区域,适合盛放可能不会打印或导出的内容。例如当前用不上的替代图像或图稿(图标)。
针对包含多个画板的文档,您需要了解如何在 Illustrator 中高效地浏览这些画板。在「工具」面板中选择「选择工具」,单击左侧第一个画板中的图稿。
注意,画板周围的这些小黑线表示这个画板处于活动状态,也就是正在处理的这个画板。
依次选择「视图」-「画板适合窗口大小」。使用这个命令,将活动画板调整到适合文档窗口的大小。
「画板适合窗口大小」或「全部适合窗口大小」等「视图」菜单命令是在画板之间进行切换的好办法,也可以使用「属性」面板浏览画板。
依次选择「选择」-「取消选择」,如果这个选项可选,确保未选中任何图稿。
在无图稿被选中时,文档中的所有画板全部被列入此「属性」面板菜单中。
要在画板之间进行切换,从此菜单中选择画板编号或者单击向前或向后的箭头。
选中的画板,会自动调整到适合「文档」窗口的大小。
有时候,无论选中了什么内容,都可以转到左下角,在文档下方找到更快速浏览画板的方法。单击「画板导航」菜单,查看带有对应名称的画板列表。
选择 Business Card Front 名片字体,查看该画板,并将其调整到适应「文档」窗口的大小。
要再次查看内容中的全部画板,依次选择「视图」-「全部适合窗口大小」。
现在已经了解了什么是画板,以及如何在文档中高效地浏览画板,下次处理多画板文档时,就能更容易地从一个画板切换到另一个画板。
要关闭而不保存文档, 依次选择「文件」-「关闭」。
以上就是在 Illustrator 中使用画板和命令导航画板的方法。
llustrator矢量图软件下载地址:Illustrator 2020 for Mac(ai 2020 直装版)
https://www.macz.com/mac/5120.html?id=NzY4OTYwJl8mMjcuMTg2LjExLjEwMw%3D%3D
windows系统软件下载地址:Adobe Illustrator CC 2020(矢量图形软件)
https://soft.macxf.com/soft/731.html?id=MjkzODQ%3D
迎观看Illustrator最新版教程,小编带大家学习 Illustrator2020中文版的基本工具和使用技巧,了解如何在 Illustrator 中使用颜色混合器创建色板以及色板的浅色调。
在Illustrator中文版中,可以创建许多不同类型的颜色。在这个图标中,可以看到一些较深的橙色和一些浅橙色,较浅的颜色可以给等距图赋予立体感。这些较浅的橙色称为原始橙色的淡色调,淡色调为原始颜色较浅的版本。
在本文中,我们将创建一个右侧所示的图形,用橙色填充某些形状,然后再创建一些浅色调的橙色用来填充其他形状。首先创建并保存一种颜色,选择「选择工具」,点击选择右侧这个形状。
要更改填充颜色,在右侧的「属性」面板中点击「填色」,在显示的面板中选择「色板」,对这个形状应用色板下的默认颜色。
但是在这里要混合创建一种新的颜色,点击顶部的「颜色混合器」按钮。使用这里的颜色滑块来混合颜色,对于这个文件,显示的是用于打印的典型油墨颜色,分别为蓝绿色、品红、黄色和黑色。
除此之外还可以在底部的「色谱」中来选择颜色,在色谱中点击鼠标,来选择和应用颜色,每点击一下,就会选择一种颜色。
而且可以看到所选颜色中蓝绿色、品红、黄色和黑色的比例,应用颜色后将它保存为色板,这样就可以在其他位置重复使用。
点击顶部的「色板」按钮,切换到文件自带的默认色板,要保存你刚才创建的颜色,点击下方的「新建色板」按钮。
在打开的「新建色板」对话框中,更改「色板名称」将它改为「图标」。
要创建这种颜色的浅色调版本需要选中「全局色」选项,该选项默认选中,这样在你进行编辑时,整个图中的全局颜色将会自动更新,点击「确定」保存颜色。
现在颜色已经保存为色板,可以将它应用到图中了。
点击选中这个形状,然后按住 Shift 键点击,选择更多形状,选择完成后,松开 Shift 键。
要更改填充颜色,在右侧点击「填色」,并选择「色板」,选择颜色「图标」。
现在来创建「图标」色板的浅色调版本。首先选择要对其应用浅色调的图形,点击这个n形状,然后按住 Shift 键点击再选中这个I形状。
要应用「图标」色板,点击「填色」颜色之后选择该色板。
要创建该颜色的浅色调版本,点击上方的「颜色混合器」按钮。
这里只有一个名为「T」的滑动条,向左侧拖动滑块使颜色变浅,把它拖动到「35」左右,色调的范围是 0 到 100%,数值越低颜色越浅。
现在将该色调保存为色板,以便再次使用,点击上方的「色板」图标,要保存它,点击底部的「新建色板」按钮。
在面板中可以看到一个新的「图标」色板,如果将鼠标移动到它上面,可以看到它的名称和色调百分比。
如果要更改原始的图标颜色,那么基于原始颜色的所有色调都将发生变化,来试一下。点击并选中这个图形,要编辑填充颜色,在右侧点击「填色」显示色板后,双击「图标」色板进行编辑。
在出现的对话框中,选择「预览」查看任何更改,试着拖动一个颜色滑块来更改颜色,可以看到你保存的基于「图标」色板的色调同样发生了改变,点击「确定」。
可以简单练习一下尝试对这些白色形状应用图标颜色,然后尝试创建新的色调将颜色和色调保存为色板,可以有助于你更方便地为自己的作品增添创意。
以上就是在 Illustrator 中使用颜色混合器创建色板的方法。
adobeillustrator破解版下载地址:Illustrator 2020 for Mac(ai 2020 直装版)
https://www.macz.com/mac/5120.html?id=NzY4OTYwJl8mMjcuMTg2LjE1LjI0OA%3D%3D
windows软件激活地址:Adobe Illustrator2022(AI 2022)
https://soft.macxf.com/soft/1246.html?id=MjkzODQ%3D
*请认真填写需求信息,我们会在24小时内与您取得联系。