Show HN: Applin – define mobile UI in server code

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • applin-rails-demo

    Example of how to use applin-rails.

  • Hi HN, I'm a backend engineer who made an app and didn’t like the tools. Then I made the thing I needed: a mobile app toolkit for backend engineers. I'm calling it Applin™. :)

    https://www.applin.dev/

    How it works: You make an HTTP server that returns JSON objects that define page content. Then you make a mobile app that calls the server and renders the pages using native widgets. Applin is the server and client libraries that make this easy.

    Server libraries: Currently there's Rails https://rubygems.org/gems/applin-rails and https://github.com/leonhard-llc/applin-rails-demo . Which languages shall I add next?

    Client libraries: Currently there's iOS https://github.com/leonhard-llc/applin-ios . Which platform shall I add next?

    They say, if you're not embarrassed by the quality, then you're launching too late. Applin is usable and not yet pretty and not yet comprehensive. I need customer feedback on priority and requirements.

    To try it out right away, use https://apps.apple.com/us/app/applin-tester/id6464230000 and tap the rails-demo link.

    The hardest part of this project was making the client update the page without losing keyboard focus and scrolling to the top. To do that, the code must pick the correct existing widgets for each new version of the widget tree. The current (working) version performs five passes over the widget tree: first picking focused widgets and their ancestors, then focus-able widgets, then other stateful widgets, then widgets with matching attributes (label, URL, etc.), and finally former siblings of the correct type. Then it creates any new widgets. Now that it has widgets for the new tree, the code updates the widget tree without removing any sub-widget that will be added again. This prevents losing keyboard focus and prevents resetting scroll positions. Here's the code:

    https://github.com/leonhard-llc/applin-ios/blob/main/Sources/ApplinIos/page/widget_cache.swift

    Please try out Applin, use it at your company (buy a license), and let me know what features to build first! Post a comment here, add a GitHub issue, or email me at [email protected] .

    To get updates, join https://groups.google.com/g/applin-announce .

    Thanks for reading! :) --Michael

  • applin-ios

    Applin™ iOS Client Library

  • Hi HN, I'm a backend engineer who made an app and didn’t like the tools. Then I made the thing I needed: a mobile app toolkit for backend engineers. I'm calling it Applin™. :)

    https://www.applin.dev/

    How it works: You make an HTTP server that returns JSON objects that define page content. Then you make a mobile app that calls the server and renders the pages using native widgets. Applin is the server and client libraries that make this easy.

    Server libraries: Currently there's Rails https://rubygems.org/gems/applin-rails and https://github.com/leonhard-llc/applin-rails-demo . Which languages shall I add next?

    Client libraries: Currently there's iOS https://github.com/leonhard-llc/applin-ios . Which platform shall I add next?

    They say, if you're not embarrassed by the quality, then you're launching too late. Applin is usable and not yet pretty and not yet comprehensive. I need customer feedback on priority and requirements.

    To try it out right away, use https://apps.apple.com/us/app/applin-tester/id6464230000 and tap the rails-demo link.

    The hardest part of this project was making the client update the page without losing keyboard focus and scrolling to the top. To do that, the code must pick the correct existing widgets for each new version of the widget tree. The current (working) version performs five passes over the widget tree: first picking focused widgets and their ancestors, then focus-able widgets, then other stateful widgets, then widgets with matching attributes (label, URL, etc.), and finally former siblings of the correct type. Then it creates any new widgets. Now that it has widgets for the new tree, the code updates the widget tree without removing any sub-widget that will be added again. This prevents losing keyboard focus and prevents resetting scroll positions. Here's the code:

    https://github.com/leonhard-llc/applin-ios/blob/main/Sources/ApplinIos/page/widget_cache.swift

    Please try out Applin, use it at your company (buy a license), and let me know what features to build first! Post a comment here, add a GitHub issue, or email me at [email protected] .

    To get updates, join https://groups.google.com/g/applin-announce .

    Thanks for reading! :) --Michael

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • If you want your Ruby application to be efficient, keep it updated!

    1 project | dev.to | 11 May 2024
  • How does rails knows that migration is pending?

    1 project | dev.to | 11 May 2024
  • Gamedev.js Jam 2024 winners announced!

    1 project | dev.to | 10 May 2024
  • Popover API

    1 project | news.ycombinator.com | 10 May 2024
  • Should we be adding Keyboard Shortcuts to our websites?

    1 project | dev.to | 10 May 2024