applin-rust
You can use the Applinβ’ Server-Driven UI framework to build a mobile app with only server-side code.
Use a provided boilerplate app for the frontend. Use this library for the backend.
Documentation: https://www.applin.dev/docs/
Example and live demo: https://github.com/leonhard-llc/applin-rust-demo
Cargo Geiger Safety Report
Metric output format: x/y
x = unsafe code used by the build
y = total unsafe code found in the crate
Symbols:
π = No `unsafe` usage found, declares #![forbid(unsafe_code)]
β = No `unsafe` usage found, missing #![forbid(unsafe_code)]
β’οΈ = `unsafe` usage found
Functions Expressions Impls Traits Methods Dependency
0/0 0/0 0/0 0/0 0/0 π applin 0.1.3
0/0 0/5 0/0 0/0 0/0 β βββ serde 1.0.190
0/0 0/0 0/0 0/0 0/0 β β βββ serde_derive 1.0.190
0/0 0/15 0/0 0/0 0/3 β β βββ proc-macro2 1.0.69
0/0 0/4 0/0 0/0 0/0 β β β βββ unicode-ident 1.0.12
0/0 0/0 0/0 0/0 0/0 β β βββ quote 1.0.33
0/0 0/15 0/0 0/0 0/3 β β β βββ proc-macro2 1.0.69
0/0 0/79 0/3 0/0 0/2 β β βββ syn 2.0.38
0/0 0/15 0/0 0/0 0/3 β β βββ proc-macro2 1.0.69
0/0 0/0 0/0 0/0 0/0 β β βββ quote 1.0.33
0/0 0/4 0/0 0/0 0/0 β β βββ unicode-ident 1.0.12
0/0 0/0 0/0 0/0 0/0 π βββ servlin 0.4.0
0/0 0/4 0/0 0/0 0/2 β βββ async-fs 1.6.0
0/4 0/230 0/40 0/0 0/12 β β βββ async-lock 2.8.0
0/0 0/116 0/8 0/0 0/0 β β β βββ event-listener 2.5.3
0/0 0/0 0/0 0/0 0/0 π β βββ blocking 1.4.1
0/0 0/0 0/0 0/0 0/0 π β β βββ async-channel 1.9.0
0/0 0/170 0/2 0/0 0/1 β β β β βββ concurrent-queue 2.3.0
0/4 0/94 0/16 0/0 0/3 β β β β β βββ crossbeam-utils 0.8.16
0/0 0/0 0/0 0/0 0/0 β β β β β βββ cfg-if 1.0.0
0/0 0/116 0/8 0/0 0/0 β β β β βββ event-listener 2.5.3
0/0 0/37 0/2 0/0 0/0 β β β β βββ futures-core 0.3.29
0/4 0/230 0/40 0/0 0/12 β β β βββ async-lock 2.8.0
0/1 0/864 0/4 0/0 0/12 β β β βββ async-task 4.5.0
0/0 0/0 0/0 0/0 0/0 π β β βββ fastrand 2.0.1
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-io 0.3.29
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-lite 1.13.0
0/0 0/0 0/0 0/0 0/0 π β β β βββ fastrand 1.9.0
0/0 0/37 0/2 0/0 0/0 β β β β βββ futures-core 0.3.29
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-io 0.3.29
0/41 0/2501 0/2 0/0 0/147 β β β β βββ memchr 2.6.4
0/2 0/20 0/1 0/0 0/0 β β β β β βββ log 0.4.20
0/0 0/5 0/0 0/0 0/0 β β β β β βββ serde 1.0.190
0/0 0/0 0/0 0/0 0/0 π β β β βββ parking 2.2.0
0/0 0/191 0/0 0/0 0/2 β β β β βββ pin-project-lite 0.2.13
0/0 0/0 0/0 0/0 0/0 π β β β βββ waker-fn 1.1.1
0/0 0/28 0/2 0/0 0/0 β β β βββ piper 0.2.1
0/0 0/33 0/2 0/0 0/0 β β β β βββ atomic-waker 1.1.2
0/0 0/0 0/0 0/0 0/0 π β β β βββ fastrand 2.0.1
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-io 0.3.29
0/0 0/14 0/1 0/0 0/0 β β β βββ tracing 0.1.40
0/2 0/20 0/1 0/0 0/0 β β β βββ log 0.4.20
0/0 0/191 0/0 0/0 0/2 β β β βββ pin-project-lite 0.2.13
0/0 0/96 0/5 0/0 0/2 β β β βββ tracing-core 0.1.32
0/0 0/121 0/9 0/0 0/4 β β β βββ once_cell 1.18.0
0/0 0/0 0/0 0/0 0/0 β β βββ futures-lite 1.13.0
β [build-dependencies]
0/0 0/0 0/0 0/0 0/0 β β βββ autocfg 1.1.0
0/0 0/0 0/0 0/0 0/0 π βββ async-net 1.8.0
0/0 0/4 0/0 0/0 0/0 β β βββ async-io 1.13.0
β β [build-dependencies]
0/0 0/0 0/0 0/0 0/0 β β β βββ autocfg 1.1.0
0/4 0/230 0/40 0/0 0/12 β β β βββ async-lock 2.8.0
0/0 0/0 0/0 0/0 0/0 β β β βββ cfg-if 1.0.0
0/0 0/170 0/2 0/0 0/1 β β β βββ concurrent-queue 2.3.0
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-lite 1.13.0
0/2 0/20 0/1 0/0 0/0 β β β βββ log 0.4.20
0/0 0/0 0/0 0/0 0/0 π β β βββ parking 2.2.0
0/1 0/250 0/16 0/4 0/5 β β β βββ polling 2.8.0
0/0 0/0 0/0 0/0 0/0 β β β β βββ cfg-if 1.0.0
0/90 0/554 0/2 0/0 0/55 β β β β βββ libc 0.2.149
0/2 0/20 0/1 0/0 0/0 β β β β βββ log 0.4.20
β β β [build-dependencies]
0/0 0/0 0/0 0/0 0/0 β β β β βββ autocfg 1.1.0
0/371 0/6661 0/2 0/0 0/22 β β β βββ rustix 0.37.27
0/0 0/0 0/0 0/0 0/0 β β β β βββ bitflags 1.3.2
0/0 0/100 0/0 0/0 0/0 β β β β βββ errno 0.3.5
0/90 0/554 0/2 0/0 0/55 β β β β β βββ libc 0.2.149
0/0 0/666 0/36 0/2 0/14 β β β β βββ io-lifetimes 1.0.11
0/90 0/554 0/2 0/0 0/55 β β β β β βββ libc 0.2.149
0/6 0/675 0/4 0/0 0/4 β β β β β βββ socket2 0.4.10
0/90 0/554 0/2 0/0 0/55 β β β β β βββ libc 0.2.149
0/0 0/7 0/0 0/0 0/0 β β β β βββ itoa 1.0.9
0/90 0/554 0/2 0/0 0/55 β β β β βββ libc 0.2.149
0/0 0/24 0/0 0/0 0/3 β β β βββ slab 0.4.9
0/0 0/5 0/0 0/0 0/0 β β β β βββ serde 1.0.190
β β β [build-dependencies]
0/0 0/0 0/0 0/0 0/0 β β β β βββ autocfg 1.1.0
0/6 0/675 0/4 0/0 0/4 β β β βββ socket2 0.4.10
0/0 0/0 0/0 0/0 0/0 π β β βββ waker-fn 1.1.1
0/0 0/0 0/0 0/0 0/0 π β βββ blocking 1.4.1
0/0 0/0 0/0 0/0 0/0 β β βββ futures-lite 1.13.0
0/0 0/0 0/0 0/0 0/0 π βββ fixed-buffer 0.5.0
0/0 0/0 0/0 0/0 0/0 β β βββ futures-io 0.3.29
0/0 0/0 0/0 0/0 0/0 β βββ futures-io 0.3.29
0/0 0/0 0/0 0/0 0/0 β βββ futures-lite 1.13.0
0/0 0/121 0/9 0/0 0/4 β βββ once_cell 1.18.0
0/0 0/0 0/0 0/0 0/0 π βββ permit 0.2.1
0/0 0/32 0/0 0/0 0/0 β βββ rand 0.8.5
0/90 0/554 0/2 0/0 0/55 β β βββ libc 0.2.149
0/2 0/20 0/1 0/0 0/0 β β βββ log 0.4.20
0/0 0/0 0/0 0/0 0/0 β β βββ rand_chacha 0.3.1
0/2 0/712 0/0 0/0 0/25 β β β βββ ppv-lite86 0.2.17
0/0 0/2 0/0 0/0 0/0 β β β βββ rand_core 0.6.4
0/7 0/228 0/1 0/0 0/3 β β β β βββ getrandom 0.2.10
0/0 0/0 0/0 0/0 0/0 β β β β β βββ cfg-if 1.0.0
0/90 0/554 0/2 0/0 0/55 β β β β β βββ libc 0.2.149
0/0 0/5 0/0 0/0 0/0 β β β β βββ serde 1.0.190
0/0 0/5 0/0 0/0 0/0 β β β βββ serde 1.0.190
0/0 0/2 0/0 0/0 0/0 β β βββ rand_core 0.6.4
0/0 0/5 0/0 0/0 0/0 β β βββ serde 1.0.190
0/0 0/0 0/0 0/0 0/0 π βββ safe-regex 0.2.5
0/0 0/0 0/0 0/0 0/0 π β βββ safe-regex-macro 0.2.5
0/0 0/0 0/0 0/0 0/0 π β βββ safe-proc-macro2 1.0.67
0/0 0/4 0/0 0/0 0/0 β β β βββ unicode-ident 1.0.12
0/0 0/0 0/0 0/0 0/0 π β βββ safe-regex-compiler 0.2.5
0/0 0/0 0/0 0/0 0/0 π β βββ safe-proc-macro2 1.0.67
0/0 0/0 0/0 0/0 0/0 π β βββ safe-quote 1.0.15
0/0 0/0 0/0 0/0 0/0 π β βββ safe-proc-macro2 1.0.67
0/0 0/0 0/0 0/0 0/0 π βββ safina-executor 0.3.3
0/0 0/0 0/0 0/0 0/0 π β βββ safina-sync 0.2.4
0/0 0/0 0/0 0/0 0/0 π β βββ safina-threadpool 0.2.4
0/0 0/0 0/0 0/0 0/0 π βββ safina-sync 0.2.4
0/0 0/0 0/0 0/0 0/0 π βββ safina-timer 0.1.11
0/0 0/121 0/9 0/0 0/4 β β βββ once_cell 1.18.0
0/0 0/5 0/0 0/0 0/0 β βββ serde 1.0.190
0/0 0/7 0/0 0/0 0/0 β βββ serde_json 1.0.108
0/0 0/7 0/0 0/0 0/0 β β βββ itoa 1.0.9
0/9 0/715 0/0 0/0 0/2 β β βββ ryu 1.0.15
0/0 0/5 0/0 0/0 0/0 β β βββ serde 1.0.190
0/0 0/0 0/0 0/0 0/0 π βββ temp-dir 0.1.11
0/0 0/0 0/0 0/0 0/0 π βββ temp-file 0.1.7
0/0 0/0 0/0 0/0 0/0 β βββ url 2.4.1
0/0 0/2 0/0 0/0 0/0 β βββ form_urlencoded 1.2.0
0/0 0/8 0/0 0/0 0/0 β β βββ percent-encoding 2.3.0
0/0 0/0 0/0 0/0 0/0 β βββ idna 0.4.0
0/0 0/5 0/0 0/0 0/0 β β βββ unicode-bidi 0.3.13
0/0 0/5 0/0 0/0 0/0 β β β βββ serde 1.0.190
0/0 0/20 0/0 0/0 0/0 β β βββ unicode-normalization 0.1.22
0/0 0/0 0/0 0/0 0/0 π β βββ tinyvec 1.6.0
0/0 0/5 0/0 0/0 0/0 β β βββ serde 1.0.190
0/0 0/0 0/0 0/0 0/0 π β βββ tinyvec_macros 0.1.1
0/0 0/8 0/0 0/0 0/0 β βββ percent-encoding 2.3.0
0/0 0/5 0/0 0/0 0/0 β βββ serde 1.0.190
0/538 0/15294 0/158 0/6 0/323
Changelog
- v0.2.4
- Support
ApplinIos0.36.0. - Add
reset_varandstop_actionsactions.
- Support
- v0.2.3 - Add
idfield toActionandModalButton, for testing. - v0.2.2 - Add
with_validatedto input widgets. SupportsApplinIos0.33.0. - v0.2.1
- Add
idfields for testing. - Make
Actionfields public. - Make
Real32and enumsCopy.
- Add
- v0.2.0
- Support
ApplinIos0.32.0. - Remove
on_user_error_pollaction and make it a parameter of therpcaction.
- Support
- v0.1.7
- Support
ApplinIos0.31.0. - Add
modalaction. - Add
aspect_ratiotochoose_photoandtake_photoactions.
- Support
- v0.1.6
- Support
ApplinIos0.28.0. - Add
logoutaction. - Add
selectorwidget.
- Support
- v0.1.5
- Support
ApplinIos0.25.0. - Add
poll_delay_msto checkbox and textfield. - Replace checkbox
rpcfield withactions.
- Support
- v0.1.4
- Add
From<Option<Into<Widget>>>forWidgetfor use witherror_text. - Add
SessionCookie,Id, andSecret. - Organize into modules for easier discovery.
- Add
- v0.1.3 - Add
on_user_error_pollaction. - v0.1.2 - Bugfixes
- v0.1.1 - Update documentation.
- v0.1.0 - First published version