/wdg/ - Web Development General

Previously: >IRC Channel
#Sup Forumswdg @ irc.rizon.net
Web client: rizon.net/chat

> Discord
discord.gg/0qLTzz5potDFXfdT

>Learning material
codecademy.com/
bento.io/
programming-motherfucker.com/
github.com/vhf/free-programming-books/blob/master/free-programming-books.md
theodinproject.com/
freecodecamp.com/
w3schools.com/
developer.mozilla.org/
codewars.com/
youtube.com/watch?v=JxAXlJEmNMg&feature=youtu.be&list=PL7664379246A246CB - "Crockford on JavaScript" lecture series.

>Frontend development
github.com/dypsilon/frontend-dev-bookmarks

>Backend development
en.m.wikipedia.org/wiki/Comparison_of_web_application_frameworks
backendDevelopmentBookmarks.md

>Useful tools
pastebin.com/q5nB1Npt/ (embed) (embed)
libraries.io/ - Discover new open source libraries, modules and frameworks and keep track of ones you depend upon.
developer.mozilla.org/en-US/docs/Web - Guides for HTML, CSS, JS, Web APIs & more.
programmableweb.com/ - List of public APIs

>NEET guide to web dev employment
pastebin.com/4YeJAUbT/
>How to get started
youtube.com/watch?v=pB0WvcxTbCA - "WATCH THIS IF YOU WANT TO BECOME A WEB DEVELOPER! - Web Development Career advice"
youtube.com/watch?v=zf_cb_Nw5zY - "JavaScript is Easy" - If you can't into programming, you probably won't find a simpler introduction to JavaScript than this.


>cheap vps hosting in most western locations
lowendbox.com
digitalocean.com/
linode.com/
heroku.com/
leaseweb.com

Other urls found in this thread:

youtube.com/watch?v=Ghex40XGdLY
github.com/Polymer/polymer/wiki/Who's-using-Polymer?
thinkster.io/mean-stack-tutorial
sailsjs.org/
youtube.com/watch?v=8aGhZQkoFbQ
phpsadness.com/sad/4
phpsadness.com/sad/15
phpsadness.com/sad/48
twitter.com/NSFWRedditGif

>code works in the flask dev server but does not in gunicorn nor uwsgi

the fuck I am doing wrong


Also why the fuck was the other thread deleted

It was at bump limit and fell off the board

youtube.com/watch?v=Ghex40XGdLY

One of the comments:
>Can anyone explain what is dhirecthibs

Ded.

Well, Angular WAS made for non-programmers, so it's obvious that it attracts people like that.

I don't see why you'd want to learn Angular 1 anymore anyway. It's by far the slowest of all the frameworks that exist.
I'd choose Web Components & Polymer.
#UseThePlatform

>polymer
yeah go ahead learn a fucking dead framework lmao

I am putting a simple newsletter signup on my website that is email only. Is it bad practice to have no label (placeholder in the form) or is it fine.

>Dead

Why? Google is pushing it hard. Also it's only a library.

Because I need to learn it (and that is, 1.x version) for my obligatory internship, I don't have a control in it.

When I mentioned this, could someone recommend me something to build which utilizes some more advanced stuff, like promises and interaction with REST api (from Java/.NET)? I get the basics but I don't know what now. I need to be prepared for working on some serious project, and I don't have any work exp.

pushing it hard? the only place they used it was some shitty gaming part of youtube

What's the difference in Polymer vs Angular? I've just seen this demo shop on their site and I don't get it. Same shit.

And the new material design overhaul of YouTube you can see by setting a cookie and not being logged in. A ton of projects on YouTube are using it.

Also they had a lot of talks about it on the I/O 2016 and there will be another Polymer summit.
Meanwhile, Bloatgular 2 only got featured once.

Wait, is Polymer also by Google?

Thank god that that at least I have to learn Angular 1. Second version looks retarded as fuck, there seems to be so much bloat imports and the syntax looks way more complicated.

Anyone SERIOUSLY not kiddingly use MEAN stack?

