Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 用红石服务网页_Dart_Web Deployment_Dart Polymer_Redstone.dart - Fatal编程技术网

Dart 用红石服务网页

Dart 用红石服务网页,dart,web-deployment,dart-polymer,redstone.dart,Dart,Web Deployment,Dart Polymer,Redstone.dart,我正在使用Dart和开发一个web应用程序 因为Dart允许服务器端和客户端开发,我想知道web应用程序的好模式是什么(特别是Dart) 备选案文1: 有一个服务器,比如说/bin/server.dart 1.1。在那里获取请求并用json响应 @app.Route(“/user/:id”,方法:const[app.GET]) getUser(int-id){…} 拥有一个客户端,即web/user.html和web/user.dart 2.1在user.dart中向服务器发出请求 2.2接收

我正在使用Dart和开发一个web应用程序 因为Dart允许服务器端和客户端开发,我想知道web应用程序的好模式是什么(特别是Dart)

备选案文1:

  • 有一个服务器,比如说/bin/server.dart

    1.1。在那里获取请求并用json响应

  • @app.Route(“/user/:id”,方法:const[app.GET])
    getUser(int-id){…}
    
  • 拥有一个客户端,即web/user.html和web/user.dart

    2.1在user.dart中向服务器发出请求

    2.2接收json并形成适当的user.html

  • 备选案文2:

  • 有一个服务器/bin/server

    1.1在那里获取请求并使用html页面进行响应,类似于

  • @app.Route(“/”)
    helloWorld()=>“你好,世界!”;
    
    如果在第一种情况下,我或多或少知道(并理解)如何让事情顺利进行,而我发现没有利用Dart的服务器-客户机代码共享确实令人沮丧:我需要对json进行编码和解码以获得相同的数据。有办法避免吗

    第二个选择对我来说不太清楚:我如何以这种方式为网页服务?我如何使聚合物发挥作用


    非常感谢您回答本文中的问题,并对开发web应用的快速方法进行一般性解释。

    我认为选项2不可能。Polymer依赖于服务器端不允许的dart:html。

    您可以在此处看到Redstone+Polymer应用程序示例:

    基本上,它的工作方式是
    选项1
    :客户端和服务器通过服务API进行通信,数据编码为JSON。尽管如此,Redstone还是使用
    shelf_static
    包为浏览器提供客户端代码

    如果您愿意,也可以使用服务器端模板引擎(如mustache)在服务器中构建html页面,不过,我认为将其与Polymer集成是非常困难的

    最后,在客户机和服务器之间传输数据时,您必须始终以某种方式对数据进行编码,但这并不意味着它们不能共享代码。例如,它们可以使用相同的域类。查看上面链接的示例应用程序以了解更多详细信息