Archived

This forum has been archived. Please start a new discussion on GitHub.

ICE for Silverlight

kwaclaw
kwaclaw Oshawa, Canada
This new project is indeed exciting news.

I am curious if ICE for Silverlight will get a true socket based channel instead of "tunneling" ICE over HTTP and using a bridge?

AFAIK, Silverlight 2.0 (beta due out in Q1 2008) will have socket support, although it might just have the same issues that prevent the current ICE for .NET runtime from being implemented in fully managed code.

Karl

Comments

  • It's quite possible that we will add this if there is demand for such a feature. The purpose of a ZeroC Labs product is to gather information about the requirements from our users to determine the future direction of the project.
  • xdm
    xdm La Coruña, Spain
    why silverlight and no flex?

    Hi zeroc

    Why you choose silverlight for web applications and no adobe flex?

    I think flex is a more mature solution for rich web applications, and the prefer option for web developers.

    BTW flex is open source , and run in most modern web browsers. and Silverligh seems a microsoft only solution.

    I give you same links of open source flash proyects

    Wowza is and open source server for flash.
    Wowza Media Server - Flash Streaming Server, Flash Media Server Alternative, Flash Server and RTMP Server

    Red5 Red5 : Open Source Flash Server Open Source Flash is a open source flash server. but is only for php.

    Thanks
  • The main reason is that we already have an Ice for .NET version, which makes it relatively easy to implement Ice for Silverlight. However, this doesn't mean that we will not also implement and Ice for Flex (or whatever it would be named) in the future.
  • xdm
    xdm La Coruña, Spain
    The other player in Rich Web Clients seems to be javaFX, JavaFX. Seems that it can be integrated with Ice out of the box or any other java based software.

    BTW Ice + Flex can be a revolution in the web, for creating disitributed flash games, streaming applications, ecomerce sites, and lots of new things.

    The probem with flex or flash is that macromedia servers has very expensive licenese per cpu.
  • I agree with your assessment of the importance of Flex. As I said, just because we have released Ice for Silverlight, doesn't mean that we cannot release an Ice for Flex as well :)

    Ice for Silverlight did represent a great opportunity for us to learn about HTTP bridging, and the challenges of running Ice in the Web browser in general. ZeroC Labs is the place to test new technology like this.
  • xdm
    xdm La Coruña, Spain
    Hi

    I have same WebApps that use Ice in is backend server, The Web Front End is a WebModule made with the AppWeb embeded web server
    see AppWeb Embedded Web Server Software and Solutions. is really simple made a custom module for the AppWebSever and can be interesting for learn about HTTP. I think this aproach is more flexible than use IcePhp on apache because you have total control of your web server. in my app the WebServer run's inside and IceBox service.

    Our administrative clients are now IcePy + PyQt. Here is where we want to put Flex <--> Ice talking native IceProtocol not only an http bridge, and take full advantage of Ice Protocol.

    I think this combination can be the more powerfull sollution for rich web applications. Seems to me far superior, to current rich web apps like Gmail, Hotmail that are only http based.

    If you are interesting in same of the pieces of code i mentioned for view how we are using Ice, i can share it with you.
  • kwaclaw
    kwaclaw Oshawa, Canada
    xdm wrote: »
    BTW flex is open source , and run in most modern web browsers. and Silverligh seems a microsoft only solution.

    Silverlight is cross-platform: Mac, Windows, Linux - (called Moonlight), and runs in different browsers, not just IE. But the main selling point is that you can use any .NET language, not just a scripting language.
  • Flex support in Ice
    Silverlight is cross-platform: Mac, Windows, Linux - (called Moonlight)

    Yea I don't know about this statement. From the Moonlight project website,

    "Currently Moonlight is not packaged as it is still under heavy development."

    Simply because Moonlight is in alpha stages, I would not be quick to label it as a viable alternative to Adobe's Flex. Furthermore, its troubling to me that a wonderfully versatile and open-source project such as Ice would even align themselves with a closed-source, single platform library such as Silverlight (well I guess Mac is also supported by Silverlight)... yea MS has stated that they were/are going to release portions of Silverlight, but lets be honest. This is MS. I'll only believe it when I see it.. and from the looks of it, I'm right to be skeptical.

    Before anyone accuses me of being some open-source nut, I have no allegiance to Adobe or MS. In fact I am just beginning to learn about RIA technologies. However, I do have quite a bit of source code and work built on top of the Ice project. And almost 95% of this code runs exclusively on a Linux OS.

    I'd really love to use an RIA tech, such as Flex, to put a nice front end on the components I have developed. I don't have time to fuss around with one more developmental library such as Moonlight (being primarily in Linux, I already have enough of those to deal with). I just want something that works.. period.
  • IcePy with PyQt4

    I'd appreciate any tips on getting IcePy and PyQt4 to coexist harmoniously within an application, since I am about to embark on such a project.
    xdm wrote: »
    Hi

    I have same WebApps that use Ice in is backend server, The Web Front End is a WebModule made with the AppWeb embeded web server
    see AppWeb Embedded Web Server Software and Solutions. is really simple made a custom module for the AppWebSever and can be interesting for learn about HTTP. I think this aproach is more flexible than use IcePhp on apache because you have total control of your web server. in my app the WebServer run's inside and IceBox service.

    Our administrative clients are now IcePy + PyQt. Here is where we want to put Flex <--> Ice talking native IceProtocol not only an http bridge, and take full advantage of Ice Protocol.

    I think this combination can be the more powerfull sollution for rich web applications. Seems to me far superior, to current rich web apps like Gmail, Hotmail that are only http based.

    If you are interesting in same of the pieces of code i mentioned for view how we are using Ice, i can share it with you.
  • xdm
    xdm La Coruña, Spain
    Hi Philip,

    I have not the mentioned code available here, in general for integrating Ice with a GUI you could review the ChatDemo code and articles most is still applicable to python.

    Most important thing you should use asynchronous calls to avoid blocking the Ui thread and keep your interface responsive.

    Also you should use the relevant GUI mechanism for invoke in the Ui thread from no UI threads in Qt this mechanism is QApplication.postEvent.

    So in Qt python when you want to send a message from a non Ui thread to the UI thred, for example in an AMI callback implementation you can do
    QtCore.QCoreApplication.postEvent(self.chatView, SayEvent("foo", "bar"))
    

    The view that receives the event selft.chatView could handle this event reimplementing customEvent
        def customEvent(self, event):
            if(event.type() == QtCore.QEvent.Type(1024)):
                # do the work in ui thread.
                self.txtMessage.addMessage(event.creationDate,event.name,event.message)
    
    

    And you can define your custom events with code like.
    class SayEvent(QtCore.QEvent):
    
        def __init__(self, name, message):
            QtCore.QEvent.__init__(self,QtCore.QEvent.Type(1024))
            self.name = name
            self.message = message
    

    Hope this help,
    Let's us know if you have further problems integrating Ice with PyQt4