Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
I think Flutter can be a cross-platform UI toolkit to implement GUI on desktops (Windows/Linux/Mac) , mobile (android/IoS), and web ... via local API Proxy I would be interested in contributing On Fri, Jun 24, 2022 at 2:31 AM Sebastian Rühl wrote: > Now we still missing JavaEE in the proposal List XD > > - Sebastian > > On 2022/06/23 16:54:35 Łukasz Dywicki wrote: > > I agree that electron is a great tool. > > It gives you all the problems you had with desktop combined with all > > complexity of modern web development. ;-) > > > > If goal is getting data from protocol available via serial port then > > electron is an unnecessary complication. You need to launch local server > > with an API to let gui receive data (assuming gui is in js or similar). > > Given that we don't have many UI folks who do webdev on daily basis I am > > afraid we could be easily burred by that part. > > > > Sure, without trying we just speculate, so anyone who wants promote > > specific tech is welcome to start working on the thing. :) > > > > BTW for further comparisons, I recall there is also a wx-widgets toolkit > > which is cross platform. > > > > Cheers, > > Łukasz > > > > On 23.06.2022 18:31, Lukas Ott wrote: > > > What about https://cordova.apache.org/ and creating an Electron App? > > > > > > > https://cordova.apache.org/docs/en/11.x/guide/platforms/electron/index.html > > > > > > So we can deploy easily to all kinds of platforms? > > > > > > Example for a very successful Frontend application: > > > https://github.com/jgraph/drawio > > > > > > Interesting discussion a few years ago: > > > https://twitter.com/tuxtor/status/1167454864932319232 > > > > > > -> Electron is de facto the standard for Desktop Applications at least > at > > > the moment. > > > > > > https://medium.com/the-web-tub/electron-on-cordova-29ede5d6d789 > > > > > > > https://www.reddit.com/r/javahelp/comments/lrg2ho/web_app_vs_java_fx_vs_electron_js/ > > > > > > My five cents to this conversation ;-) > > > > > > Luk > > > > > > Am Do., 23. Juni 2022 um 16:19 Uhr schrieb Sebastian Rühl < > sru...@apache.org > > >> : > > > > > >> I would vote doing it as a terminal application with tcell :D > > >> > > >> https://github.com/gdamore/tcell > > >> https://github.com/gcla/gowid > > >> > > >> good example for that is termshark > > >> > > >> - Sebastian > > >> > > >> On 2022/06/23 13:47:29 Christofer Dutz wrote: > > >>> Hi all, > > >>> > > >>> Great to see this discussion here :-) > > >>> > > >>> Well, I agree that going down the lane of basing something on > NetBeans, > > >> Eclipse, IntelliJ, VSCode makes the tool a bit too big and > complicated. > > >> Integrating something based on Eclipse into our build also would add > > >> Nightmares to that. > > >>> > > >>> I probably would have chosen Java/Kotlin with JavaFX ... but I would > > >> say, those who actually work on it should choose what they are > comfortable > > >> with. > > >>> > > >>> So perhaps we could see who's actually interested, willing and able > to > > >> help on the coding and then these people should discuss how to > implement > > >> it. I'll be available as a "Mentor" if any help is needed in > integrating > > >> that into the build or if PLC4X related help is needed. > > >>> > > >>> Chris > > >>> > > >>> > > >>> -Original Message- > > >>> From: Stephen Snow > > >>> Sent: Donnerstag, 23. Juni 2022 15:31 > > >>> To: dev@plc4x.apache.org > > >>> Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing > > >> PLCs with PLC4X > > >>> > > >>> Truly, > > >>> To scaffold an application that can be rapidly utilized in > Java/Kotlin I > > >> would strongly recommend Quarkus from https://quarkus.io/. It likes > to > > >> use the GraalVM and readily can build out to native or native in > container. > > >> It can be deployed ootb in development mode with ci happening as you > > >> develop in netbeans say. > > >>> > > >>> Just my 2c worth. > > >>> > > >>> Regards, > > >>> Stephen > > >>> On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > > I been wrapping head around this as I had a necessity to watch > CANopen > > traffic decoded by plc4x. I ended up building fairly basic web page > > which displayed most recent frames (so I could stay with local > > socketcan transport), yet it was far from useful or portable. > Recently > > I also did struggle a lot with bloody modbus. My usecases are often > > focused on making the commissioning to generate further software > > configuration. > > > > My little research in topic of desktop applications ended up at > javafx > > which allows to make it small and compile to native binary thanks to > > graal. My experiences with RCP platforms are rather bad (I did some > > small Eclipse RCP projects), even if I have no issues with OSGi. > > Problem > > I see in RCP platforms is sparse development documentation, I also > > perceive both Eclipse RCP and Netbeans as
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Now we still missing JavaEE in the proposal List XD - Sebastian On 2022/06/23 16:54:35 Łukasz Dywicki wrote: > I agree that electron is a great tool. > It gives you all the problems you had with desktop combined with all > complexity of modern web development. ;-) > > If goal is getting data from protocol available via serial port then > electron is an unnecessary complication. You need to launch local server > with an API to let gui receive data (assuming gui is in js or similar). > Given that we don't have many UI folks who do webdev on daily basis I am > afraid we could be easily burred by that part. > > Sure, without trying we just speculate, so anyone who wants promote > specific tech is welcome to start working on the thing. :) > > BTW for further comparisons, I recall there is also a wx-widgets toolkit > which is cross platform. > > Cheers, > Łukasz > > On 23.06.2022 18:31, Lukas Ott wrote: > > What about https://cordova.apache.org/ and creating an Electron App? > > > > https://cordova.apache.org/docs/en/11.x/guide/platforms/electron/index.html > > > > So we can deploy easily to all kinds of platforms? > > > > Example for a very successful Frontend application: > > https://github.com/jgraph/drawio > > > > Interesting discussion a few years ago: > > https://twitter.com/tuxtor/status/1167454864932319232 > > > > -> Electron is de facto the standard for Desktop Applications at least at > > the moment. > > > > https://medium.com/the-web-tub/electron-on-cordova-29ede5d6d789 > > > > https://www.reddit.com/r/javahelp/comments/lrg2ho/web_app_vs_java_fx_vs_electron_js/ > > > > My five cents to this conversation ;-) > > > > Luk > > > > Am Do., 23. Juni 2022 um 16:19 Uhr schrieb Sebastian Rühl >> : > > > >> I would vote doing it as a terminal application with tcell :D > >> > >> https://github.com/gdamore/tcell > >> https://github.com/gcla/gowid > >> > >> good example for that is termshark > >> > >> - Sebastian > >> > >> On 2022/06/23 13:47:29 Christofer Dutz wrote: > >>> Hi all, > >>> > >>> Great to see this discussion here :-) > >>> > >>> Well, I agree that going down the lane of basing something on NetBeans, > >> Eclipse, IntelliJ, VSCode makes the tool a bit too big and complicated. > >> Integrating something based on Eclipse into our build also would add > >> Nightmares to that. > >>> > >>> I probably would have chosen Java/Kotlin with JavaFX ... but I would > >> say, those who actually work on it should choose what they are comfortable > >> with. > >>> > >>> So perhaps we could see who's actually interested, willing and able to > >> help on the coding and then these people should discuss how to implement > >> it. I'll be available as a "Mentor" if any help is needed in integrating > >> that into the build or if PLC4X related help is needed. > >>> > >>> Chris > >>> > >>> > >>> -Original Message- > >>> From: Stephen Snow > >>> Sent: Donnerstag, 23. Juni 2022 15:31 > >>> To: dev@plc4x.apache.org > >>> Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing > >> PLCs with PLC4X > >>> > >>> Truly, > >>> To scaffold an application that can be rapidly utilized in Java/Kotlin I > >> would strongly recommend Quarkus from https://quarkus.io/. It likes to > >> use the GraalVM and readily can build out to native or native in container. > >> It can be deployed ootb in development mode with ci happening as you > >> develop in netbeans say. > >>> > >>> Just my 2c worth. > >>> > >>> Regards, > >>> Stephen > >>> On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > I been wrapping head around this as I had a necessity to watch CANopen > traffic decoded by plc4x. I ended up building fairly basic web page > which displayed most recent frames (so I could stay with local > socketcan transport), yet it was far from useful or portable. Recently > I also did struggle a lot with bloody modbus. My usecases are often > focused on making the commissioning to generate further software > configuration. > > My little research in topic of desktop applications ended up at javafx > which allows to make it small and compile to native binary thanks to > graal. My experiences with RCP platforms are rather bad (I did some > small Eclipse RCP projects), even if I have no issues with OSGi. > Problem > I see in RCP platforms is sparse development documentation, I also > perceive both Eclipse RCP and Netbeans as focused mainly on organizing > navigation while strongly depending on UI frameworks (jface/swt or > swing/awt). Effectively you still need to build tables and so on, but > with much more overhead. > Please do not take above too seriously in context of Netbeans, I don't > know much about it and its flexibility. I don't know how to build it > with Maven, hence it feels strange. > For the Kotlin stuff and frameworks there - I can say that any UI > project which Google is
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
I agree that electron is a great tool. It gives you all the problems you had with desktop combined with all complexity of modern web development. ;-) If goal is getting data from protocol available via serial port then electron is an unnecessary complication. You need to launch local server with an API to let gui receive data (assuming gui is in js or similar). Given that we don't have many UI folks who do webdev on daily basis I am afraid we could be easily burred by that part. Sure, without trying we just speculate, so anyone who wants promote specific tech is welcome to start working on the thing. :) BTW for further comparisons, I recall there is also a wx-widgets toolkit which is cross platform. Cheers, Łukasz On 23.06.2022 18:31, Lukas Ott wrote: What about https://cordova.apache.org/ and creating an Electron App? https://cordova.apache.org/docs/en/11.x/guide/platforms/electron/index.html So we can deploy easily to all kinds of platforms? Example for a very successful Frontend application: https://github.com/jgraph/drawio Interesting discussion a few years ago: https://twitter.com/tuxtor/status/1167454864932319232 -> Electron is de facto the standard for Desktop Applications at least at the moment. https://medium.com/the-web-tub/electron-on-cordova-29ede5d6d789 https://www.reddit.com/r/javahelp/comments/lrg2ho/web_app_vs_java_fx_vs_electron_js/ My five cents to this conversation ;-) Luk Am Do., 23. Juni 2022 um 16:19 Uhr schrieb Sebastian Rühl : I would vote doing it as a terminal application with tcell :D https://github.com/gdamore/tcell https://github.com/gcla/gowid good example for that is termshark - Sebastian On 2022/06/23 13:47:29 Christofer Dutz wrote: Hi all, Great to see this discussion here :-) Well, I agree that going down the lane of basing something on NetBeans, Eclipse, IntelliJ, VSCode makes the tool a bit too big and complicated. Integrating something based on Eclipse into our build also would add Nightmares to that. I probably would have chosen Java/Kotlin with JavaFX ... but I would say, those who actually work on it should choose what they are comfortable with. So perhaps we could see who's actually interested, willing and able to help on the coding and then these people should discuss how to implement it. I'll be available as a "Mentor" if any help is needed in integrating that into the build or if PLC4X related help is needed. Chris -Original Message- From: Stephen Snow Sent: Donnerstag, 23. Juni 2022 15:31 To: dev@plc4x.apache.org Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X Truly, To scaffold an application that can be rapidly utilized in Java/Kotlin I would strongly recommend Quarkus from https://quarkus.io/. It likes to use the GraalVM and readily can build out to native or native in container. It can be deployed ootb in development mode with ci happening as you develop in netbeans say. Just my 2c worth. Regards, Stephen On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: I been wrapping head around this as I had a necessity to watch CANopen traffic decoded by plc4x. I ended up building fairly basic web page which displayed most recent frames (so I could stay with local socketcan transport), yet it was far from useful or portable. Recently I also did struggle a lot with bloody modbus. My usecases are often focused on making the commissioning to generate further software configuration. My little research in topic of desktop applications ended up at javafx which allows to make it small and compile to native binary thanks to graal. My experiences with RCP platforms are rather bad (I did some small Eclipse RCP projects), even if I have no issues with OSGi. Problem I see in RCP platforms is sparse development documentation, I also perceive both Eclipse RCP and Netbeans as focused mainly on organizing navigation while strongly depending on UI frameworks (jface/swt or swing/awt). Effectively you still need to build tables and so on, but with much more overhead. Please do not take above too seriously in context of Netbeans, I don't know much about it and its flexibility. I don't know how to build it with Maven, hence it feels strange. For the Kotlin stuff and frameworks there - I can say that any UI project which Google is pushing is a red flag to me. Looking at GWT, Angular 1.x (I used both) I simply fear that they can step back from "experiment" after a year or two leaving everything to the community. I looked at kootlin and javafx a while ago and there is not much happening there. I don't know if is because of maturity, javafx issues or shift to other UI approaches. As I had no time to work on it I just postponed that to a future. Yet, I still dream from time to time about proper "fieldbus.app". ;-) Cheers, Łukasz On 23.06.2022 14:46, Michal Harakal wrote: Hi, I would be also interested in, having a strong opinion on technology stack, but fully open to design and
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
What about https://cordova.apache.org/ and creating an Electron App? https://cordova.apache.org/docs/en/11.x/guide/platforms/electron/index.html So we can deploy easily to all kinds of platforms? Example for a very successful Frontend application: https://github.com/jgraph/drawio Interesting discussion a few years ago: https://twitter.com/tuxtor/status/1167454864932319232 -> Electron is de facto the standard for Desktop Applications at least at the moment. https://medium.com/the-web-tub/electron-on-cordova-29ede5d6d789 https://www.reddit.com/r/javahelp/comments/lrg2ho/web_app_vs_java_fx_vs_electron_js/ My five cents to this conversation ;-) Luk Am Do., 23. Juni 2022 um 16:19 Uhr schrieb Sebastian Rühl : > I would vote doing it as a terminal application with tcell :D > > https://github.com/gdamore/tcell > https://github.com/gcla/gowid > > good example for that is termshark > > - Sebastian > > On 2022/06/23 13:47:29 Christofer Dutz wrote: > > Hi all, > > > > Great to see this discussion here :-) > > > > Well, I agree that going down the lane of basing something on NetBeans, > Eclipse, IntelliJ, VSCode makes the tool a bit too big and complicated. > Integrating something based on Eclipse into our build also would add > Nightmares to that. > > > > I probably would have chosen Java/Kotlin with JavaFX ... but I would > say, those who actually work on it should choose what they are comfortable > with. > > > > So perhaps we could see who's actually interested, willing and able to > help on the coding and then these people should discuss how to implement > it. I'll be available as a "Mentor" if any help is needed in integrating > that into the build or if PLC4X related help is needed. > > > > Chris > > > > > > -Original Message- > > From: Stephen Snow > > Sent: Donnerstag, 23. Juni 2022 15:31 > > To: dev@plc4x.apache.org > > Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing > PLCs with PLC4X > > > > Truly, > > To scaffold an application that can be rapidly utilized in Java/Kotlin I > would strongly recommend Quarkus from https://quarkus.io/. It likes to > use the GraalVM and readily can build out to native or native in container. > It can be deployed ootb in development mode with ci happening as you > develop in netbeans say. > > > > Just my 2c worth. > > > > Regards, > > Stephen > > On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > > > I been wrapping head around this as I had a necessity to watch CANopen > > > traffic decoded by plc4x. I ended up building fairly basic web page > > > which displayed most recent frames (so I could stay with local > > > socketcan transport), yet it was far from useful or portable. Recently > > > I also did struggle a lot with bloody modbus. My usecases are often > > > focused on making the commissioning to generate further software > > > configuration. > > > > > > My little research in topic of desktop applications ended up at javafx > > > which allows to make it small and compile to native binary thanks to > > > graal. My experiences with RCP platforms are rather bad (I did some > > > small Eclipse RCP projects), even if I have no issues with OSGi. > > > Problem > > > I see in RCP platforms is sparse development documentation, I also > > > perceive both Eclipse RCP and Netbeans as focused mainly on organizing > > > navigation while strongly depending on UI frameworks (jface/swt or > > > swing/awt). Effectively you still need to build tables and so on, but > > > with much more overhead. > > > Please do not take above too seriously in context of Netbeans, I don't > > > know much about it and its flexibility. I don't know how to build it > > > with Maven, hence it feels strange. > > > For the Kotlin stuff and frameworks there - I can say that any UI > > > project which Google is pushing is a red flag to me. Looking at GWT, > > > Angular 1.x (I used both) I simply fear that they can step back from > > > "experiment" after a year or two leaving everything to the community. > > > I > > > looked at kootlin and javafx a while ago and there is not much > > > happening there. I don't know if is because of maturity, javafx issues > > > or shift to other UI approaches. > > > > > > As I had no time to work on it I just postponed that to a future. > > > Yet, I > > > still dream from time to time about proper "fieldbus.app". ;-) > > > > > > Cheers, > > > Łukasz > > > > > > On 23.06.2022 14:46, Michal Harakal wrote: > > > > Hi, > > > > > > > > I would be also interested in, having a strong opinion on technology > > > > stack, but fully open to design and function. > > > > > > > > My suggestion is writing a Desktop App with Kotlin Jetpack Compose > > > > for Desktop: > > > > > > > > Props: > > > > * modern, state of the art, way to write reactive UI (natural way to > > > > implement unidirectional data flows architectures) > > > > * JVM target > > > > * open source, backed by Google And Jetbrains (they use it in their > > > > critical products) > >
RE: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
I would vote doing it as a terminal application with tcell :D https://github.com/gdamore/tcell https://github.com/gcla/gowid good example for that is termshark - Sebastian On 2022/06/23 13:47:29 Christofer Dutz wrote: > Hi all, > > Great to see this discussion here :-) > > Well, I agree that going down the lane of basing something on NetBeans, > Eclipse, IntelliJ, VSCode makes the tool a bit too big and complicated. > Integrating something based on Eclipse into our build also would add > Nightmares to that. > > I probably would have chosen Java/Kotlin with JavaFX ... but I would say, > those who actually work on it should choose what they are comfortable with. > > So perhaps we could see who's actually interested, willing and able to help > on the coding and then these people should discuss how to implement it. I'll > be available as a "Mentor" if any help is needed in integrating that into the > build or if PLC4X related help is needed. > > Chris > > > -Original Message- > From: Stephen Snow > Sent: Donnerstag, 23. Juni 2022 15:31 > To: dev@plc4x.apache.org > Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs > with PLC4X > > Truly, > To scaffold an application that can be rapidly utilized in Java/Kotlin I > would strongly recommend Quarkus from https://quarkus.io/. It likes to use > the GraalVM and readily can build out to native or native in container. It > can be deployed ootb in development mode with ci happening as you develop in > netbeans say. > > Just my 2c worth. > > Regards, > Stephen > On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > > I been wrapping head around this as I had a necessity to watch CANopen > > traffic decoded by plc4x. I ended up building fairly basic web page > > which displayed most recent frames (so I could stay with local > > socketcan transport), yet it was far from useful or portable. Recently > > I also did struggle a lot with bloody modbus. My usecases are often > > focused on making the commissioning to generate further software > > configuration. > > > > My little research in topic of desktop applications ended up at javafx > > which allows to make it small and compile to native binary thanks to > > graal. My experiences with RCP platforms are rather bad (I did some > > small Eclipse RCP projects), even if I have no issues with OSGi. > > Problem > > I see in RCP platforms is sparse development documentation, I also > > perceive both Eclipse RCP and Netbeans as focused mainly on organizing > > navigation while strongly depending on UI frameworks (jface/swt or > > swing/awt). Effectively you still need to build tables and so on, but > > with much more overhead. > > Please do not take above too seriously in context of Netbeans, I don't > > know much about it and its flexibility. I don't know how to build it > > with Maven, hence it feels strange. > > For the Kotlin stuff and frameworks there - I can say that any UI > > project which Google is pushing is a red flag to me. Looking at GWT, > > Angular 1.x (I used both) I simply fear that they can step back from > > "experiment" after a year or two leaving everything to the community. > > I > > looked at kootlin and javafx a while ago and there is not much > > happening there. I don't know if is because of maturity, javafx issues > > or shift to other UI approaches. > > > > As I had no time to work on it I just postponed that to a future. > > Yet, I > > still dream from time to time about proper "fieldbus.app". ;-) > > > > Cheers, > > Łukasz > > > > On 23.06.2022 14:46, Michal Harakal wrote: > > > Hi, > > > > > > I would be also interested in, having a strong opinion on technology > > > stack, but fully open to design and function. > > > > > > My suggestion is writing a Desktop App with Kotlin Jetpack Compose > > > for Desktop: > > > > > > Props: > > > * modern, state of the art, way to write reactive UI (natural way to > > > implement unidirectional data flows architectures) > > > * JVM target > > > * open source, backed by Google And Jetbrains (they use it in their > > > critical products) > > > * Kotlin provides 1A class interoperability support with Java and > > > JVM > > > * since Jetpack Compose is originally created and used by Android, > > > you can have an Android App out of the box, with little effort > > > * integration with Jetbrains Intellij > > > * even if you don't know Jetpack Compose Framewrok, you can > > > contribute too with your Java/Kotlin skills imedialtely on > > > domain/bussines etc. parts of code .. > > > * easy to learn > > > * with multiplatform support are native apps with their native UI > > > frameworks (e.g. iOS) > > > > > > Cons: > > > * Still in Alpha > > > * backed by Google and Jetbrains > > > * Kotlin is probably not the number one programming language here > > > > > > > > > Best regards, > > > Michal > > > > Christofer Dutz hat am 23.06.2022 > > > > 10:55 geschrieben: > > > >
RE: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hi all, Great to see this discussion here :-) Well, I agree that going down the lane of basing something on NetBeans, Eclipse, IntelliJ, VSCode makes the tool a bit too big and complicated. Integrating something based on Eclipse into our build also would add Nightmares to that. I probably would have chosen Java/Kotlin with JavaFX ... but I would say, those who actually work on it should choose what they are comfortable with. So perhaps we could see who's actually interested, willing and able to help on the coding and then these people should discuss how to implement it. I'll be available as a "Mentor" if any help is needed in integrating that into the build or if PLC4X related help is needed. Chris -Original Message- From: Stephen Snow Sent: Donnerstag, 23. Juni 2022 15:31 To: dev@plc4x.apache.org Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X Truly, To scaffold an application that can be rapidly utilized in Java/Kotlin I would strongly recommend Quarkus from https://quarkus.io/. It likes to use the GraalVM and readily can build out to native or native in container. It can be deployed ootb in development mode with ci happening as you develop in netbeans say. Just my 2c worth. Regards, Stephen On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > I been wrapping head around this as I had a necessity to watch CANopen > traffic decoded by plc4x. I ended up building fairly basic web page > which displayed most recent frames (so I could stay with local > socketcan transport), yet it was far from useful or portable. Recently > I also did struggle a lot with bloody modbus. My usecases are often > focused on making the commissioning to generate further software > configuration. > > My little research in topic of desktop applications ended up at javafx > which allows to make it small and compile to native binary thanks to > graal. My experiences with RCP platforms are rather bad (I did some > small Eclipse RCP projects), even if I have no issues with OSGi. > Problem > I see in RCP platforms is sparse development documentation, I also > perceive both Eclipse RCP and Netbeans as focused mainly on organizing > navigation while strongly depending on UI frameworks (jface/swt or > swing/awt). Effectively you still need to build tables and so on, but > with much more overhead. > Please do not take above too seriously in context of Netbeans, I don't > know much about it and its flexibility. I don't know how to build it > with Maven, hence it feels strange. > For the Kotlin stuff and frameworks there - I can say that any UI > project which Google is pushing is a red flag to me. Looking at GWT, > Angular 1.x (I used both) I simply fear that they can step back from > "experiment" after a year or two leaving everything to the community. > I > looked at kootlin and javafx a while ago and there is not much > happening there. I don't know if is because of maturity, javafx issues > or shift to other UI approaches. > > As I had no time to work on it I just postponed that to a future. > Yet, I > still dream from time to time about proper "fieldbus.app". ;-) > > Cheers, > Łukasz > > On 23.06.2022 14:46, Michal Harakal wrote: > > Hi, > > > > I would be also interested in, having a strong opinion on technology > > stack, but fully open to design and function. > > > > My suggestion is writing a Desktop App with Kotlin Jetpack Compose > > for Desktop: > > > > Props: > > * modern, state of the art, way to write reactive UI (natural way to > > implement unidirectional data flows architectures) > > * JVM target > > * open source, backed by Google And Jetbrains (they use it in their > > critical products) > > * Kotlin provides 1A class interoperability support with Java and > > JVM > > * since Jetpack Compose is originally created and used by Android, > > you can have an Android App out of the box, with little effort > > * integration with Jetbrains Intellij > > * even if you don't know Jetpack Compose Framewrok, you can > > contribute too with your Java/Kotlin skills imedialtely on > > domain/bussines etc. parts of code .. > > * easy to learn > > * with multiplatform support are native apps with their native UI > > frameworks (e.g. iOS) > > > > Cons: > > * Still in Alpha > > * backed by Google and Jetbrains > > * Kotlin is probably not the number one programming language here > > > > > > Best regards, > > Michal > > > Christofer Dutz hat am 23.06.2022 > > > 10:55 geschrieben: > > > > > > > > > Hi all, > > > > > > Again, I was in need of a simple application to simply monitor the > > > values on a Modbus device (I’m currently configuring my Wago > > > PFC200 Modbus Slave interface). > > > I could use stuff like the “Modbus Poll” GUI tool, but my trial > > > expired and I’m not willing to pay 130€ for this limited > > > functionality. > > > > > > So, I thought, it would be an awesome addition to PLC4X if we had > > >
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Truly, To scaffold an application that can be rapidly utilized in Java/Kotlin I would strongly recommend Quarkus from https://quarkus.io/. It likes to use the GraalVM and readily can build out to native or native in container. It can be deployed ootb in development mode with ci happening as you develop in netbeans say. Just my 2c worth. Regards, Stephen On Thu, 2022-06-23 at 14:59 +0200, Łukasz Dywicki wrote: > I been wrapping head around this as I had a necessity to watch > CANopen > traffic decoded by plc4x. I ended up building fairly basic web page > which displayed most recent frames (so I could stay with local > socketcan > transport), yet it was far from useful or portable. Recently I also > did > struggle a lot with bloody modbus. My usecases are often focused on > making the commissioning to generate further software configuration. > > My little research in topic of desktop applications ended up at > javafx > which allows to make it small and compile to native binary thanks to > graal. My experiences with RCP platforms are rather bad (I did some > small Eclipse RCP projects), even if I have no issues with OSGi. > Problem > I see in RCP platforms is sparse development documentation, I also > perceive both Eclipse RCP and Netbeans as focused mainly on > organizing > navigation while strongly depending on UI frameworks (jface/swt or > swing/awt). Effectively you still need to build tables and so on, but > with much more overhead. > Please do not take above too seriously in context of Netbeans, I > don't > know much about it and its flexibility. I don't know how to build it > with Maven, hence it feels strange. > For the Kotlin stuff and frameworks there - I can say that any UI > project which Google is pushing is a red flag to me. Looking at GWT, > Angular 1.x (I used both) I simply fear that they can step back from > "experiment" after a year or two leaving everything to the community. > I > looked at kootlin and javafx a while ago and there is not much > happening > there. I don't know if is because of maturity, javafx issues or shift > to > other UI approaches. > > As I had no time to work on it I just postponed that to a future. > Yet, I > still dream from time to time about proper "fieldbus.app". ;-) > > Cheers, > Łukasz > > On 23.06.2022 14:46, Michal Harakal wrote: > > Hi, > > > > I would be also interested in, having a strong opinion on > > technology stack, but fully open to design and function. > > > > My suggestion is writing a Desktop App with Kotlin Jetpack Compose > > for Desktop: > > > > Props: > > * modern, state of the art, way to write reactive UI (natural way > > to implement unidirectional data flows architectures) > > * JVM target > > * open source, backed by Google And Jetbrains (they use it in their > > critical products) > > * Kotlin provides 1A class interoperability support with Java and > > JVM > > * since Jetpack Compose is originally created and used by Android, > > you can have an Android App out of the box, with little effort > > * integration with Jetbrains Intellij > > * even if you don't know Jetpack Compose Framewrok, you can > > contribute too with your Java/Kotlin skills imedialtely on > > domain/bussines etc. parts of code .. > > * easy to learn > > * with multiplatform support are native apps with their native UI > > frameworks (e.g. iOS) > > > > Cons: > > * Still in Alpha > > * backed by Google and Jetbrains > > * Kotlin is probably not the number one programming language here > > > > > > Best regards, > > Michal > > > Christofer Dutz hat am 23.06.2022 > > > 10:55 geschrieben: > > > > > > > > > Hi all, > > > > > > Again, I was in need of a simple application to simply monitor > > > the values on a Modbus device (I’m currently configuring my Wago > > > PFC200 Modbus Slave interface). > > > I could use stuff like the “Modbus Poll” GUI tool, but my trial > > > expired and I’m not willing to pay 130€ for this limited > > > functionality. > > > > > > So, I thought, it would be an awesome addition to PLC4X if we had > > > some sort of GUI application, that uses the Discover > > > functionality to find possible PLCs and list them in a tree view. > > > If the use double clicks on one of these connections, it connects > > > and possibly executes the Browse functionality and lists up what > > > it finds. > > > > > > I know that I could simply start working on something like that, > > > but I thought this would also be a great thing for someone else > > > to implement as it doesn’t require too deep knowledge of PLC4X > > > internals. > > > > > > And I suck at building beautiful UIs :-) > > > > > > Anyone interested? > > > > > > Chris
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
+1 for a GUI tool. IMO, the tool should be lightweight. Netbeans is too heavy... (it comes to my experience when I used Netbeans several years ago..). And, using Netbeans, Eclipse, IDEAJ framework may reduce our coding workload, but will raise the skill bar because contributors has to know the framework well. JavaFx is good for me, a Java skill-stack programmer :D. Web based GUI is also a good choice (consider Grafana in time series area). Best, --- Xiangdong Huang School of Software, Tsinghua University Łukasz Dywicki 于2022年6月23日周四 20:59写道: > > I been wrapping head around this as I had a necessity to watch CANopen > traffic decoded by plc4x. I ended up building fairly basic web page > which displayed most recent frames (so I could stay with local socketcan > transport), yet it was far from useful or portable. Recently I also did > struggle a lot with bloody modbus. My usecases are often focused on > making the commissioning to generate further software configuration. > > My little research in topic of desktop applications ended up at javafx > which allows to make it small and compile to native binary thanks to > graal. My experiences with RCP platforms are rather bad (I did some > small Eclipse RCP projects), even if I have no issues with OSGi. Problem > I see in RCP platforms is sparse development documentation, I also > perceive both Eclipse RCP and Netbeans as focused mainly on organizing > navigation while strongly depending on UI frameworks (jface/swt or > swing/awt). Effectively you still need to build tables and so on, but > with much more overhead. > Please do not take above too seriously in context of Netbeans, I don't > know much about it and its flexibility. I don't know how to build it > with Maven, hence it feels strange. > For the Kotlin stuff and frameworks there - I can say that any UI > project which Google is pushing is a red flag to me. Looking at GWT, > Angular 1.x (I used both) I simply fear that they can step back from > "experiment" after a year or two leaving everything to the community. I > looked at kootlin and javafx a while ago and there is not much happening > there. I don't know if is because of maturity, javafx issues or shift to > other UI approaches. > > As I had no time to work on it I just postponed that to a future. Yet, I > still dream from time to time about proper "fieldbus.app". ;-) > > Cheers, > Łukasz > > On 23.06.2022 14:46, Michal Harakal wrote: > > Hi, > > > > I would be also interested in, having a strong opinion on technology stack, > > but fully open to design and function. > > > > My suggestion is writing a Desktop App with Kotlin Jetpack Compose for > > Desktop: > > > > Props: > > * modern, state of the art, way to write reactive UI (natural way to > > implement unidirectional data flows architectures) > > * JVM target > > * open source, backed by Google And Jetbrains (they use it in their > > critical products) > > * Kotlin provides 1A class interoperability support with Java and JVM > > * since Jetpack Compose is originally created and used by Android, you can > > have an Android App out of the box, with little effort > > * integration with Jetbrains Intellij > > * even if you don't know Jetpack Compose Framewrok, you can contribute too > > with your Java/Kotlin skills imedialtely on domain/bussines etc. parts of > > code .. > > * easy to learn > > * with multiplatform support are native apps with their native UI > > frameworks (e.g. iOS) > > > > Cons: > > * Still in Alpha > > * backed by Google and Jetbrains > > * Kotlin is probably not the number one programming language here > > > > > > Best regards, > > Michal > >> Christofer Dutz hat am 23.06.2022 10:55 > >> geschrieben: > >> > >> > >> Hi all, > >> > >> Again, I was in need of a simple application to simply monitor the values > >> on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave > >> interface). > >> I could use stuff like the “Modbus Poll” GUI tool, but my trial expired > >> and I’m not willing to pay 130€ for this limited functionality. > >> > >> So, I thought, it would be an awesome addition to PLC4X if we had some > >> sort of GUI application, that uses the Discover functionality to find > >> possible PLCs and list them in a tree view. > >> If the use double clicks on one of these connections, it connects and > >> possibly executes the Browse functionality and lists up what it finds. > >> > >> I know that I could simply start working on something like that, but I > >> thought this would also be a great thing for someone else to implement as > >> it doesn’t require too deep knowledge of PLC4X internals. > >> > >> And I suck at building beautiful UIs :-) > >> > >> Anyone interested? > >> > >> Chris
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
I been wrapping head around this as I had a necessity to watch CANopen traffic decoded by plc4x. I ended up building fairly basic web page which displayed most recent frames (so I could stay with local socketcan transport), yet it was far from useful or portable. Recently I also did struggle a lot with bloody modbus. My usecases are often focused on making the commissioning to generate further software configuration. My little research in topic of desktop applications ended up at javafx which allows to make it small and compile to native binary thanks to graal. My experiences with RCP platforms are rather bad (I did some small Eclipse RCP projects), even if I have no issues with OSGi. Problem I see in RCP platforms is sparse development documentation, I also perceive both Eclipse RCP and Netbeans as focused mainly on organizing navigation while strongly depending on UI frameworks (jface/swt or swing/awt). Effectively you still need to build tables and so on, but with much more overhead. Please do not take above too seriously in context of Netbeans, I don't know much about it and its flexibility. I don't know how to build it with Maven, hence it feels strange. For the Kotlin stuff and frameworks there - I can say that any UI project which Google is pushing is a red flag to me. Looking at GWT, Angular 1.x (I used both) I simply fear that they can step back from "experiment" after a year or two leaving everything to the community. I looked at kootlin and javafx a while ago and there is not much happening there. I don't know if is because of maturity, javafx issues or shift to other UI approaches. As I had no time to work on it I just postponed that to a future. Yet, I still dream from time to time about proper "fieldbus.app". ;-) Cheers, Łukasz On 23.06.2022 14:46, Michal Harakal wrote: Hi, I would be also interested in, having a strong opinion on technology stack, but fully open to design and function. My suggestion is writing a Desktop App with Kotlin Jetpack Compose for Desktop: Props: * modern, state of the art, way to write reactive UI (natural way to implement unidirectional data flows architectures) * JVM target * open source, backed by Google And Jetbrains (they use it in their critical products) * Kotlin provides 1A class interoperability support with Java and JVM * since Jetpack Compose is originally created and used by Android, you can have an Android App out of the box, with little effort * integration with Jetbrains Intellij * even if you don't know Jetpack Compose Framewrok, you can contribute too with your Java/Kotlin skills imedialtely on domain/bussines etc. parts of code .. * easy to learn * with multiplatform support are native apps with their native UI frameworks (e.g. iOS) Cons: * Still in Alpha * backed by Google and Jetbrains * Kotlin is probably not the number one programming language here Best regards, Michal Christofer Dutz hat am 23.06.2022 10:55 geschrieben: Hi all, Again, I was in need of a simple application to simply monitor the values on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave interface). I could use stuff like the “Modbus Poll” GUI tool, but my trial expired and I’m not willing to pay 130€ for this limited functionality. So, I thought, it would be an awesome addition to PLC4X if we had some sort of GUI application, that uses the Discover functionality to find possible PLCs and list them in a tree view. If the use double clicks on one of these connections, it connects and possibly executes the Browse functionality and lists up what it finds. I know that I could simply start working on something like that, but I thought this would also be a great thing for someone else to implement as it doesn’t require too deep knowledge of PLC4X internals. And I suck at building beautiful UIs :-) Anyone interested? Chris
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hi, I would be also interested in, having a strong opinion on technology stack, but fully open to design and function. My suggestion is writing a Desktop App with Kotlin Jetpack Compose for Desktop: Props: * modern, state of the art, way to write reactive UI (natural way to implement unidirectional data flows architectures) * JVM target * open source, backed by Google And Jetbrains (they use it in their critical products) * Kotlin provides 1A class interoperability support with Java and JVM * since Jetpack Compose is originally created and used by Android, you can have an Android App out of the box, with little effort * integration with Jetbrains Intellij * even if you don't know Jetpack Compose Framewrok, you can contribute too with your Java/Kotlin skills imedialtely on domain/bussines etc. parts of code .. * easy to learn * with multiplatform support are native apps with their native UI frameworks (e.g. iOS) Cons: * Still in Alpha * backed by Google and Jetbrains * Kotlin is probably not the number one programming language here Best regards, Michal > Christofer Dutz hat am 23.06.2022 10:55 > geschrieben: > > > Hi all, > > Again, I was in need of a simple application to simply monitor the values on > a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave > interface). > I could use stuff like the “Modbus Poll” GUI tool, but my trial expired and > I’m not willing to pay 130€ for this limited functionality. > > So, I thought, it would be an awesome addition to PLC4X if we had some sort > of GUI application, that uses the Discover functionality to find possible > PLCs and list them in a tree view. > If the use double clicks on one of these connections, it connects and > possibly executes the Browse functionality and lists up what it finds. > > I know that I could simply start working on something like that, but I > thought this would also be a great thing for someone else to implement as it > doesn’t require too deep knowledge of PLC4X internals. > > And I suck at building beautiful UIs :-) > > Anyone interested? > > Chris
RE: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hi to all of you, I agree that if we use NetBeans it’s definitiely “eating our own (Apache) dogfood” … and yes it’s quite well established. Probably you can create Standalone Applications with Netbeans similar to how you can do that with Eclipse. However, do I imagine, that this would probably be a bit of overkill for this usecase. Right now I was thinking of a single runnable fat-jar that you just double click and a window opens, that per default simply triggers Discover on all protocols and network devices on the current system and simply lists out the results. And @nicolo … I was more thinking about something totally generic … as PLC4X is totally generic … that you sort of have a list of resources, if the connection supports “Browse” … if you select a value you can read and wrtite it. This is where you could probably go nuts with ideas … like auto-refresh, read into a table so you can see the values over time, draw a graph, … If the Connection doesn’t support Browse, we could simply have a text-field for entering PLC4X Field Queries and execute these. But that was just my idea … if anyone wants to do it differently … go ahead … I mean … he ho scratches, get’s to decide how and where ;-) Chris From: Nicolò Toscani Sent: Donnerstag, 23. Juni 2022 14:21 To: dev@plc4x.apache.org Subject: Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X Hi, This is my application developed to analyze the Modbus protocol. Maybe it can be useful as a starting point for development. https://github.com/NicoloToscani/ModbusClient [cid:ii_l4qzt6c10] Nicolò Toscani Il giorno gio 23 giu 2022 alle ore 10:55 Christofer Dutz mailto:christofer.d...@c-ware.de>> ha scritto: Hi all, Again, I was in need of a simple application to simply monitor the values on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave interface). I could use stuff like the “Modbus Poll” GUI tool, but my trial expired and I’m not willing to pay 130€ for this limited functionality. So, I thought, it would be an awesome addition to PLC4X if we had some sort of GUI application, that uses the Discover functionality to find possible PLCs and list them in a tree view. If the use double clicks on one of these connections, it connects and possibly executes the Browse functionality and lists up what it finds. I know that I could simply start working on something like that, but I thought this would also be a great thing for someone else to implement as it doesn’t require too deep knowledge of PLC4X internals. And I suck at building beautiful UIs :-) Anyone interested? Chris
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hi, This is my application developed to analyze the Modbus protocol. Maybe it can be useful as a starting point for development. https://github.com/NicoloToscani/ModbusClient [image: 30ec4842-0443-11e7-829d-4f4db6aedab2.png] Nicolò Toscani Il giorno gio 23 giu 2022 alle ore 10:55 Christofer Dutz < christofer.d...@c-ware.de> ha scritto: > Hi all, > > Again, I was in need of a simple application to simply monitor the values > on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave > interface). > I could use stuff like the “Modbus Poll” GUI tool, but my trial expired > and I’m not willing to pay 130€ for this limited functionality. > > So, I thought, it would be an awesome addition to PLC4X if we had some > sort of GUI application, that uses the Discover functionality to find > possible PLCs and list them in a tree view. > If the use double clicks on one of these connections, it connects and > possibly executes the Browse functionality and lists up what it finds. > > I know that I could simply start working on something like that, but I > thought this would also be a great thing for someone else to implement as > it doesn’t require too deep knowledge of PLC4X internals. > > And I suck at building beautiful UIs :-) > > Anyone interested? > > Chris > >
Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hello, +1, I agree with this proposal, eventually I have been working with NetBeans modules to implement this IDE. Why NetBeans? Pro 1. You already implement your modularity scheme for the grouping of the libraries. 2. Well-known standard interface. 3. Tools for content integration (persistence, dynamization and help management). 4. Data visualization tools already available. 5. Graphics module already available. 6. And of course It is from the Apache Foundation family (we eat our own snack). Against 1. It has its learning curve. Especially the "Lookup" concept. 2. It is not in vogue. For example against JavaFX. 3. It is bulky. In the end, the most important thing is that we do not invent the wheel, but rather that we use it. Regarding the integration of the PLC4X drivers, and it is a point that I don't know if it has been worked on, it is the representation of the metadata, but that is another topic. My grain of sand. El jue, 23 jun 2022 a las 4:55, Christofer Dutz () escribió: > Hi all, > > Again, I was in need of a simple application to simply monitor the values > on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave > interface). > I could use stuff like the “Modbus Poll” GUI tool, but my trial expired > and I’m not willing to pay 130€ for this limited functionality. > > So, I thought, it would be an awesome addition to PLC4X if we had some > sort of GUI application, that uses the Discover functionality to find > possible PLCs and list them in a tree view. > If the use double clicks on one of these connections, it connects and > possibly executes the Browse functionality and lists up what it finds. > > I know that I could simply start working on something like that, but I > thought this would also be a great thing for someone else to implement as > it doesn’t require too deep knowledge of PLC4X internals. > > And I suck at building beautiful UIs :-) > > Anyone interested? > > Chris > > -- *CEOS Automatización, C.A.* *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,* *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,* *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI* *Ing. César García* *Cel: +58 414-760.98.95* *Hotline Técnica SIEMENS: 0800 1005080* *Email: support.aan.automat...@siemens.com *
[PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X
Hi all, Again, I was in need of a simple application to simply monitor the values on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave interface). I could use stuff like the “Modbus Poll” GUI tool, but my trial expired and I’m not willing to pay 130€ for this limited functionality. So, I thought, it would be an awesome addition to PLC4X if we had some sort of GUI application, that uses the Discover functionality to find possible PLCs and list them in a tree view. If the use double clicks on one of these connections, it connects and possibly executes the Browse functionality and lists up what it finds. I know that I could simply start working on something like that, but I thought this would also be a great thing for someone else to implement as it doesn’t require too deep knowledge of PLC4X internals. And I suck at building beautiful UIs :-) Anyone interested? Chris