github.com/Polymer/polymer/wiki/Who's-using-Polymer?

Polymer is a library that is based on the web components standard that is already implemented into chrome and opera and partially other browsers.

Thus Polymer applications will be leaner and faster on supporting browsers because you need to send less JS down the wire (the polyfill can be loaded on demand).

In the end they are similar, both are for creating components. However, Polymer components are just web components and can thus play nicely with any kind of framework or library or what have you. Just import the component and you're done.

Meanwhile, including an Angular 2 component will force you to include the ~900kb Angular 2 shit.

ng1 is garbage, dying piece of shit that cant even do server side rendering and therefore is slow as fuck

>MEAN
>2016
CERN baby
couchdb, express, react, node

the 90kb shit doesnt really matter when you download it in the background and render the page initially on the server side

Yes, but because of the way Angular 1 works (dirty checking), it gets insanely slow when you exceed a certain number of bindings.

This is why React is so popular right now. It doesn't have this problem because it uses virtual dom and it's also backed by a large company that won't go away soon, unlike all the meme.js frameworks that go around on reddit.

I started learning it a few days ago. I'm really looking forward to it. It looked weird at first but now it really feels comfy. I almost continued learning Rails, but I don't like so much bloat, and as far as I know, Node is much faster.

The only thing I'm not sure about is MongoDB. I follow tutorials where it is utilized, but I don't know how easy it would be to replace it with something else like CoachDB or whatever, because I heard it sucks.

I guess the main difference is that Polymer is based on the actual DOM while Angular 2 and most other frameworks try their best to abstract the DOM away as far as possible.

And we all know how expensive abstractions are in JS.

Is there any advantage any nosql database has over sql?

Is there any incentive to use it at all?

wet pussy everywhere you go

When you store data that is not relational, it's great.

When you do, you're fucked, NoSQL is a mess then.
Just use MySQL or Postgres, they both have a JSON field type now which offers all the advantages of NoSQL while still having a structure for the 98% of data that has one.

Any other reason to get into MEAN other than fleecing hipster startups?

Ok, I'll have to write NG1 for a month or so, whatever. I'll try Polymer after that.

Now, I don't understand fully what is the difference between React and Express and why I should use both. Do I need it at all? I'm afraid that I won't learn shit, just like with Rails, if I just import everything with Express.

Node is comfy, Mongo sounds interesting, I didn't have any experience with NoSQL before, but if CouchDB is similar and better I could try it. Or just use MySQL, idk... I could try Polymer instead of Angular, there is no way I will learn Angular2 if I don't have to.

So much shit to work with, I don't even... I also wanted to try Flask, but I switch technologies even before I write a todo app.

I also know the basics of PHP from my class but I kinda don't like it so RIP PHP I guess.

Sometimes I envy brogrammers who don't have to learn so much different shit every year. I'd like to feel comfy, writing everything in a one or two languages and improve in it, and not have to worry about new memeworks on a weekly basis.

Are tutorials like these worth doing?

thinkster.io/mean-stack-tutorial

I don't have much (if any) decent-ish projects in my portfolio and I found myself doing this kind of tutorials. I try to understand all of it as I go, but I definitely can't keep track of everything, so I know I'll have to build something completely by myself after that. I started with a Twitter clone from Rails tutorial (but didn't finish it yet, don't know if I will), then built some pong game in canvas, then some realtime chat app in socket.io, then was looking forward to build a realtime poll app in MEAN but the tutorial is shite. I'm planning to find more of these tutorials and build some more shit with them.

Yes, it is extreme handholding, but I need to understand the process of building some more complicated things than below 100 LOC todos.

Is it a wrong approach? I know it's maybe better to just dive in and find solutions as I go, but I feel frozen every time I want to building something, and don't even know where to start.

>dirty checking
So basically polling? Holly shit, that's retarded performance-wise.

Node is fine, Express is a good time saver. But fuck Mongo and fuck Angular.

What's the general opinion on this?
sailsjs.org/

