Brauche ich für React Native HTML und CSS?
Moin,
ich lerne gerade HTML und CSS. Anschließend möchte ich JavaScript lernen und damit dann auch React Native.
Wenn ich dann eine mobile App schreibe, brauche ich dann noch HTML und CSS?
1 Antwort
Nein.
In React kannst du Oberflächen entweder mit React.createElement aufbauen oder JSX nutzen. JSX ist eine Erweiterung von JavaScript, die an einigen Stellen an HTML oder eine Templatesprache erinnert.
Beispiel:
const greeting = "Hello world!";
const element = <h1>{greeting}</h1>;
Auch CSS wird in React nicht verwendet, stattdessen setzt man Styles über JavaScript-Properties oder React Native StyleSheets (eine Abstraktion von CSS). Allerdings erinnert das System an die Möglichkeiten, die man auch im Web nutzt. So kannst du bspw. Inline Styles verwenden oder einen separaten StyleSheet anlegen.
Wenn du allerdings HTML und CSS nutzen möchtest: Dafür gibt es Lösungen. Du kannst dein CSS bspw. durch ein Transformationstool (wie react-native-css-transformer) jagen und genauso gibt es HTML Renderer (wie react-native-render-html). Des Weiteren gibt es in React eine WebView-Komponente.
HTML und CSS sind nichtsdestotrotz hilfreich. Zumal du schon damit begonnen hast, kannst du es ruhig abschließen (so ganz zu einem Ende kommt man wohl nie, denn es entwickelt sich ja alles immer weiter). Vielleicht möchtest du ja doch irgendwann noch einmal auf sie zurückgreifen und evt. Webseiten bauen oder sie doch in JSX integrieren.
Für einen Einstieg in JavaScript könnte ich übrigens p5.js empfehlen. Es handelt sich dabei um eine Bibliothek, die in Webseiten integriert werden kann, um Animationen / Minispiele u.ä. zu erstellen (Beispiele findest du hier). Sie ist dafür ausgelegt, Anfängern einen leichten, motivierenden Start in die Programmierung zu geben. Weiteres dazu habe ich hier schon einmal geschrieben.
Alles klar vielen Dank!
Ich werde mir p5.js mal anschauen.
liebe Grüße :)
Danke, das war wirklich sehr hilfreich, würdest du mit empfehlen zu erstmal html und css weiter lernen oder direkt weiterzugehen und JavaScript lernen ?
lg