Crates.io | applin |
lib.rs | applin |
version | 0.3.0 |
created_at | 2023-11-04 19:29:20.403899+00 |
updated_at | 2025-07-06 20:53:28.983678+00 |
description | Backend library for the Applinβ’ Server-Driven UI framework |
homepage | |
repository | https://github.com/leonhard-llc/applin-rust |
max_upload_size | |
id | 1025421 |
size | 190,421 |
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
Related crate: applin_headless
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.3.0
0/0 0/0 0/0 0/0 0/0 π βββ servlin 0.8.0
0/0 0/0 0/0 0/0 0/0 π β βββ async-fs 2.1.2
4/4 222/222 40/40 0/0 13/13 β’οΈ β β βββ async-lock 3.4.0
0/0 2/2 0/0 0/0 0/0 β’οΈ β β β βββ event-listener-strategy 0.5.4
0/0 39/49 8/12 0/0 2/2 β’οΈ β β β β βββ event-listener 5.4.0
0/0 183/183 2/2 0/0 1/1 β’οΈ β β β β β βββ concurrent-queue 2.5.0
4/4 12/75 4/16 0/0 0/3 β’οΈ β β β β β β βββ crossbeam-utils 0.8.21
0/0 0/0 0/0 0/0 0/0 π β β β β β βββ parking 2.2.1
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β β β βββ pin-project-lite 0.2.16
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β β βββ pin-project-lite 0.2.16
0/0 39/49 8/12 0/0 2/2 β’οΈ β β β βββ event-listener 5.4.0
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β βββ pin-project-lite 0.2.16
0/0 0/0 0/0 0/0 0/0 π β β βββ blocking 1.6.2
0/0 0/0 0/0 0/0 0/0 π β β β βββ async-channel 2.5.0
0/0 183/183 2/2 0/0 1/1 β’οΈ β β β β βββ concurrent-queue 2.5.0
0/0 2/2 0/0 0/0 0/0 β’οΈ β β β β βββ event-listener-strategy 0.5.4
0/0 36/36 2/2 0/0 0/0 β’οΈ β β β β βββ futures-core 0.3.31
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β β βββ pin-project-lite 0.2.16
1/1 860/866 4/4 0/0 13/13 β’οΈ β β β βββ async-task 4.7.1
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-io 0.3.31
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-lite 2.6.0
0/0 0/0 0/0 0/0 0/0 π β β β β βββ fastrand 2.3.0
0/0 36/36 2/2 0/0 0/0 β’οΈ β β β β βββ futures-core 0.3.31
0/0 0/0 0/0 0/0 0/0 β β β β β βββ futures-io 0.3.31
34/41 1700/2421 2/2 0/0 82/147 β’οΈ β β β β βββ memchr 2.7.5
0/0 0/0 0/0 0/0 0/0 π β β β β βββ parking 2.2.1
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β β βββ pin-project-lite 0.2.16
0/0 28/28 2/2 0/0 0/0 β’οΈ β β β βββ piper 0.2.4
0/0 32/32 2/2 0/0 0/0 β’οΈ β β β β βββ atomic-waker 1.1.2
0/0 0/0 0/0 0/0 0/0 π β β β β βββ fastrand 2.3.0
0/0 0/0 0/0 0/0 0/0 β β β β β βββ futures-io 0.3.31
0/0 14/14 1/1 0/0 0/0 β’οΈ β β β βββ tracing 0.1.41
0/0 11/191 0/0 0/0 2/2 β’οΈ β β β βββ pin-project-lite 0.2.16
0/0 98/98 5/5 0/0 2/2 β’οΈ β β β βββ tracing-core 0.1.34
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-lite 2.6.0
0/0 0/0 0/0 0/0 0/0 π β βββ async-net 2.0.0
0/0 72/118 19/22 1/1 5/9 β’οΈ β β βββ async-io 2.4.1
4/4 222/222 40/40 0/0 13/13 β’οΈ β β β βββ async-lock 3.4.0
0/0 0/0 0/0 0/0 0/0 β β β β βββ cfg-if 1.0.1
0/0 183/183 2/2 0/0 1/1 β’οΈ β β β βββ concurrent-queue 2.5.0
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-io 0.3.31
0/0 0/0 0/0 0/0 0/0 β β β β βββ futures-lite 2.6.0
0/0 0/0 0/0 0/0 0/0 π β β β βββ parking 2.2.1
0/2 39/425 5/20 1/4 5/14 β’οΈ β β β βββ polling 3.8.0
0/0 0/0 0/0 0/0 0/0 β β β β β βββ cfg-if 1.0.1
61/433 2727/7465 18/22 2/2 41/62 β’οΈ β β β β βββ rustix 1.0.7
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ bitflags 2.9.1
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β βββ serde 1.0.219
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ serde_derive 1.0.219
0/0 14/14 0/0 0/0 3/3 β’οΈ β β β β β β βββ proc-macro2 1.0.95
0/0 4/4 0/0 0/0 0/0 β’οΈ β β β β β β β βββ unicode-ident 1.0.18
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ quote 1.0.40
0/0 14/14 0/0 0/0 3/3 β’οΈ β β β β β β β βββ proc-macro2 1.0.95
0/0 88/88 3/3 0/0 2/2 β’οΈ β β β β β β βββ syn 2.0.104
0/0 14/14 0/0 0/0 3/3 β’οΈ β β β β β β βββ proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ quote 1.0.40
0/0 4/4 0/0 0/0 0/0 β’οΈ β β β β β β βββ unicode-ident 1.0.18
0/0 35/103 0/0 0/0 0/0 β’οΈ β β β β β βββ errno 0.3.13
1/90 10/679 0/2 0/0 5/92 β’οΈ β β β β β β βββ libc 0.2.174
1/90 10/679 0/2 0/0 5/92 β’οΈ β β β β β βββ libc 0.2.174
0/0 14/14 1/1 0/0 0/0 β’οΈ β β β β βββ tracing 0.1.41
61/433 2727/7465 18/22 2/2 41/62 β’οΈ β β β βββ rustix 1.0.7
0/0 29/29 0/0 0/0 3/3 β’οΈ β β β βββ slab 0.4.10
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β βββ serde 1.0.219
0/0 14/14 1/1 0/0 0/0 β’οΈ β β β βββ tracing 0.1.41
0/0 0/0 0/0 0/0 0/0 π β β βββ blocking 1.6.2
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-lite 2.6.0
0/0 0/0 0/0 0/0 0/0 π β βββ fixed-buffer 1.0.2
0/0 0/0 0/0 0/0 0/0 β β β βββ futures-io 0.3.31
0/0 0/0 0/0 0/0 0/0 β β βββ futures-io 0.3.31
0/0 0/0 0/0 0/0 0/0 β β βββ futures-lite 2.6.0
0/0 0/0 0/0 0/0 0/0 π β βββ permit 0.2.1
0/0 12/32 0/0 0/0 0/0 β’οΈ β βββ rand 0.8.5
1/90 10/679 0/2 0/0 5/92 β’οΈ β β βββ libc 0.2.174
0/0 2/2 0/0 0/0 0/0 β’οΈ β β βββ rand_core 0.6.4
3/6 51/192 0/1 0/0 1/3 β’οΈ β β β βββ getrandom 0.2.16
0/0 0/0 0/0 0/0 0/0 β β β β β βββ cfg-if 1.0.1
1/90 10/679 0/2 0/0 5/92 β’οΈ β β β β βββ libc 0.2.174
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β βββ serde 1.0.219
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ serde 1.0.219
0/0 0/0 0/0 0/0 0/0 π β βββ safe-regex 0.3.0
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-regex-macro 0.3.0
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 π β β β βββ unicode-xid 0.2.6
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-regex-compiler 0.3.0
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-quote 1.0.40
0/0 0/0 0/0 0/0 0/0 π β β βββ safe-proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 π β βββ safina 0.7.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.219
0/0 72/75 0/0 0/0 0/0 β’οΈ β βββ serde_json 1.0.140
0/0 8/8 0/0 0/0 0/0 β’οΈ β β βββ itoa 1.0.15
34/41 1700/2421 2/2 0/0 82/147 β’οΈ β β βββ memchr 2.7.5
7/9 572/702 0/0 0/0 2/2 β’οΈ β β βββ ryu 1.0.20
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ serde 1.0.219
0/0 0/0 0/0 0/0 0/0 π β βββ temp-dir 0.1.16
0/0 0/0 0/0 0/0 0/0 π β βββ temp-file 0.1.9
0/0 7/20 0/0 0/0 0/0 β’οΈ βββ nanorand 0.7.0
3/6 51/192 0/1 0/0 1/3 β’οΈ β βββ getrandom 0.2.16
0/0 5/5 0/0 0/0 0/0 β’οΈ βββ serde 1.0.219
0/0 72/75 0/0 0/0 0/0 β’οΈ βββ serde_json 1.0.140
115/590 6984/14178 117/158 4/7 182/373
servlin
v0.8.ModalButton::new
and ModalButton::with_actions
.servlin
v0.6.ApplinIos
0.38.0.checkbox_button
.RowList::push
, RowList::new
, OptWidgetList::push
, and OptWidgetList::new
.WidgetList::push
and WidgetList::new
.ApplinIos
0.36.0.reset_var
and stop_actions
actions.id
field to Action
and ModalButton
, for testing.with_validated
to input widgets. Supports ApplinIos
0.33.0.id
fields for testing.Action
fields public.Real32
and enums Copy
.ApplinIos
0.32.0.on_user_error_poll
action and make it a parameter of the rpc
action.ApplinIos
0.31.0.modal
action.aspect_ratio
to choose_photo
and take_photo
actions.ApplinIos
0.28.0.logout
action.selector
widget.ApplinIos
0.25.0.poll_delay_ms
to checkbox and textfield.rpc
field with actions
.From<Option<Into<Widget>>>
for Widget
for use with error_text
.SessionCookie
, Id
, and Secret
.on_user_error_poll
action.