I gotta say I like it quite a bit. You can set up projects and APIs extremely fast and it's really easy to get into.
Waterline seems good as well but I haven't found much use for it yet. It let's you use the same queries for SQL, Postgres, Mongo, etc...

Why are those particular technologies gathered together in MEAN? Why does it have to be "MEAN"?

I can combine anything else without a problem, right? I could use something like CEPN (CouchDB, Express, Polymer, Node)?

Btw is it possible to be an expert in "KEK"?

What would those technologies be?

I meant "C U C K", wtf Sup Forums.

(Me)
Because it's mandatory to express tech stacks in four letter acronyms, I suppose that makes me a NELP dev. Node, Express, Linux, PostgreSQL.

>limiting yourself to a single DB vendor
disgusting

>We are sorry, but we accept only MEME devs in our agency.

no it doesnt use polling

Cassandra,
Ur/Web,
C#,
Kona

I seriously hope you aren't rendering all of your pages on the server side in [current year]

This.
>falling for the "best product in all use cases"

this so much

had to maintain a project that treated its data relational, but stored in mongodb, that means lots of slow loops and whatnot to make it work

What the fuck is a brogrammer?

Another user here.

I don't know, but brogrammers are the topic of this hilariously titled book

Yes I am. Because its blazingly fast compared to a janky, bloated fully meme-enabled JS rendered single page app.

Time to first render is important, for both UX and SEO, with a fully JavaScript rendered site you're going to be looking at a white screen, or a shitty loading animation for a while because you have to make 200 http requests and then asynchronously load all of that shit into your angular app before it'll show you anything.

Fine, add content with AJAX calls, but SPAs are complete aids. Webpages should be functional with JavaScript turned off, both for accessability reasons, and because everyone has JavaScript off while the page is still loading.

That's because these people have jobs and most of their time is spent maintaining existing projects that have already been written. They're not sitting at home over-engineering their shitty Hello World applications with the latest meme framework.

I work for a company who has most of their sites as asp.net Web form. Some jquery/Javascript has been thrown over the "front end" but for the most part the entire site is a postback nightmare. We've recently begun moving towards an angular front end but the normies I work with have barely taken the time to understand the framework and still write in blocking, synchronous code.

Boss is constantly bitching about things loading slowly and not being responsive. Any one else have to deal with the .net monster and have any optimization tips? Any suggestions for the transition to angular or another front end?

What is your stack?

>Any suggestions for the transition to angular or another front end?

Assuming that ASP just provides a REST that spits JSON out (or lmao XML) you can write the "front end" using anything.

You can even have another server running ASP or PHP or something that just handles templating and sends that shit to the browser after consuming whatever it is that your existing backend sends. That might be a better option if nobody you work with actually understands Javascript's async.

Javscript lets you do a lot of stuff without actually understanding how the language works, resulting in a lot of shit. You could make everyone watch this so they at least understand the asynchronous nature of Javascript: youtube.com/watch?v=8aGhZQkoFbQ

>SPAs are complete aids
Only SPAs that use some shit framework and are not written efficiently with vanilla JS and light libraries. That is to say, almost every SPA ever is complete aids.

I get what you say. But what if you need to make a full length javascript application one day? You will need something more than server-side rendering bro.

Of course, I you are not making a complex web app, server rendering is fine.

So, what's actually wrong with PHP?
I'm genuinely curious.

there are many more mature and thought through languages doing the same job faster.

Which ones are better, and in what ways?

mysqli_real_escape_string

phpsadness.com/sad/4
phpsadness.com/sad/15
phpsadness.com/sad/48

Too many to list. Rather tell us what you like about PHP, and we can tell you how other languages do it better.

What's the best backend language to learn for someone who is just starting out?
>inb4 check the wiki/op
The amount of stuff recommended seemed to vary wildly amongst the links given.

I made a picture to explain.

I spend most of my workday dealing with the node, redis and couchdb parts.

Using vanilla JS for a SPA would be aids to maintain. The reason these frameworks exist at all is because someone tried to make an SPA and ended up making a framework just to deal with it. If you tried to use vanilla JS for a SPA you'd end up accidentally creating your own framework... and then releasing it if you could find a name that wasn't already taken.

