Symfonyob娱乐下载的新功能:用户体验倡议,Symfony的一个新的JavaScript生态系统
我不是想让你扫兴,但这是正确的方向吗?
感觉有点像逆势而行。把时间花在提高Vue / React的“兼容性”上会更好吗?
例如,表单应该能够序列化为Vue formula json模式(https://vueformulate.com/guide/forms/generating-forms/#schemas)。这将使新的和现有的Symfony项目更容易采用。ob娱乐下载
银行在树枝,并建立js lib功能到它感觉有点仓促操纵到我。
我有新老项目,服务器呈现方法感觉过时了,不够流畅,无法与spa竞争。最简单的事情,比如2个选择,第一个值决定了第二个选择的选项,用Vue做得更好。就在几周前,我不得不将它添加到我的一个旧项目中,我非常希望我在那里有Vue。
第一个建议是slvelte,这是一个双向绑定库。毫无疑问,这些解决方案现在很受期待。
TLDR:让React或Vue这样的专用库来处理这个问题,并帮助简化向这些库的过渡,不是更好吗?
感觉有点像逆势而行。把时间花在提高Vue / React的“兼容性”上会更好吗?
例如,表单应该能够序列化为Vue formula json模式(https://vueformulate.com/guide/forms/generating-forms/#schemas)。这将使新的和现有的Symfony项目更容易采用。ob娱乐下载
银行在树枝,并建立js lib功能到它感觉有点仓促操纵到我。
我有新老项目,服务器呈现方法感觉过时了,不够流畅,无法与spa竞争。最简单的事情,比如2个选择,第一个值决定了第二个选择的选项,用Vue做得更好。就在几周前,我不得不将它添加到我的一个旧项目中,我非常希望我在那里有Vue。
第一个建议是slvelte,这是一个双向绑定库。毫无疑问,这些解决方案现在很受期待。
TLDR:让React或Vue这样的专用库来处理这个问题,并帮助简化向这些库的过渡,不是更好吗?
@dam Prager与React和Vue的兼容性已经由API平台提供(它有一个官方的Symfony配方:' composer req API '): https://api-platform.com/docob娱乐下载s/client-generator/
ob娱乐下载Symfony UX并不是针对同一类型的项目。如果你已经了解JS,想要一个现代的、以JS为主的UI、一个SPA、一个渐进式Web应用程序、一个原生移动应用程序……然后使用API平台和你喜欢的JS框架。
另一方面,如果你没有掌握一个现代的JS框架,或者只是想逐步增强用Twig和Form Component构建的表单的用户体验,那么Symfony UX就是为你准备的。ob娱乐下载
ob娱乐下载Symfony UX并不是针对同一类型的项目。如果你已经了解JS,想要一个现代的、以JS为主的UI、一个SPA、一个渐进式Web应用程序、一个原生移动应用程序……然后使用API平台和你喜欢的JS框架。
另一方面,如果你没有掌握一个现代的JS框架,或者只是想逐步增强用Twig和Form Component构建的表单的用户体验,那么Symfony UX就是为你准备的。ob娱乐下载
难道只有我一个人对此感到怀疑吗?在我看来,它将创造更多的复杂性,在Symfony的PHP中有许多“重复的”JS库。ob娱乐下载将UX包与原生JS库混合将很快成为一个地狱。
JS中的优秀UX当然是复杂的,它本身就是一种职业。开发人员应该意识到这一点,并在这个领域中发挥他们的技能,而不是用SymfonyUX这样的概念来拖延学习。ob娱乐下载我很抱歉,但这篇文章中的CharJS的例子震惊了我,混合了PHP/JS的关注点…
但最糟糕的是我昨天为一个测试项目安装Webpack Encore的经历。我看到刺激的东西弹出,controller.js, bootstrap .js,…我想知道发生了什么,也许a安装了错误的软件包,但是没有。刺激现在默认安装在Webpack Encore中,而不是让我们选择我们的前端概念。不瞒你说,我当时有点不高兴。
所以我决定不再使用Webpack Encore,而是使用原生Webpack。这可以让我选择我想用的东西。
我感到非常抱歉,因为我知道你们所有人都有很多工作要做,但我绝对不会和你们一起看待眼前的问题。
JS中的优秀UX当然是复杂的,它本身就是一种职业。开发人员应该意识到这一点,并在这个领域中发挥他们的技能,而不是用SymfonyUX这样的概念来拖延学习。ob娱乐下载我很抱歉,但这篇文章中的CharJS的例子震惊了我,混合了PHP/JS的关注点…
但最糟糕的是我昨天为一个测试项目安装Webpack Encore的经历。我看到刺激的东西弹出,controller.js, bootstrap .js,…我想知道发生了什么,也许a安装了错误的软件包,但是没有。刺激现在默认安装在Webpack Encore中,而不是让我们选择我们的前端概念。不瞒你说,我当时有点不高兴。
所以我决定不再使用Webpack Encore,而是使用原生Webpack。这可以让我选择我想用的东西。
我感到非常抱歉,因为我知道你们所有人都有很多工作要做,但我绝对不会和你们一起看待眼前的问题。
@Jonathan,很好,你绝对可以选择退出刺激计划!(顺便说一下,不需要删除Encore,你可以像在任何Symfony 5.1应用程序中那样简单地配置它,并删除刺激桥的使用)。ob娱乐下载
然而,需要注意的是,Stimulus不会以任何方式替换或复制JS库。你可以将Stimulus控制器(以及UX包)视为Symfony包的等等物:它们将现有的JS包库与Symfony链接起来,它们不替换任何东西。ob娱乐下载
在任何JS框架中,你都会发现这些链接库:react-chartjs, vue-chartjs,…如果你想继续使用React/Vue/Angular,这很容易做到:要么你可以完全删除刺激,要么你可以使用一个刺激控制器将Twig构建的DOM节点路由到React/Vue/…这完全取决于你。
例如:https://gist.github.com/tgalopin/f980149f95714293adee05cf11a85202
我建议你考虑在你的应用程序中保留刺激程序,即使你不使用它,并将所有内容转移到React/Vue/…这背后的主要原因是,通过这样做,你允许*供应商*库在你的应用程序中公开他们的JavaScript。一个很好的例子是EasyAdmin:通过利用Symfony UX, EasyAdmin将能够创建可重用的组件,让你很容易地在其代码中添加你自己的JS。ob娱乐下载ob娱乐下载Symfony UX提供了一个基础,可以在此基础上进行构建,而不会阻止您在此基础上使用任何其他技术。
最后,关于PHP和JS的混合:在某些情况下它非常有用,而在另一些情况下则非常糟糕。我绝不会为了不学习一门新语言而提倡隐藏JavaScript: Symfony UX的目标不是这个。ob娱乐下载然而,在像图表这样的情况下,从后端到前端传输数据可能很麻烦,甚至不安全(反之亦然)。使用一个为你做这些的库是非常有用的。
然而,需要注意的是,Stimulus不会以任何方式替换或复制JS库。你可以将Stimulus控制器(以及UX包)视为Symfony包的等等物:它们将现有的JS包库与Symfony链接起来,它们不替换任何东西。ob娱乐下载
在任何JS框架中,你都会发现这些链接库:react-chartjs, vue-chartjs,…如果你想继续使用React/Vue/Angular,这很容易做到:要么你可以完全删除刺激,要么你可以使用一个刺激控制器将Twig构建的DOM节点路由到React/Vue/…这完全取决于你。
例如:https://gist.github.com/tgalopin/f980149f95714293adee05cf11a85202
我建议你考虑在你的应用程序中保留刺激程序,即使你不使用它,并将所有内容转移到React/Vue/…这背后的主要原因是,通过这样做,你允许*供应商*库在你的应用程序中公开他们的JavaScript。一个很好的例子是EasyAdmin:通过利用Symfony UX, EasyAdmin将能够创建可重用的组件,让你很容易地在其代码中添加你自己的JS。ob娱乐下载ob娱乐下载Symfony UX提供了一个基础,可以在此基础上进行构建,而不会阻止您在此基础上使用任何其他技术。
最后,关于PHP和JS的混合:在某些情况下它非常有用,而在另一些情况下则非常糟糕。我绝不会为了不学习一门新语言而提倡隐藏JavaScript: Symfony UX的目标不是这个。ob娱乐下载然而,在像图表这样的情况下,从后端到前端传输数据可能很麻烦,甚至不安全(反之亦然)。使用一个为你做这些的库是非常有用的。
naitsirch is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now整合wysiwyg编辑器会很棒……我认为在web应用程序中经常需要这种工具。