Přeskočit na hlavní obsah

Frameworky

Framework je ještě vyšší vrstva než HAL. Nesnaží se jen zpříjemnit práci s jednou periférií. Často přináší celý způsob, jak psát aplikaci.

Typickým příkladem je Arduino. Programátor píše funkce setup() a loop(), používá digitalWrite(), analogRead() nebo Serial.print() a spoustu detailů neřeší. U AVR desek je jádro Arduina veřejně dostupné jako ArduinoCore-avr. Obecnější API pro různé Arduino core je v projektu ArduinoCore-API.

Výhody

  • Velmi rychlý start.
  • Hodně příkladů a knihoven.
  • Dobré pro výuku a menší projekty.
  • Kód bývá krátký a čitelný.

Nevýhody

  • Méně kontroly nad tím, co se děje pod povrchem.
  • Některé knihovny nemusí být dobře napsané.
  • Přesné časování nebo nízká spotřeba mohou být složitější.
  • Přechod na čistý embedded projekt může překvapit množstvím detailů.

Framework není podvod. Je to nástroj. Když potřebujete rychle ověřit nápad, je skvělý. Když stavíte zařízení, které má běžet roky z baterie, možná budete chtít rozumět i nižším vrstvám. Podobnou cestou jde i PlatformIO, které sjednocuje práci s různými deskami, frameworky a toolchainy.