Olá Leonardo, tudo bem com você?
Vou tentar te explicar com um exemplo essa questão de alto e baixo nivel, vamos supor que vamos criar uma classe Formulario da seguinte maneira:
class Formulario extends Widget
Quando herdamos de Widget
temos a obrigação de criar a nossa implementação de createElement
, e para isso precisamos fazer uma série de configurações relacionados as suas propriedades, forma de atualização, entre outras coisas que podem ser bem complexas
Quando herdamos de StalessWidget
ou StatefullWidget
estamos falando de alto nível, mas qual a razão?
A questão é que essas duas classes que eu citei, já herdam de Widget e já configuram as coisas para nós, veja:
abstract class StatelessWidget extends Widget {
Então a nossa responsabilidade diminui na medida em que estamos um nível maior, não precisamos fazer as implementações de Widget
(pois já existe alguem fazendo).
Então quando falamos sobre essa questão de nível estamos normalmente querendo dizer um pouco sobre a hierarquia de heranças, quanto maior o nível de herança mais alto nível estamos, e menos precisamos nos preocupar com algumas implementações que as outras classes já fizeram para nós :)
Na maioria das vezes iremos trabalhar com componentes de alto nível, o Flutter nos da essas 2 classes por padrão para simplificar nosso desenvolvimento, porque eles já tem tudo que precisamos para criar um elemento , por exemplo, até os widgets
padrões como Text
e Column
são de alto nível, porque ambos também herdam de Stateless para ter essas abstração de configuração :)
Conseguiu Compreender? Qualquer coisa estou a disposição :)
Abraços e Bons Estudos!