ืืืชื ืืื ืจืืฆื, 51 ืืชืื 60 ืงืืืฆื ืืืงืืจ ืฉืื, ืืืืื ื template ืืืฃ ืฉืืื ืืื ืชืืื ืืช.
Slim ืืื ื ืืชืืื ืืืืฉ ืืืื ื ืืกืื. utils/bundle.js ืืื ื ืืช ืฉืชื ืืืืืืช ืืืคืืคื ืืืืชื ืขืฅ ืืืืืชื ืจืืฆื: ืืืืื ืืฉืจืฉืจืช 60 ืงืืืฆื ืืงืืจ ืฉื ืืื ืืจืืฆื ืืขืื 9 ืงืืืฆื ืกืคืงืื, ื-Slim ืืฉืจืฉืจืช 51 ืืืืชื ืงืืฆืื ืขืฆืื ืืขืื 2 ืงืืืฆื ืกืคืงืื, css.js ื-json5.min.js. ืืืืืง 9 ืงืืฆืื ื ืืฆืืื ืืจืฉืืื ืืืืื ืืืกืจืื ืืจืฉืืืช Slim, ืืืื ื-Slim ืืืจ ืฉืืื ื ื ืืฆื ืื ืืืืืื ืืืืื. ืืืชื 9 ืื xuda_actions.js, xuda_fcm_web.js ืืฉืืขืช ืงืืืฆื ืื ืืข ืืกืืื ืืื: xuda_reactive.core.js, .scheduler.js, .listdiff.js, .bridge.js, xuda_runtime.render.reactive.js, .adapter.js ื-.pilot.js. ืืืืืจ ืืฃ Slim ืืฆืืืจ ืขื ืืื ืื ืืข ืืจืื ืืืจ ืืืฉื ืืืื, ืืื ืื ืืข ืจืืืงืืืื ืืชืืชืื. ืื ืฉืืงืืืื ืืชืืืจื ืืื ืืกืืื ืืชืืื ืฉืืื ืื ืฉืื ืื ืืื: ืืืชืืื HTML ืจืืื ืืชืื ืืืื ื template, ืงืืจืืื ื-xuda(), ืืืื ืื ืืืคื ืื template ืืืฃ ืืชืืื ืืช ืฉืืคืชืื ืืื ื-id ืฉืื. ืฉืชื ืืขืจืืช ืืืืืื ืื ืืคื ื ืฉืืจ ืืืฃ. Slim ืืื ื ืงืื ืืืชืื. ืืืืื ื-ES ืฉืืคื xuda.io ืืืืืืื ืฉืืงื 671,803 ืืชืื ืขื ืืืืกืง ื-143,551 ืืืืืกืช gzip ืืจืื 9, ืืืงืืืฅ ืฉืฉืื xuda-runtime-slim.min.es.js ืืื ื ืืืืืขืจ: bundle.js ืืืชื ืืช ืืืืจืืืช ืืืฉืืจืฉืจืช ืืืืฆื ืืื ืฉืืื ืืืฃ ืคืขื ืื ืืขืืืจ ืืืชื ืืจื UglifyJS. ืืฉื ืืชืืจ ืืช ืืกืืื ืืืชืืื ืืืช ืจืฉืืืช 51 ืืงืืฆืื, ืื ืืช ืืืืจืื.

