Read the statement by Michael Teeuw here.
So then, what languages to learn?
-
Hey all,
I have been working on my MagicMirror on and off for at least a year and have been doing RPI projects on and off for several years. However I up until now I had never completed any of the projects, so it’s up on the wall and it’s looking pretty good at the moment but it’s definietly a Mark 1 and will need improving to Mark 2 later in the year (redo the film as I messed it up, the wooden frame is not exactly straight and I can see the RPI lights).
So, I want to start playing with the modules and customising them for my needs. It looks like the best language to learn is JavaScript and also CSS.
Any suggestions on websites or different languages to learn? I know I can google the hell of the these but I wondered what everyone else approach has been?
Thanks
Nathan
-
@NathTheDude you will need js to give your module some logic, some basic html for the layout and also a bit css for styling.
But you can also write your main logic in nearly every language you want, a couple of people used python for example. Though you would still need a wrapper in js to integrate it to MagicMirror.
-
@NathTheDude said in So then, what languages to learn?:
So, I want to start playing with the modules and customising them for my needs. It looks like the best language to learn is JavaScript and also CSS.
I agree! It’s the easiest way to learn PLUS you can always ask and look in other modules for bits and pieces to see how things work. I mean a sendSocketNotification is a sendSocketNotification… things of that nature.
Again, if you have questions please ask! :) I had to learn it too. It’s not too bad actually once you get the basics…
-
Thanks @cowboysdude and @strawberry-3-141, will start looking at those.
-
@NathTheDude If you’re already familiar with programming, even as a novice, JavaScript won’t be that hard to learn. Here’s a great place to start: https://www.codecademy.com/learn/learn-javascript
And as @cowboysdude mentions, definitely look at other modules to see how things work specifically in MagicMirror.
Don’t overlook the importance of how you structure your HTML markup. Resist the temptation to lay things out using table elements (
table
). Try to usediv
(typically for outer containers) andspan
(typically for elements within a larger container) elements instead. This will give you far more flexibility in your CSS when positioning elements. Take a look at my scoreboard module for an example of how the same markup can be laid out many different ways by specifying a particular CSS class to the outer container. Also, add CSS classes to all the significant parts of your markup. That way you can target any element using your CSS, and you’ll also make other people happy when they want to customize your module with their own CSS. A couple of great places to learn CSS: http://www.css-101.org/ (beginner) and https://css-tricks.com/ (advanced). -
From my attempts at learning, I think JavaScript and Node.JS are different. Even though node is created with JS it would be worthwhile learning Node.js to get an understanding of how it all runs.