I'm all for having Javascript functionality and AJAX calls once the page is in the browser. But even modern meme frameworks like React are capable of rendering on the server side before sending anything to the browser. But Javascript has its place, and adding more shit for the client to do isn't a good direction to go in. "Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away."

Server-side rendering is simply better for performance of the device that you're expecting the user to be on when the view your site, and most likely they're not going to be on a beefy desktop with a 4k screen and a fibre connection like you are when you're developing the thing. The biggest web browsing platform is now mobile, your user could be using a shitty old phone, and have 2 bars on a GPRS connection out in the boonies somewhere, and you want them to download a bunch of Javascript and CSS frameworks on their mobile data just to be able to look at your site.

Stuffing a couple of media queries in your CSS before shipping a bloated janky piece of shit SPA doesn't make your site mobile friendly.

There are two reasons PHP is as popular as it is. The first is ubiquity and ease of deployment. You can write a "PHP script" and put it up on any generic shared host, mostly without needing to consider whether you have access to install and configure all the packages needed.

The second is the way it acts as its own templating system. You can take an HTML file, change its extension to .php, and sprinkle it with . It's quick and easy to get started with, since you can start with just a few lines and build it up from there.

To be clear, PHP is terrible, awful, no-good, very-bad and I don't suggest for a second that anyone use it. But there are reasons for its popularity and I wish people wouldn't ignore them.

Python or Javascript (as in Node). Python is quite slow and can be cumbersome to deploy, but it's elegant and leads to a maintainable codebase. Javascript can be a mess, but it's tolerable if you use ES6, has excellent tooling, and allows you to share some code with the frontend (i.e. validation).

>Using vanilla JS for a SPA would be aids to maintain.
Not really. I'm doing something very close to that right now and it's turning out fine.

What do you guys put in your websites footers, making a small business website. It is a workshop, should I put the address and email in there when I have a contact page with all that shit.

I don't know if its bad to have a home page with no address/phone or email.

>NoSQL

Couch is actually good. Unlike Mongo it actually saves your data.

Read "a fractal of bad design".

It highlights most of the problems.
You can also try folowing the newest RFCs and you'll see that the core devs (the people who vote for new features, changes etc.) are actively voting against any attempt to improve the situation in a meaningful way.

To be fair user, maybe it makes sense for your data set. I wouldn't know. In general, though, I can't imagine giving up nice neat normalized joinable analysable tables for blobs of JSON.

Depends on what you want to do exactly.
With ease of deployment, there are plenty of web hosts that support Node.js now and Go deployment can be as simple as copying a binary/directory. Most others are ugly and cumbersome to deploy and require complicated systems.

The templating is tied to the paradigm. PHP is inherently a script, while more modern platforms provide stateful, eventful, etc. servers, which is a much more performant and maintainable solution. PHP's script paradigm is generally more unique to it, but both and advantage and disadvantage.

The being easy argument is much less pronounced with more modern solutions, like Node and Go, as they can provide a similar level of ease of use, with other benefits.

Basically, most things that PHP is good at, other platforms do better with comparable ease. And most things PHP sucks at, other platforms don't have.

I have a part time job in a museum and they asked me if I could make a Quiz App for them. It's supposed to be a webapplikation with a dashboard where they can log in and edit the questions.

What Frameworks would you suggest for this? I'm thinking about Node+Express+Mongo for the backend.

Also what's a reasonable price to ask for?

Can someone post an example of what php includes would look like using node instead?

Total noob question, sorry.

JSON is not typically blobs. Depending on the DBMS they are analysable, joinable, normalised and/or stored in tables.
>making a framework
I've done this before. A specialised optimised micro framework (may or may not be in-house) can be fast and maintainable, while not as flexible. The key point of course is that it sacrifices abstraction for performance.

What's the best next thing to learn for a php developer?

A different language.

A better language.

Yes, but which one, dumbasses?

JS/TS, Go, Elixir - all good choices.

