3 ms·
Ask HN: What are your web dev preferences and interests today?
Suppose you are about to begin a new, massive project that includes web dev. What tools and techniques are you going to choose and why?
- g105b 8y agoThe main technique that I choose is to build web applications using only web technologies - by that I mean tech that is included within the concept of "World Wide Web" and "HTTP" (links, pages, forms, buttons, etc.), rather than building using immature/unproven technologies such as single-page-application frameworks or other client-side rendered tech. The reason I find it important enough to write in this reply is that there are so many web developers (actually, moreso web designers) that are absolutely sold on the concept of JavaScript running the whole stack, and I have found it very difficult to tame the development decisions of recent projects where working with others is a requirement. There are certainly concepts that client-side frameworks have made popular that are much better for the developer and end user, but I have yet to see a valid argument for not rendering that page on the server and enhancing its functionality, where needed, using CSS and JavaScript. I don't want to bet the success of my product on an upcoming hot framework that overrides browser navigation/scrolling, as oftentimes when a client-side framework becomes very popular, it starts finding the same problems that the World Wide Web solved twenty years ago.
- Dowwie 8y agoWhat libraries/techniques/tools are you using for this traditional style web development?
- g105b 8y agoI like to adhere to Uncle Bob's _Clean Architecture_. Any server-side language will allow this; I choose PHP 7 and am currently working on an open source toolkit that brings modern techniques to PHP. It allows me to code using standard techniques with little-to-no library dependency. For example, it's a great idea to code the views of the web apps in plain HTML, and to make HTML dynamic, use the well-understood Document Object Model, rather than introducing something {{LIKE_THIS}} which instantly makes your application bound to the platform. You can see this in action in part of the toolkit here: https://Github.com/PhpGt/DomTemplate https://Github.com/PhpGt/DomTemplate Using the DOM in this way doesn't impose anything on the actual HTML, so in theory the views of the app can be switched out to use another framework/language/platform without too much effort. While documenting the toolkit, I have tried to apply Uncle Bob's _Clean Architecture_ to the web, coming up with this description: https://github.com/PhpGt/WebEngine/wiki/Application-architecture https://github.com/PhpGt/WebEngine/wiki/Application-architec... On the above page I've described how I apply the techniques within the toolkit. Feedback appreciated.
- lsiunsuex 8y agoI built an app late last year - gave it up when another project went south. Back then, it was Swift for iOS, AngularJS 1.x for the frontend, PHP / Lumen for the backend and both Firebase and MySQL for storage. Had to take a day job, had to learn new stuff there. Lately I've been thinking about bringing it back to life / finishing it (it was probably 75% done). If I do it'll be Angular 6 frontend, C# backend, still Swift for iOS and still a mix of Firebase and some sort of SQL (probably MSSql) for the database. I've worked out some other infrastructure problems I had last year, which is why I may attempt it again and just that it was a really good idea and we had real interest in it just - life happens... 'been getting a lot of job postings for C# developers, so if the project goes south, again, at least I'll have a real example in C# I can show off.