Symfonyob娱乐下载的新功能:用户体验倡议,Symfony的一个新的JavaScript生态系统

Mohamed Abdeljalil的化身
干得好!
Suleiman SOUNHOUIN的化身
功能真的很有趣也很有用。好工作! !
乌鲁姆丁·卡亚迪·尤努斯的化身
太棒了!
亚当·普拉格的化身
我不是想让你扫兴,但这是正确的方向吗?

感觉有点像逆势而行。把时间花在提高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这样的专用库来处理这个问题,并帮助简化向这些库的过渡,不是更好吗?
Kévin Dunglas的化身
@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娱乐下载
乔纳森·拜克的化身
难道只有我一个人对此感到怀疑吗?在我看来,它将创造更多的复杂性,在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。这可以让我选择我想用的东西。

我感到非常抱歉,因为我知道你们所有人都有很多工作要做,但我绝对不会和你们一起看待眼前的问题。
Titouan Galopin的化身
@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娱乐下载然而,在像图表这样的情况下,从后端到前端传输数据可能很麻烦,甚至不安全(反之亦然)。使用一个为你做这些的库是非常有用的。
david duymelinck的化身
要创建一个好的生态系统,你需要有一些用例,其中php和javascript的混合需要一段时间才能集成。

例如ux-dropzone包。这似乎是可以通过使用dropzone.js并将dropzone类添加到表单来完成的大量代码。不需要在服务器上裁剪。

其他框架也可以针对DOM节点,但在我看来,同时使用刺激器和Vue似乎有些过头了。

我认为这是一个好主意,但它需要更好的用例。我相信有人在SymfonyWorld在线聊天时建议收集。ob娱乐下载这是一个表单行为,我们很多人需要实现它的工作。
david duymelinck的化身
在我昨天的评论中,我混合了dropzone包和cropper包。您不需要在服务器上裁剪。
伊凡·鲁德的化身
抱歉我的观点,但这看起来像是政治决定。似乎想法促进js libs由Symfony流行。ob娱乐下载有太多的js lib /工具,不需要创建新的,只需要为现有的添加桥梁。我在《安可》里看过。我认为所有js的方式都是错误的,特别是混合php和js像menthoned @Jonathan。当我们谈论webpack时,不需要重新发明轮子。我认为当前的状态需要可以转发env的工具,路由参数从php到js。上面的例子把我们搬到jquery时代,但为什么要使用webpack和现代的概念。

也许最好有两种方法jquery和现代spa的概念和UX倡议。谁想要网格,让使用jquery的方式谁想要干净的代码和独立的部分,让使用spa一样的方式。

我看到我不能使用当前的UX,但我喜欢Symfony,我想把它用作后端在现代js应用程序。ob娱乐下载
Mathieu Ducrot的化身
看起来很有希望!

从我们都在使用的完整链中传递数据通常是一件很困难的事情:

控制器>枝到> HTML数据属性存储一些枝变量的json_encode >在Encore webpack上添加一个条目。Config到>最后是js端点文件,仍然需要检测HTML元素,读取数据属性的内容,以便能够以某种方式使用它(例如:绘制图表)。

在这里,在PHP中初始化图表是非常优雅的,然后在Twig上简单地调用render_chart。

我一定要试试。
巴斯蒂恩的化身
为什么不是FullCalendar呢?
哈姆扎·马克拉兹的化身
很棒的计划!谢谢你!
xshoot的头像
谢谢你!!!!我的梦想是用select2做一个超级简单的包。
幽灵的化身
我认为Symfony UXob娱乐下载是一个很好的开始,以一种简单的方式包含JavaScript文件。任何让我们的开发工作更容易的事情都应该受到欢迎,不是吗?除了UX Dropzone, UX SWUP等,如果有一天能有一个“UX AutocompleteForm”,让我们可以建立一个基于API平台的小型搜索引擎,那就太好了。干得好,我们很高兴看到Symfony UX在2021年增长。ob娱乐下载
Mateusz的头像Krówka
伟大的创举,喜欢!!
vojtch Lacina的化身
大家好,我刚刚发表了一篇文章,试图从业务/产品所有者的角度来看待Symfony UX。ob娱乐下载更多内容见文章https://advanced-developer.medium.com/introducing-the-symfony-ux-a3ob娱乐下载be202bc643
伊凡的化身
这看起来是错误的做法。

使后端对前端应用程序负责。非常有大腿耦合感。
>使后端依赖于前端,而不是相反。
基本上是从后端委托前端部分的代码。

以前很多尝试做类似的事情,包括Drupal,都没有很好地过时。很多这样的例子。
zarbag mohamed elmehdi的化身
很棒的事情,这将是对框架的巨大改进

评论截止。

为了确保评论保持相关性,旧帖子将被关闭。