Code Monkey home page Code Monkey logo

Comments (5)

kataras avatar kataras commented on May 14, 2024 1

If you or somebody else can do something better/or different termux you have the green light to start.

The GUI is rendered by the golang

I would be into that but I don't have any personal experience with that field, I am not used to code something on production level when I am not allowed to because I have not the experience to do that.

@joeblew99 The only thing I can do for that is to create you a repository on the iris-contrib organization and give ownership of that repo to start push your code and ideas there.

from iris.

kataras avatar kataras commented on May 14, 2024

Is running iris on mobiles and desktops considered plausible ?

I don't know it depends on your needs, but I'm running an iris web server in my mobile phone for personal file transferring and message contacts, works perfectly. There is an article I wrote about running Iris over android which got a lot of reactions and good feedback, you can take a look here: https://twitter.com/ThePracticalDev/status/892022594031017988

The MCV functionality is server side and so the client will refresh each page. But if it's fast enough it can be enough for many apps.

It's fast enough, it is not like other MVC implementations you used to watch, this is Iris so they should run fast otherwise I will never push that feature here. Didn't you see the benchmarks yet?

Yesterday I wrote an article about this on hackernoon.com, follow the link if you're interesting:
https://hackernoon.com/go-vs-net-core-in-terms-of-http-performance-7535a61b67b8

Iris MVC vs Iris Handlers benchmarks can be found at the _benchmarks folder, read its README.md, at the end it shows the difference between the three of them ( .NET Core, Iris MVC, Iris Handlers)

Thank you!

from iris.

joeblew99 avatar joeblew99 commented on May 14, 2024

thanks. benchmark looks good. Ha i used to do c# for 10 years. never going back.

As far as mobile, what about writing a webview into iris or as as some sort of contrib ? There are bits of golang based webviews floating around for android and ios

from iris.

joeblew99 avatar joeblew99 commented on May 14, 2024

@kataras
The example you gave ( https://dev.to/kataras/how-to-turn-an-android-device-into-a-web-server. ) is not really practical. no one is going to install termux.

There is another way.

The GUI is rendered by the golang on the mobile using MVC. GUI is stupid dumb and this is really what we want.

Screen Layout / responsiveness is now controlled at golang level. We can sniff the device and decide the index.html to server.
Fragment rendering can also render based on device types

When the user naviagets we rerender the whoel page.

Comms now is 100% push based.

When Server changes the data...

  • Data Mutations arrive at Mobile and is transacted to the DB.
  • DB renders HTML Materialised View Fragments that are pushed to GUI & patched into the right part of the DOM Tree.

WHen the user changes the data ...

  • Data is sent to golang as a Mutation.
  • Flow is now exactly like when data arrives from the Server (see above)
  • Page scroll is preserved between refreshes, so that scroll location is maintained.

The GUI can have some basic JS for any needed interactivity for Users to interact.
However, ALL View state is held in golang DB.

from iris.

joeblew99 avatar joeblew99 commented on May 14, 2024

@kataras i am working on this in my own repo for now.

will holler if i have questions...

from iris.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.