# Do's and Don'ts when developing First Project with Ignition?

**URL:** <https://forum.inductiveautomation.com/t/dos-and-donts-when-developing-first-project-with-ignition/93592>\
**Category:** General Discussion\
**Created:** [July 23, 2024, 8:55am UTC](https://forum.inductiveautomation.com/t/dos-and-donts-when-developing-first-project-with-ignition/93592 "2024-07-23T08:55:09Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 23, 2024, 12:24pm UTC](https://forum.inductiveautomation.com/t/dos-and-donts-when-developing-first-project-with-ignition/93592/4 "2024-07-23T12:24:12Z")

</div>

1. Do not attempt to **push** information from tags to UI screens. That is, scripts reacting to tags should not be used to notify affected UI pages/views/windows/templates. Instead, bind those tags to UI component properties to **pull** the information into the UI, and write any change monitoring scripts/actions **there**.
2. Scripts are resource hogs. Use them only for tasks that cannot be done any other way. In user interfaces, use bindings, preferably without script transforms.
3. Simple property bindings are fastest.
4. Tag bindings and named query bindings are **asynchronous**. When triggered by startup or a reference change, they do **not** hold up any other bindings. Use them, and reference them with simple property bindings, instead of curly-brace tag references or scripted queries.
5. Expression bindings are faster than scripts, as long as you aren't using `runScript()`.
6. If you must use a script in a binding, `runScript()` in an expression binding is faster than a script transform.
7. Avoid the `tag()` expression function like the plague. Because it **is** a plague.

---

_[View the full topic](https://forum.inductiveautomation.com/t/dos-and-donts-when-developing-first-project-with-ignition/93592)._
