4 ms·
If you want to work on the front-end, learning fundamental JavaScript will be your best asset. It will help you in job interviews, help you understand other dev
by 49531 11y ago
If you want to work on the front-end, learning fundamental JavaScript will be your best asset. It will help you in job interviews, help you understand other developer's code, and help you make good decisions in your own code. The front-end is full of amateurs, it's easy to stand out as a serious developer by truly understanding the language of the web.
- Tloewald 11y agoActually knowing Javascript, HTML, and CSS is pretty darn huge if you want to do front-end work. Solid front-end people are very much in demand.
- afarrell 11y agoDo you have any tips on how someone with a solid background in CS fundamentals, js, and backend dev can learn a mental model of HTML and CSS layout such that it doesn't feel like playing Wack-a-mole?
- TearsInTheRain 11y agoLearn about the DOM and then just start building stuff. Html and css have enough idiosyncrasies that you kind of have to learn by doing. Start with building something simple using mostly jquery and then learn about MVC and move on to more complex front end frameworks when you need them. Dealing with CSS will probably always feel like playing whack a mole.
- danpeddle 11y agoFeel your pain - I remember vividly struggling with these things when beginning. here's a few hints.. - Avoid floats as much as possible. They are useful, but understanding where and when to use them takes time. Using display: inline-block will take you a long way. - Height comes from the parent element, in general. A really common mistake is trying to do something like 'height: 100%;' when the parent element has a height of zero and not getting why it doesn't work. Here's an example that uses 80%/20% height layout, without any craziness: http://codepen.io/dazld/pen/jbrLoa http://codepen.io/dazld/pen/jbrLoa - Whitespace is important with inline elements. Trying to figure out why inline-block stuff has a gap? Check if there is any whitespace around the markup, remove it and see if that helps. Playing with CSS & HTML is incredibly rewarding and fun once you develop fluency - and not as complex & arbitrary as may seem at first. Stick with it!
- insin 11y agoDOM is a tree of hodes, HTML is used to define the tree. Each DOM node generates a box. Different node types generate different types of boxes by default. CSS controls visual formatting of the boxes, including changing the box type. The CSS 2.1 visual formatting model specification no longer covers everything CSS can do, but I found it useful when trying to get a feel for what was going on back in the day: http://www.w3.org/TR/CSS21/visuren.html http://www.w3.org/TR/CSS21/visuren.html
- Tloewald 11y agoI think you end up playing wack-a-mole for a very long time. Indeed I think browsers add new moles faster than they can be whacked. For every bit of horror that gets "fixed" we get a couple of new bits of craziness and the fix is usually I nconsisfenfly implemented and has its own issues. There are two good things about jquery, flawed as it is — it lets you get stuff done without really understanding the details and it presents a usable idealized picture of what the DOM ought to be without pushing your face into the underlying mess. It also provides a pretty satisfying programming idiom for JavaScript.
- pjmlp 11y agoI do native front-end development currently. No JavaScript required. There are enough native positions across all desktop and mobile platforms.
- 49531 11y agoThis is a book about front end development on the web.
- pjmlp 11y agoI don't see that on the title.
- swah 11y agoI wonder if I should look into native development or I can live with JS + backend (Python/Go/SQL) development. Reason: end of 3 year government project with embedded software (which I really enjoy but hate the tooling)
- pjmlp 11y agoHave you looked into Qt? You might find some interesting stuff here from Qt World Summit 2015: https://www.youtube.com/watch?v=FUlRqjeEzuc&list=PLizsthdRd0YzYIFh5RCVG3xWsWqrX9yFw https://www.youtube.com/watch?v=FUlRqjeEzuc&list=PLizsthdRd0...