ืฉืืฉื ืืงืืขืื ืืชืื ืืฃ ืฉื ืืฆื ืืจืืคืืืืืืจื ืืื.
ืฉืื ืืืจ ืืืื ืืื ื ืกืงืืฆื ืฉื ืืื ืืชืืืืจ ืืืื ืืืืจืืืช. ืื ืฉืืจื ืืืื ื ืืงืื ืืชืื website-static/xuda.io/src/examples-html/index.html, ืืืฃ ืฉืขืืื ืืื ืืจืืฆื ืืืืื, ืืืกืคืจื ืืฉืืจืืช ืืืืคืกืื ืืื ืฉืชืืืื ืืคืชืื ืืช ืืงืืืฅ ืืืืฉืืืช. ืงืจืื ืืช ืื ืืฉืืื ืืฆืืจื ืืื ืืฉืืื ืืขืืฆืื: ืกืงืจืืคื ืืืืื ืฉืงืืจื ืืืชืืื ืขื prog id ืืื, template ืฉื-id ืฉืื ืืื ืืืชื prog id, xu-single-view ืืฉืืจืฉ, xu-store ืฉืืืืืง ืืฆื ืืงืืื ืขื xu-bind ืฉืืืชื ืืืืจื ืืชืืื, ืฉืืืฉืืืช xu-for ืฉืขืืืจืช ืขื ืืขืจื ืืฉืฉื ื ืืืื ืืงืก ืืืขืจื ืืงืืืื ืฉื, ื-xu-panel ืฉืืจืืื ืชืืื ืืช ืฉื ืืื ืืชืื ืืจืืฉืื ื. ืืชืืืืืช xu-exp: ืขื ืืืคืืื ืืืืจืช ืฉืืขืจื ืืื ืืืืื ืืื ืืืืจื, ืืืืืืืืื ืืื ืื eval: secure_eval ืืืืจ ืืงืืจ ืืคืขื ืืฉื ืืื ืฉืืื ื ืชืงื ืื ืืืืฆืขืืช new Function, ืืืืจืช ื ืืคื ืืืจื ื-eval ืืชืื ืืกืงืืค ืฉื ืืืฃ ืขืฆืื.
ืืืคืื ืืืคืืื ืื ืืจืืฉืื ืืืืจืงืืืืืช
ืชืืืืช ืืื ืืืช ืฉื ืืขืื ืืืชืืื ืืื ืืช
ืงืืืฆื ืืงืืจ ืฉื ืืื ืืจืืฆื ืืจืฉืืืช Slim, ืืชืื 60
ืืขื ืืช ืฉืขืืืจืืช ื-runtime/test, 0 ืืฉืืื
ืื ืื ืืื, ืืฉืืืฉ ืืจืืื ืฉืืืฆืืืืช ืื ืืช ืื ืฉืืื ืืฃ Slim ืืืฆื ืืช ืืชืืื ืืืช ืฉืื.
xuda() ืืงืื ืืืื ื, ืืืืืืงื ืืคืฉืจืืืืช ืืคืื ืงืฆืืืช ืืืฉื ืืื ืกืืจ ืืจืืืื ืืื, ืืฉืืืืืื ื ืขืฉื ืืคื ืืืคืืก ืืื ืืคื ืืืงืื, ืืชืืช ืืืืืช Slim ืืืื ื ืืกืจ ื ืืคื ืืืจื ืืืืจืืืช body ืขื ืืืืจื ืืืงืื ืืืื ืืช ืืืชืืื. ืื ืฉืงืืจื ืืืจ ืื ื ืงืืข ืขื ืืื ืฉืืื ืืืช ืืืืืง, ืฉื ืฉืืืช ืคืขื ืืืช: ืืื ืืฉ ืืืื ืื template ืืืฃ. ืฉืืืฉ ืืชืฉืืืืช ืืืื ืืื ื ืืชืขืจืืืืช. ืืจืืฉืื ื ืืืชืืช ืืืืฉ ืืช ืืืฃ, ืืฉื ืืื ืืฉืืืจื ืืืชื ืืืงืืื, ืืืฉืืืฉืืช ืืื ืืฆื ืืืฉื, ืืืืื ืืืขืช ืืืืื ืืื ืืชื ื ืืฆืืื ืืคื ื ืฉืืชืืืืื ืื ืคืืช ืืกื ืจืืง.
ืชืฉืขื ืงืืฆืื ืื ืื ืืืืื, ืืื ืืื ืืื ืืื ืืฉืื ืฉืืฃ Slim ืืื ื ืืืื ืืขืฉืืช.
ืฉืชื ืืืืืืืช ื ืื ืืช ืืืืชื ืขืฅ ืขื ืืื ืืืชื ืกืงืจืืคื, utils/bundle.js. Slim ืืฉืจืฉืจืช 51 ืงืืืฆื ืืงืืจ ืฉื ืืื ืืจืืฆื ืืขืื 2 ืงืืืฆื ืกืคืงืื. ืืืืืช ืืืคืืคื ืืืืื ืืฉืจืฉืจืช 60 ืงืืืฆื ืืื ืจืืฆื ืืขืื 9 ืงืืืฆื ืกืคืงืื. ืืฉืืืืช ืฉืชื ืืจืฉืืืืช ื ืืชื ืช ืืืืืง 9 ืฉืืืช ืฉื ืืฆืืื ืืจืฉืืื ืืืืื ืืื ืืจืฉืืืช Slim, ืืืืจ ื-Slim ืฉืืื ื ื ืืฆื ืื ืืืืืื ืืืืื. Slim ืืื ืืืกืืจ, ืืขืืื ืื ืคืืฆืื, ืืืื ืืืืื ืฉืขืืื ืืืืช ืขืืื ืื ืืืืจืช. ืื ืฉืื ืขืืฉืื ืืื ืชืฉืขืช ืืฉืืืช ืืืื ืืืจืืข ืืืฆืืืืช ืืืืงืืืืช ืฉื ืืืืช ืืืืื.
Slim | ืืืืืช ืืืคืืคื ืืืืื | |
|---|---|---|
| ืงืืืฆื ืืงืืจ ืฉื ืืื ืืจืืฆื | 51, ืืฉืืจืฉืจืื ื-utils/bundle.js:243 ืื ืืชืืื ืืืืฆื ืืืืจืืืช ืืื ืฉืื. | 60, ื-utils/bundle.js:62. ืืชืฉืขื ืื ืืกืคืื ืื xuda_actions.js, xuda_fcm_web.js ืืฉืืขืช ืงืืืฆื ืืื ืืข ืืจืืืงืืืื. |
| ืงืืืฆื ืกืคืงืื | 2: css.js ื-json5.min.js. | 9: ืฉื ื ืืื ืืขืื pouchdb.min.js, pouchdb.find.min.js, client.min.js, fingerprint2.min.js, socket.io.min.js, peerjs.min.js ื-clona-2.0.6.min.js. |
| ืื ืืข ืืกืืื ืืื | ืืื ื ื ืฉืื. xuda_reactive.core.js, .scheduler.js, .listdiff.js, .bridge.js ืืฉืืืฉืช ืงืืืฆื render.reactive ืืกืจืื ืืืื. ืืฃ Slim ืืฆืืืจ ืขื ืืื ืื ืืข ืืจืื ืืืจ ืืืฉื ืืืื. | ื ืฉืื: ืื ืืข ืืจืื ืืืจ ืืจืืืงืืืื, ืืืชืืื ืฉืื, ืืฉืืืืช ืืจืฉืืืืช ืฉืื, ืืืืืืก ืฉืืืืื ืืืื ืื ืืข ืจืื ืืืจ ืชืืื ืืช ืืงืืืช. |
| ืืชืื ืืกืืก ืื ืชืื ืื | ืืขืืื ืืื ื ื ืืขื. ืืืชืืื ืืืืจ ื-runtime/js/index.js:407, ืืคื ื ืืืขื ืืคืจืืืงื ืืืืชืื ื-:423 ืขื :429. func.db ืืขืืื ืืื ื ืืืงืฆื ื-APP_OBJ[app_id] ื ืฉืืจ ืืืืืืงื ืจืืง. | xuda-db-adapter-module.mjs ืืืืื, func.db ืืืงืฆื, ื-init_db_replication ืืชืืื ืขื ืืืื ืืืคืืืงืฆืื. |
| ืชืืกืฃ ืืืกืืจืช | init_ui_framework ืืืืจ ืืฉืืจื ืืจืืฉืื ื ืฉืื ืืืฉืจ glb.SLIM_BUNDLE ืืืืืจ, ื-xuda_UI.utils.js:521. ืชืืกืคื ืืืกืืจืช ืฉื Tailwind ื-Ionic ืืขืืื ืืื ื ืืืืชืืืื. | ืชืืกืฃ ืืืกืืจืช ืฉื ืืชืืื ืืช ื ืคืชืจ ืืืืืชืื ืืคื ื ืฉืืขืฅ ื ืกืจืง. |
| ืชืืกืคื ืจืงืข | register_run_background_plugins ืืืืจ ืืืืชื ืืจื ื-xuda_main.js:199, ืื ืฉืฉืื ืืืจ ืืื ื ืจืฅ ืืจืงืข. | ืขืืืจ ืขื app_plugins_purchased ืืืคืขืื ืื ืจืฉืืื ืฉื ืืฉืืช installed ื-run_in_background. |
| ืืงืืจ ืืชืืื ืืช | ื-DOM. xuda() ืืจืืฅ document.querySelectorAll('template') ื-index.js:225, ืืืคืชื ืื ืชืืื ืืช ืืคื ื-id ืฉืื ืื template_<index>, ืืืงื ืืช ื-id ืืจืืฉืื ืืชืืจ prog_id, ืืื ืืจืืงื ืืช ืืืื ื ืืฉืืจืฉ. id ืืกืจ ืืกืชืืื ื-console.error, xuda_utils.js:105 ืขื 144. | _session.project_data.programs ืจืืฉืื, ืืจืง ืืืฉืจ SLIM_BUNDLE ืืื ื ืืืืืจ ืืืืคืืฉ ื ืืคื ืื xuda-progs-loader-module. |
ืขืฉืจืื ืืืคืื ืืืคืืื ืื, ืืกืืจ ืฉืืืจืื ืฉื ื ืืขืจืืื.
ืจืืฉืื ืืืืจืงืืืืืช ืืื ืืืืืืงื ืคืฉืื ืฉื 20 ืืืคืืื, ื-xu-attrs ืืฉืืจื 68 ืขื xu-viewport ืืฉืืจื 234 ืฉื xuda_runtime.browser.handlers.factory.common.js. ืืืคื xu-exp ื ืืกืฃ ืืื ืืืจืื ืืขืืืื, ืืืืคืืื ืืจืืช ืชืืืช ื ืืกืคืื ืขืืืจ xu-panel ื-xu-teleport. ืื ืื ืืืฆืจ ืืืืืื. ืืื ืฉืื ืืืืืจ ืืืื ืฉืคืช ืชืื ืืืช: ืืืืคืืื ื ืงืจื ืืืืืื ื ืืืขืจื ืืืขืจื ืืชืื ืืืฃ.
- ืืขืฉืจืื, ืืกืืจ ืืืงืืจ: xu-attrs, xu-ref, xu-bind, xu-render, xu-show, xu-content, xu-text, xu-html, xu-for, xu-for-key, xu-for-val, xu-class, xu-on, xu-script, xu-style-global, xu-style, xu-cdn, xu-ui-plugin, xu-store, xu-viewport. ืฉืฉ ืชืืืืช ืืื ืืืช ืื ืฉืืื ืืืชืืื ืื ืื: xu-template, xu-single-view, xu-multi-view, xu-panel, xu-teleport, xu-slot. ืฉืชืืื ื ืืกืคืืช, xu-nav ื-xu-modal-controller, ืื ืคื ืืืืืช, ืืืืืืง ืฉื Studio ืืชืจืืข ืืคื ื ืืชืืืชื.
- xu-if, xu-else-if ื-xu-else ืื ืืืืืืืช ืืื ืืข ืืจืืืงืืืื ืืืื. ืขืืืจ ืื ืืข ืืจืื ืืืจ ืืืฉื, ืฉืืื ืื ืืข ืืจืื ืืืจ ืืืืื ืฉืืฉ ื-Slim, ืื ืขื ืฃ ืืืืืจ ื-xu-exp:xu-render ืฉืงืื ื-xuda_common.js:763 ืขื 782, ืืืืคืืื ื xu-if ืฉื ืืชืื ื ืฉืืจืื ืืืงืืื ืืืืื ื ืืื ืฉืืืงืืจ ืฉืืชืืชื ืืืฉืืจ ืงืจืื ื-DOM.
- xu-render ื-xu-if ืืกืืจืื ืืช ืืืืื ื. ืฉืขืจ ืกืืืจ ืืฉืืืจ ืืืจืื ืืืื ื xurender ืืฉืืฃ ืืขืืื ืืฆืืืื ืืืืฉ, ื-xuda_runtime.browser.dom.js:554. xu-show ืืฉืืืจ ืืช ืืฆืืืช ืืืจืื ืืืืืืฃ ื ืจืืืช ืืืื. ืืืืืจื ืืื ืืื ืืื ืืืืืจื ืื ืชืช ืขืฅ ืืืกืชืจ ืขืืื ืืื ื-DOM.
- ืืืืืืื ืื eval, ืืื ืื ืืืืื ืืฉืื ื. secure_eval ืืืืจ ืืงืืจ ืืคืขื ืืฉื ืืื ืฉืืื ื ืชืงื ืื ืืืืฆืขืืช new Function('xu','func','glb','SESSION_ID','SESSION_OBJ','dsSessionP',...) ื-xuda_expression.js:1116, ืืืืจืช ื ืืคื ืืืจื ื-eval(val) ืืกืงืืค ืืืฃ ื-:1134. ืืืื ืืืช ืืืืืช ืชืืื ืืื unsafe-eval ืืื ื ืืืืื ืืืจืืฅ ืืื ืืืคืืื xu-exp: ืืื.
- run_xu_beforexu-cdn, xu-style, xu-render, xu-for-key, xu-for-val, ืืกืืจ ืืื, ื-xuda_GLB.js:175 ืขื 181. ืืฉืขืจ ืืืคืชืืืช ืืืืืื ื ืกืืจืื ืืคื ื ืฉืืืฉืื ืงืืจื ืืืชื.
- ืืืืฃืื ืืืคื ืฉื ืืชืจ, ืืกืืจ ืฉืื ืืืืคืืื ืื ืืืคืืขืื ืขื ืืืืื ื. xu-for, xu-content, xu-show, xu-on ื-xu-store ืจืฆืื ืืืื ืืื.
- run_xu_afterxu-bind, xu-class, xu-script, xu-ui-plugin, xu-ref, ื-xuda_GLB.js:184. ืืงืืฉืืจ ืืืกืงืจืืคืืื ืจืืืื ืืืื ื ืืืืจ, ื-xu-ref ืืืืืง ืืืจืื.
- ืืขืืจ ื-xu-expxu-exp: ืืื ื ืืืคื ืขืฉืจืื ืืืื. ืืื ืืืจืื ืืขื ืืจืืฉืื ื-factory.js ืืืกืื ืืช ืืขืจื ืืืืืื, ืื ืฉ-xu-exp:xu-render ืขืืืื ืชืืคืก ืืช ืืฉืืฆืช xu-render ืืชืื run_xu_before ืืื ืืฉืืฆืช ืืฉืื.
ืฉืืื ื ืงืืฆืืจืื, ืืชืืื ืืืืฉ ืืืช, ืืืื ืืขืจืืช ืืืจืืขืื ืฉื ืืื ืืชืืช.
ืฉืืื ื ืงืืฆืืจื ืืืจืืข ืืืฆืืจืื ืืืขืจื ืืื, glb.attr_abbreviations_arr ื-xuda_GLB.js:185. ืืฃ ืืื ืืื ืืื ื ืืืคื. ืืืื ืื ืจืืื, xuda_runtime.browser.attributes.policy.js:42 ืขื 56 ืืืืง ืื ืฉื ืืืืคืืื ื ืืฆื ืืืขืจื ืืื, ืืืชื ืืืงืืื xu-on:<event> ืฉื ืืฉื ืืืคื custom ืืชืืืื ืขืืืื ืฉื ืฆืขื ืขืืืื ืืื ืืืืืง, ืืื ืืืืง ืืช ืืืืคืืื ืืืงืืจื. xu-click ืืืฆืืจื ืืืจืืื xu-on:click ืืืืขืื ืืืืชื ืงืื ืืืืืง ืืืืชื ืืจื, ืืืื ืืื ืื ืืืืื ืขื ืืงืืฆืืจืื ืืขืืจ ืืจืฉืืืช ืืฉืืื ื.
ืืืืื ืืืืืื, ืืชืืืช template, ืงืจืืื ืืื ืื.
ืืื ืฉืื ืื ืืื, ืืื ืืืืจืืช ืืื ืืืจ, ืืื ืืชืงื ื. ืืคื ืืืืืืืืช ืฉื xuda.io ืขืืฉืื ืืช ืฉืืืฉืช ืืืืจืื ืืืื ืืื ืืืชืจ, ืืืื ืื ืืืคื ืื ืืื ื ืืื ืืืจืื ืฉื ืืชื ืืืืขืื.
- 01
ืืืืื ืืืืืื
ืืืืื ื-ES ืฉืืคื xuda.io ืืืืืืื ืืื website-static/xuda.io/src/assets/xuda-runtime-slim-es.js. ืืื ืฉืืงื 671,803 ืืชืื ืขื ืืืืกืง ื-143,551 ืืืืืกืช gzip ืืจืื 9, ืืืขืืชืง ืืขืฅ ืืืงืืจ ืืืขืืชืง ืฉื ืื ื ื-dist ืืืื ืืืช ืืืืช, md5 e950abcb5372188891ed775c62d55be4. ืืืืจื ืืืช ืืืื ืืฉื: ืืงืืืฅ ืืื ืฉืฉืื xuda-runtime-slim.min.es.js ืืื ื ืืืืืขืจ. bundle.js ืืฉืจืฉืจ ืืช ืืืงืืจืืช ืืืืจืืืช ืืืืชื ืืืชื ืืืืฆื ื-:312 ืืื ืืืขืืืจ ืืืชื ืืจื UglifyJS, ืืจืง ืฉืื vite ืืขืื terser ืืืืืืจ ืืืชืจ ืืืืืืช ื-npm ืืืืขืจ. Slim ืืชืืจ ืืช ืจืฉืืืช 51 ืืงืืฆืื ืืืช ืืกืืื ืืืชืืื, ืื ืืช ืืืืจืื.
- 02
ืืชื template ืขื id ืืืฃ
ืืืื ื template ืจืืื ืฉื HTML ืืืืคื ืืืื ืื xu-single-view ืืื ืื ืืข ืจืื ืืืจ, ื-xuda_runtime.browser.nodes.js:410 ืขื 432. ืืืื ืื ืืื ื ืืฉื ืืฉืงื: ืืืื ื template ืืืืชื ืืื ืืื ืจืื ืืคื ืืชืงื, ืืืื ืืกืืื ืืื ืืื ืื ืืื ืงืืจื ื-createElement('template') ืืืชืืื ืืช ืื ืืืืชื ืืฆืืืจืช ืืืจ. ืืฃ ืืืืืืืืช ืคืืชื ืืช ืฉืื ื-website-static/xuda.io/src/examples-html/index.html:79, template ืขื id ืืฉื xuda_slim_html_examples, ืขื xu-single-view ืืฉืืจื ืฉืืืจืื. ืืชืืื ื-HTML ืขืืื ืืงืฉืช ืจืฉืช ืืืช ืฉืืชืืื ื-JSON ืืื ื ืืฉืืืช, ืืคื ื ืฉืกืจืืงืช ื-template ืืืืืืช ืืื ืืืช ืืช xuda-cli-plugin-html-parser-module.esm.mjs, 748 ืฉืืจืืช, ื-index.js:227 ืืื ืืืคืื ืกืืืื ืืขืฅ ืฆืืชืื.
- 03
ืงืจืืื ืืื ืื ืขื ื-id ืืื
website-static/xuda.io/src/assets/site.js:812 ืงืืจื ื-new Xuda(document.getElementById(mountId) || document.body, {prog_id, ...}). xuda() ืืงืื ืืืื ื, ืืืืืืงื ืืคืฉืจืืืืช ืืคืื ืงืฆืืืช ืืืฉื ืืื ืกืืจ ืืจืืืื ืืื, ืืฉืืืืืื ืืคื ืืืคืืก ืืื ืืคื ืืืงืื, ื-runtime/js/index.js:41 ืขื 60, ืืชืืช Slim ืืืื ื ืืกืจ ื ืืคื ืืืจื ื-'body' ืขื ืืืืจื ืืืงืื ืืืื ืืช ืืืชืืื. ืืืจ ืื ืืกืืืื ืขืืฉื ืืช ืืฉืืจ: xu-store ืขื xu-bind ื-index.html:194 ืขื 197, ืฉืืืฉืืืช xu-for ื-361 ืขื 363, ื-xu-panel ื-728. ืืกืชืืืืืช ืืืช ืืคื ื ืฉืืชื ืืขืชืืงืื ืืช ืืงืืืฅ ืืื: ืืืืื ื-ES ืฉื ืืฆื ื-website-static ืืฉื ืืืชืจ ื-runtime/js. ืืืคืืฉ ืื ืืืฆื ืื xu-teleport, ืื xu-attrs, ืื xu-if ืืื DS_LOADING, ืืืื ืฉืืฃ ืืืืืืืืช ืืืชื xu-teleport ืชืืช ืืืชืจืช Live Preview.
ืชืฉืขื ืืืจืื ืฉืืฃ Slim ืืื ื ืขืืฉื, ืื ืืื ืขื ืืฉืืจื ืฉืื ืืคืฉืจ ืืงืจืื ืืช ืืกืืจืื.
- Slim ืืืชืื ืืืืืจ ื-runtime/js/index.js ืฉืืจื 407, ืืคื ื ืืืขื ืืคืจืืืงื ืืฉืืจื 423 ืืืชืื ืืกืืก ืื ืชืื ืื ืืฉืืจื 425. func.db ืืขืืื ืืื ื ืืืงืฆื ื-APP_OBJ[app_id] ื ืฉืืจ ืืืืืืืงื ืืจืืง ืฉื ืงืืข ืืฉืืจื 400, ืื ืฉืืืฃ ืฉืืืืืข ืืฉืืจืืช ืืื ืืืืจ PouchDB, ืืื ืฉืืคืื ืืืื ืจืืฉืื ืชืืกืคืื.
- xu-ui-plugin ื-xu-widget ืืื ื ืขืืฉืื ืืืจ ืืืฃ Slim ืจืืื. app_plugins_purchased ืืขืืื ืืื ื ืืืืืืก, ืืืื ืืฉืขืจ ืืจืืฉืื ื-run_ui_plugin, plugin?.installed ื-runtime/js/xuda_common.js ืฉืืจื 2105, ืืื ืฉืงืจ ืืื ืงืจืืื. ืืฃ ืืืืืืืืช ืฉื xuda.io ืืกืื ืืช ืืจืืืก xu-ui-plugin ืฉืื ืขืฆืื ื-Reference-only, ื-examples-html/index.html ืฉืืจื 674.
- ืื ืืื ื ืืจืื ืืื. secure_eval ืืืืจ ืืงืืจ ืืคืขื ืืฉื ืืื ืฉืืื ื ืชืงื ืื ืืืืฆืขืืช new Function ื-runtime/js/xuda_expression.js ืฉืืจื 1116 ืืืืจืช ื ืืคื ืืืจื ื-eval(val) ืืฉืืจื 1134, ืืชืืกืฃ ืืืฉืง ืืืืข ืืืืืื ืืื ืื ืืชืื ืืจืืืื ืฉื ืืืฃ ืขืฆืื ืืฉืืื ืืืืืง ืืช ืฆืืืช ื-DOM ืืืืืื. ืืืื ืืืช ืืืืืช ืชืืื ืืื unsafe-eval ืืื ื ืืืืื ืืืจืืฅ ืืื ืืืคืืื xu-exp: ืืื.
- ืฉืชื ืืื ืืืจืฆืืืช ืืืกืืจืช ืืืืืืช ืืื ืืืืืฉืืช. init_ui_framework ืืืืจ ืืฉืืจื ืืจืืฉืื ื ืฉื ืืืคื ืืืฉืจ glb.SLIM_BUNDLE ืืืืืจ, ื-runtime/js/xuda_UI.utils.js ืฉืืจื 521, ื-register_run_background_plugins ืขืืฉื ืืืชื ืืืจ ื-runtime/js/xuda_main.js ืฉืืจื 199. Tailwind ื-Ionic ืืขืืื ืืื ื ืืืืชืืืื ืชืืช Slim.
- ืื ืืข ืืกืืื ืืื ืืื ื ืืจืฉืืืช ืืงืืฆืื. ืฉืืขืช ืืงืืฆืื ืืจืืืงืืืืืื, xuda_reactive.core.js, .scheduler.js, .listdiff.js ื-.bridge.js ืืขืื xuda_runtime.render.reactive.js, .adapter.js ื-.pilot.js, ืืืฉืืื ืืจืฉืืื ืืืืื ื-utils/bundle.js ืฉืืจืืช 131 ืขื 138 ืืืฉืื ืจืฉืืืช Slim. ืืฃ Slim ืืฆืืืจ ืขื ืืื ืื ืืข ืืจืื ืืืจ ืืืฉื ืืืื.
- func.action ืืื ื ืืืืืจ, ืืคื ื ืฉ-xuda_actions.js ืืื ืืื ืืชืฉืขืช ืืงืืฆืื ืฉืจืฉืืืช Slim ืืฉืืืื. ืฆืขื ืชืืืื ืืขืืืื invoke_action ื-runtime/js/xuda_events.js ืฉืืจื 920 ืืืกืืื act_refresh ืืืื ืืืช ื-runtime/js/xuda_runtime.browser.realtime.js ืฉืืจื 107 ืงืืจืืื ืื ืฉื ืืื. ืจืง ืืฉื ื ืืืฉื ืืชืื catch.
- ืืืืื ื-ES ืฉื ืืฆื ื-website-static/xuda.io ืืฉื ืืืชืจ ื-runtime/js. ืืคืฉื ืื xu-teleport, xu-attrs, xu-if, DS_LOADING ืื normalize_doc_for_runtime ืืื ืืื ืืืืืืฉื ืืืืืจ ืืคืก ืชืืฆืืืช, ืืืื ืฉืืฃ ืืืืืืืืช ืืืชื xu-teleport ืชืืช ืืืชืจืช Live Preview.
- Slim ืืื ื ืงืื ืืืชืื. website-static/xuda.io/src/assets/xuda-runtime-slim-es.js ืฉืืงื 671,803 ืืชืื ืขื ืืืืกืง ื-143,551 ืืืืืกืช gzip ืืจืื 9. ืืฉื ืืชืืจ ืืช ืืกืืื ืืืชืืื ืืืช ืจืฉืืืช 51 ืืงืืฆืื, ืื ืืช ืืืืจืื, ืืืื ืืจืืคืืืืืืจื ืืื ืืงืืจ ืืฉืื ืืฉืืืืช ืืืื ืืื ืืกืืจืช ืืืจืช.
- ืฉืชืืื ืืชืื 29 ืืืืืืช ืืืืืงื ืืื ื ืืืืืืช ืืจืืฅ ืืืขืชืง ื ืงื. allprogs_sweep.mjs ื-realprog_dryrun.mjs ืงืืจืืืช ืฉืชืืื ืืช runtime/test/fixtures/progs, ื-runtime/test/fixtures ืืืื ืจืง .gitignore, ืื ืฉืฉืชืืื ืืืจืงืืช ENOENT ืืคื ื ืฉืื ืืืืงืืช ืืืจ.
ืืืืืื, ืืืจื ืืื ืื ืื ืืื ืืืงืืื.
ืื ืืขื ื ืืืขืื ื ืงืจืื ืืชืื ืืขืฅ ืืชืืจืื 2026-08-19 ืื ืืฉืืช ืืช ืืงืืืฅ ืืืฉืืจื ืฉืืื ื ืืืืขื. ืืงืืื ืืื ื ื ืืฉืืช ืืฃ ืืื ืืืฉื ืืื, ืืืงืืื ืืชืืืฉื ืช. ืืื ืืืงืื ืฉืื ืืกืจืืื ืืืืฃ ืืื ืืืืงืื, ืืืฃ ืื ืฆื, ืืืืงืื ืฉืื ืืชื ืืคืงืคืงืื ืืืฃ, ืคืชืื ืืช ืืงืืืฅ ืฉืืื ืืฆืืื. ืฆืคื ืืื ืืฉืืื ืฆืืจืช ืืืืืขื, ืืื ืงืจืื ืฉืื ืืช ืืืขืจื ืืฉืืื ืื ืฉืืืืืขื ืื ืชืขืฉื.
ืฉืฉ ืืฉืืืืช ืฉืจืฉืืืช ืืงืืฆืื ืืขืื
ื ืขื ื ืืื ืืขืฅ ืืคื ืฉืืื ืขืืื ืืชืืจืื 2026-08-19, ืื ืืืช ืขื ืืงืืืฅ ืืืฉืืจื ืฉืืคืฉืจ ืืืืืง ืืืชื ืืืื.
ืฉืชื ืืืชืืช, ืฆืืจืช project_data ืืืช.
ืืืช ืืืืืขื ืืืฉืืจื ืืื ืชืืืช script ืืืืื ื template. ืชืืช Slim, xuda() ืืจืืฅ document.querySelectorAll("template"), ืืืคื ืื ืชืืฆืื ืืชืืื ืืช ืฉืืคืชืื ืืื ื-id ืฉืื ืื template_0, template_1 ืืื ืืืื ืืฉืืื ืื ืืื, ืืืงื ืืช ื-id ืืจืืฉืื ืืชืืจ prog_id ืืื ืืจืืงื ืืช ื-innerHTML ืฉื ืืืื ื ืืฉืืจืฉ, ื-runtime/js/index.js ืฉืืจืืช 225 ืขื 252. ืืื ืื ืืงืื ืืืื ื, ืืคืฉืจืืืืช ืืคืื ืงืฆืืืช ืืืฉื ืืื ืกืืจ ืืจืืืื ืืื, ืืฉืืืืืื ืืคื ืืืคืืก ืืื ืืคื ืืืงืื, ืืืืื ื ืืกืจ ื ืืคื ืืืจื ื-body ืขื ืืืืจื ืืืงืื ืืืื, ืืฉืืจืืช 41 ืขื 60. ืืชืืื ื-HTML ืขืืื ืืงืฉืช ืจืฉืช ืืืช ืฉืืชืืื ื-JSON ืืื ื ืืฉืืืช: ืืืืื ืืื ืื ืฉื xuda-cli-plugin-html-parser-module.esm.mjs ืืฉืืจื 227, 748 ืฉืืจืืช, ืืื ืืืคืื ืืช ืืกืืืื ืฉืืื ืืขืฅ ืฆืืชืื. ืืืช ืืื ืืืงืจื ืืืืืช ืขื ืืกืจืืงื ืืืืกืจืช ืืืื ืืจืืฆื ืืช ืืืชื ืืคืช ืชืืื ืืืช ืืฉืืจืืช, ืืืื ืืืืคืืื ืื ืฉืืชื ืืืืืื ืืื ืขืืืจืื ืืื ืฉืื. ืงืื ืืช ืืจืืฉืื ื ืื ืืชื ืจืืฆืื ืืฃ. ืงืื ืืช ืืฉื ืืื ืื ืืชื ืจืืฆืื ืืช ืืกืืก ืื ืชืื ืื, ืืช ืืฉืืคืื ืืืช 62 ืืชืืกืคืื ืฉืืชืืื Slim ืืืืจ ืืคื ื ืฉืืื ืืืืข ืืืืื.