You want me to use javascript on its own? I've never even heard of Elixir, and I heard not even google themselves use Go, it's a student language.

Basically, the one and only reason to use JS is for serverside rendering, allowing you to use a frontend framework to make frontend development feel like it's really 2015 while still getting fast initial renders and SEO.
Also, JS is a better language than PHP. At least since ES6(2015) which you can actually use in Node.

Go, Scala or C# are the kinds of languages I would learn.

My wife is 27 and she got to be interested in web developing. Is it to late or can she still learn it (on her own) to become a freelance web developer?

She doesn't like her current office job and in future it would be great if she can work from home as we plan to get some kids.

I do freelance webdev. If you hired me to do this, I would:
* Use Node+Express to both process API requests and render page templates
* Use PostgreSQL, or even SQLite if the load is as light as it sounds
* Use SCSS for styling
* Use ES6 with modules for client code, transpiled with Browserify
* Use gulp for compiling the various parts

I'd charge probably $1K USD. It's a very small project and I'd only consider accepting it when my workload is light and I need some extra cash.

>You want me to use javascript on its own?
Yes.
>I've never even heard of Elixir
Now you have.
>not even google themselves use Go, it's a student language
You've heard this directly from Google employees, I assume, because most of their server software isn't public.

>Node
Thing is Node isn't very effective for high traffic websites, at least in my experience.

>Now you have.
That means there won't be any learning material. WDG has been /googling/ since 2010, I should pick something popular.

>You've heard this directly from Google employees, I assume, because most of their server software isn't public.
They have said so, yes.

What should I use on top of spring restful backend?

bootstrap+jquery?

Absolutely not, yeah.

I am a bit confused.

Tomorrow I'll be starting an internship at a company that uses Backbone, Underscore and Require.js. I understand the point of the first two and the general way of interacting with Backbone.

Should I switch out Bower + Wiredep in my gulp boilerplate for RequireJS? Right now it spits out a vendor.js file, minified and uglified. Would it be more efficient to use RequireJS?

Nope, it isn't. You can still build a network of microservices with it though.

I just purchased VPS hosting from Leaseweb yesterday. I have around 8 registered domains on namecheap. I've never done this before so I'm not really sure, but how do I get the domains set up for possible use on Leaseweb?

Even if you haven't used Leaseweb I'd appreciate the input. This probably isn't a Leaseweb-specific issue.


I'm just trying to check if I can find info on namecheap now.

Even Java is better than PHP. Also it's faaaaast

Women and coding don't go together.

point your domains to your vps ip and add them to your webservers host list.

i know some good female engineers, not sure where this meme comes from

you may want to do a require tutorial to get used to it, but once you start they should tell you what workflow to use I would think

don't try and change their mind about require until you figure out who would get all butthurt about it. also, require is fine.

You to go to Namecheap and ask for a domain transfer. You will get an EPP code that you can enter on Leaseweb.

>1. Requesting EPP transfer code from the current provider. You need this code to transfer the domain name. Also make sure you unlock the domain name at the current provider, so you can transfer the domain name away.
2. Request transfer at your new host (Leaseweb)
3. The admin contact of the domain name will receive a link which needs to be clicked to confirm the transfer request. 4. The domain name will then be transferred within 5 days.

Thanks user, will do that.

learn node and js, because all php jobs are webdev jobs, and js is becoming a bigger and bigger part of all webdev jobs. source: work with drupal and wordpress every day, seeing more and more and more node popping up everywhere.

Really 1k only? What do you charge an hour?

>Really 1k only?
What are you expecting for a quiz app?

>$1k
I charged more using modified bootstrap, you can push for more shekels if you're doing the styling yourself.

thanks man

I'll look into it if other method falls through

>Really 1k only?

The Quiz part obviously isn't hard. But the Dashboard is essentially a custom CMS that needs authorization. They also want me to incorporate Analytics

They also asked me if it's possible to incorporate something like QR Codes into the quiz. Imagine the answer for a question is a hidden QR-Code somewhere in the museum that you have to scan. Would that be hard to do?