Ask Slashdot: Has the Time Passed For Coding Website from Scratch? 302
First time accepted submitter thomawack writes As a designer I always do webdesign from scratch and put them into CMSMS. Frameworks are too complicated to work into, their code is usually bloated and adaptable online solutions are/were limited in options. I know my way around html/css, but I am not a programmer. My problem is, always starting from scratch has become too expensive for most customers. I see more and more online adaptive solutions that seem to be more flexible, but I am a bit overwhelmed because there are so many solutions around. Is there something you can recommend?
Yes (Score:5, Funny)
Setup Dosbox runniing wordstar to do mailmerges to generate your temp pages.
That shit is hand tuned assembler, it will scream.
Re: (Score:2, Funny)
That shit is hand tuned assembler, it will scream.
Yeah, and so will everyone using it. Cover your ears!
Yes (Score:3, Insightful)
You wouldn't grow your own wheat, sugar cane, raise chickensc, etc for the ingredients for your choclate chip cookies. Just go buy the dough from the store. Good enough for 90% of clients out there. For the other 10%, you might make from scratch but you are still going to use store-bought ingredients.
That's WordPress in a nutshell (Score:5, Insightful)
WordPress is the store-bought bread solution. Does what most people need, is advanced enough that most work can be done through the admin GUI, and plugins are easy enough to build that a fellow by-hand person can figure them out without too much difficulty.
The only caveat I'd put on using WordPress is that you need to treat updates like you would on Windows: make sure your WordPress core and plugins are always up to date. Its huge user-base means there's a lot more hackers running automated exploits that'll bog-down a web hosting server if you get compromised, and that might get your account suspended. On our shared hosting we're now recommending clients install WordPress via Installatron (a cPanel addon) and have it automatically patch everything by default.
Simpler sites, but more OS-level issues from going mainstream.
Re: (Score:2)
I'd say Wordpress or Drupal, which one you choose is more a matter of taste.
Re: (Score:2)
Wordpress has a lot going for it, but you do need more than just css and html to get the most out of it. You're going to have a hard time getting themes right without some php knowledge. Newer third party themes do a good job of presenting lots of options for customisation, and that might be enough for many sites. If you're developing for a customer, though, eventually they'll want a tweak to a theme that can only be done by changing the PHP (ideally do this in a child theme).
Re:That's WordPress in a nutshell (Score:5, Interesting)
Wordpress is a goddamn mess.
The average person who uses wordpress, doesn't update anything, and there are theme/plugin developers who push needless feature creep into their updates, and sometimes completely obliterate a clients site because the update conflicts with other shit plugins they were told they needed in the name of security (eg Wordfence) or Mobile compatibilty (Jetpack)
Here's the dealy-o...
If you want a site to look a specific way, create a mock-up in Photoshop, Illustrator, Flash, I don't care what you use, but then send that to someone who knows how to code HTML from scratch. That will get you a static page, and you can test how slow or fast it is. Then you ask someone to wrap the CMS around the theme, not try to hammer the theme into a CMS. Wordpress is often too much for the average person, and is touted by cheap webhosts as a way to get a "Business card" website up. You can't run a serious website on Wordpress AND use a cheap host. Cheap hosts do not install the necessary opcode caches that are required to make the site not run slow and load-spike the server (Dreamhost will just nuke your site if it overloads... because they don't install any php opcode cache.)
What PHP was designed for, was mixing code and PHP together, so it would be compiled once and run many times. But CMS's use PHP's OOP features to make it a hell of a lot more complicated.
My "hand tuned" CMS takes less than 1MB of RAM to run, and less than 1MB of opcode cache space, and performs 100x better than Wordpress does. My static-page generating CMS that uses Perl, performs even better than any PHP cms, but because it has to generate static files, it's not a good fit for readership engagement (short of disqus or intensedebate on the pages.)
And while I'm complaining about Wordpress, I'll mention that I've used other CMS software before, and I would turn my nose up at all CMS solutions unless they were being rolled out onto a large site that has it's own maintenance crew. Drupal or Joomla should only be used if you are using the CMS for absolutely everything, and everything on the server goes through it. Wordpress likewise should be used that way too, but it's difficult to use that way because it contains no security partitions what-so-ever, so one bad apple will spoil the entire system. Hence you end up with a server with 20 independant installs of wordpress, where one of those sites can make the server fall over because the idiot insists on not running the caching plugins because the readership engagement is too fast.
Re: (Score:3)
You can't run a serious website on Wordpress AND use a cheap host. Cheap hosts do not install the necessary opcode caches that are required to make the site not run slow and load-spike the server (Dreamhost will just nuke your site if it overloads... because they don't install any php opcode cache.)
That's not necessarily true (depending on how you define "cheap" hosting services). You may have to shop around a bit, but I've found that most commodity hosting services support at least Zend opcache, or they can support php 5.5, which includes opcache out of the box [php.net].
Re: (Score:3)
Re: (Score:3)
Anybody discounting PHP based solutions based on them being based on PHP doesn't have an opinion I want to base my decisions on.
Re: (Score:3)
Re: (Score:2)
Yuck (Score:5, Insightful)
You wouldn't grow your own wheat, sugar cane, raise chickensc, etc for the ingredients for your choclate chip cookies. Just go buy the dough from the store.
That's quite a leap man. No I would not grow my own sugar cane, but store bought dough is disgusting compared to small effort to make your own cookies from ingredients you buy at a store...
Still Disgusting (Score:3)
12 minutes later, hot chocolate chip cookies.
Make cookies with a recipe that uses actual butter just once and compare them you to "Toll House" and you will never go back.
Plus you get to decide the kind and QUANTITY (hint: a lot) of chocolate you use in your own custom cookies. And it's really simple to just add a few things together to make real cookies.
Re:Yes (Score:4, Interesting)
Hmm, this sounds like a false dichotomy.
The problem could be formulated like:
"I know how to use HTML and CSS and javascript too, but:
- translating my design to a complex CMS is time consuming, new versions might impose a lot of updating, and I must keep ahead of the plug ins that offer the functionality my site needs. Js widgets also need more work or attention to be succesfully integrated.
- static site doesn't cut it because I need dynamic features like user logins or have data that is better organized in a DB
- roll-your-own dynamic site with scripts requires a lot of attention to security and vulnerabilities"
An answer could be: use a lightweight framework that does not impose many restrictions on the structure. Radiant [radiantcms.org] for rails is the classic one, but I prefer wolfcms [wolfcms.org] because it is a bit easier to deploy and has no domain specific language for templating, you embed PHP. Radiant needs an extension to do that.
In such frameworks you could start with your hand crafted html and:
- Put your hand made html pages in the CMS tree. The advantage is that you can login to the server to edit and upload content without much fuss (watch out for upload limits in php.ini though)
- Separate design (using layouts) from content, so that less repetition and more consistency is achieved.
- Automate navigation so adding a page to the tree updates the links and the site map.
- Use either the DB or the page parts (they are like db fields, the page is like a record) to further separate content from presentation, so that even unskilled people can add content.
- Refactor functionality in plugins so they get reusable (if you're getting a pro)
If you're going to need app-like functionality, though, a full stack framework like web2py rails or the thousand others is where you'll likely end up, eventually.
Off-the-shelf vs. custom (Score:3)
Your food analogy works quite well, I think.
If I want a quick but useful meal when I get home after a very long day, I can pick up a ready meal from the store and throw it in the microwave or I can stop by a burger joint and get some fast food. This requires negligible effort and makes me not hungry any more.
Alternatively, I can pick up some meat and vegetables and a tin of sauce from the store or the market and cook something myself following a recipe in a book. This requires more work from me, but it prob
Re: (Score:3, Funny)
If you wish to make bread from scratch, you must first invent the universe.
Become a Programmer (Score:4, Interesting)
...and write a generator, to your own specification.
Become a Brogrammer (Score:5, Insightful)
Choose a CMS you like (Score:5, Insightful)
I know all the php/wordpress snobs on
Re: (Score:2)
What "online adaptive solutions" OP saw will influence the answer.
From scratch, vs learn a framework CSS, is a huge savings, either way.
Re: (Score:2)
Honestly, if you just want to get a site with a few pages up for a client without a ton of money to spend, wordpress is the perfect solution. It takes mere minutes to set up a wordpress blog and install a theme, then just customize the images/content and you're done.
I think Wordpress is pretty horrible under the cover, but in the realm of "it just works," it's hard to beat for simple web sites.
Re:Choose a CMS you like (Score:5, Insightful)
Not like web servers haven't had their share of bugs; but you'd think Adobe had something to do with Wordpress.
Re: (Score:2)
Re: (Score:2, Insightful)
I know all the php/wordpress snobs on /. will dismiss this and laugh but personally if i'm building a site for someone (usually for no money and limited time) I just install wordpress, 'secure it',
I dismiss this and laugh because you think you can secure WordPress.
If you're using WordPress for clients, you better budget in the time you/they will spend upgrading WordPress to fix its latest security vulnerabilities.
Re:Choose a CMS you like (Score:5, Informative)
I know all the php/wordpress snobs on /. will dismiss this and laugh but personally if i'm building a site for someone (usually for no money and limited time) I just install wordpress, 'secure it',
I dismiss this and laugh because you think you can secure WordPress.
If you're using WordPress for clients, you better budget in the time you/they will spend upgrading WordPress to fix its latest security vulnerabilities.
Actually you can upgrade Wordpress with the click of a button on the Admin panel. You can even delegate that to your users. Or have Wordpress.com host you. Yes, there are more secure frameworks (your hand-made one is not among them), but few that receive as much auditing as the widely deployed Wordpress.
Building websites based on Wordpress is super-easy, there are extensions for everything, and you can let other people design and integrate the layout/template. Also, other people can take over what you leave behind.
Your other options are things like Drupal or Joomla!, but they take significantly more effort to adapt and hack.
Re:Choose a CMS you like (Score:4, Insightful)
Some WordPress plugins are well-written and secure. Most WordPress plugins are messy and were written by people who haven't even heard of code injections. If you want your WordPress to be secure, don't use plugins. Ever. At least not without a full code review by someone who knows how to write secure code in PHP.
Seriously. Most WordPress CVEs these days are for plugins and after having seen the code of a few dozen plugins I can see why. Do not trust a WordPress plugin you have not verified yourself.
Google Sites (Score:4, Informative)
If all your client wants is a simple/stupid brochure site that they can maintain, just build it in Google Sites with a Google account they can own. You can do a whole site in 1-3 hours depending on how much custom graphics you have to build. You can reasonably charge $250-1000 depending on your time, and spend an hour training them on how to maintain it so you don't have to in perpetuity.
I've done this just a few times now (twice for free), and every time I'm glad I did. The more you dig into it, the more you realize it actually does allow for *some* customization. If you get into the scripting, you can do even more. I see tech-challenged people starting their small (1-20 people) brick & mortar businesses and being totally lost on things like document sharing, company email, web sites, cloud storage, etc. I just hook them up with the Google Business apps...$50/person/year. It's cheap and works.
Re: (Score:2)
I don't understand how he considers that "from scratch"...
Re: (Score:2)
You can use (a hardened) WordPress without much i
Re: (Score:3)
I run a few WordPress sites and log all bad login attempts. Around 98% of the login attempts use "admin" as the username. The remaining 2% are mostly split up between "administrator" and the name of the site (if your site is example.com, they try "example"). There are others, but these are the vast majority of attempts. If you change your administrator account so that it isn't one of these three, you'll get reasonably protected against brute force login attempts. (Go ahead and try to brute force my "ad
Re: (Score:3)
So, the problem is.. (Score:3, Interesting)
i) Frameworks are too complicated - but poster admits he is not a programmer (hence the framework difficulty) and unqualified to judge their complexity.
ii) Complains about things being too expensive to make (again, how is he making sites form scratch without being a programmer? I think he must at least have some coding skills, mor than he credits himself with)
The answer: Frameworks are there to reduce time to market; if he's refusing to use modern tools and frameworks, much is explained.
(I'm not suggesting frameworks are good in general; but a good framework is good in its niche; you want to put up a blog.. it takes 10 minutes using an existing blogging framework; you want to write it yourself, order of magnitude more time.)
So .. this is his problem, not a systemic problem?
-black
Re:So, the problem is.. (Score:5, Interesting)
He's making sites from scratch without programming because HTML isn't programming. Most small business/personal websites require little to no work even at the javascript level. He isn't talking about writing a blog, he's talking about a dozen screens for a restaurant with their location, menu, and a few pictures. Which still probably shouldn't be done by hand anymore unless its a personal for fun project.
Re:So, the problem is.. (Score:5, Informative)
I can program and I maintain the web site of our family business with as much static html as possible. The actual places where dynamism is required (E.G. class bookings) is handled with CGI in python. Credit card processing is farmed out to stripe.
Thus the total amount of code that needs to be comprehended is small. A few hundred lines.
The long term savings in terms of enabling staff to go in and edit stuff live has saved a fortune.
What works for one business may not work for another. I tried Django and the sheer volume of stuff I needed to do to get the same functionality up was huge and then the staff couldn't edit it because for all that's claimed for Django, there's a big model you have to get in you head before you can start meddling with it, and that means web professionals who cost a lot of money.
Mod Parent Up (Score:5, Interesting)
Here's my website. [taoriver.net] I invite anybody to look at the source code, and compare it against your run-of-the-mill WordPress website.
Here are the 249 lines of Python code [taoriver.net] that I use to render it. In addition to the source code, there are x6 template files (each less than 1KB large), and x1 CSS file (less than 2KB).
What the parent post says, rings true to me.
No need for Django, no need for frameworks, no need for deployment systems beyond DropBox.
"The long term savings in terms of enabling staff to go in and edit stuff live has saved a fortune." -- This especially rings true to me.
"I tried Django and the sheer volume of stuff I needed to do to get the same functionality up was huge and then the staff couldn't edit it because for all that's claimed for Django, there's a big model you have to get in you head before you can start meddling with it, and that means web professionals who cost a lot of money." -- And this too. (And I'm a professional Django developer, by day.)
I heard recently that there are people working on an "Indie Web" [indiewebcamp.com] concept; I'm all in favor.
Re:Mod Parent Up (Score:5, Insightful)
Here's my website. [taoriver.net] I invite anybody to look at the source code, and compare it against your run-of-the-mill WordPress website.
It doesn't do comments on blog posts, it does not have an interface to post new blog entries, it does not keep track of which articles have been viewed. You might as well generate your pages from templates and serve them statically, 0 lines of python needed on the webserver.
Re: (Score:2)
Here's my website. [taoriver.net]
Great. I now know far more about you than I ever wanted to. You're into some really freaky cult-like shit ...
Re: (Score:3)
Re: (Score:2)
Far better a Restaurant site in HTML... (Score:5, Insightful)
...than one of those bloated, slow-loading, all-Flash restaurant front-ends that take 20 seconds to load and animate before they show you the location, hours of operation, or any menus.
restaurant: templates. Slashdot: hand code (Score:2)
Yep, for a local restaurant or dry cleaner, your priorities are to get a nice looking site up within a very reasonable budget. It should be reasonably usable on a smart phone for travelers and people out for a night on the town. Using third party templates makes the most sense. If the site needs to be updated often, use a CMS with those templates.
If you're building Slashdot, the pages need to load fast, they should be accessible for all browsers, including audio for the blind, you should think about peop
Re: (Score:2, Informative)
HTML is a markup language, not a programming language. Creating a web page with HTML is not programming. If you think it is, you're just wrong.
Re: (Score:2)
Sorry, you're wrong. By your definition, this post is programming because I'm encoding commands for what should be displayed on screen in the form of ascii commands. HTML and CSS are not programming, they're design.
Re: (Score:2)
HTML is a functional, not an imperative, language. Perhaps the reason that you don't recognize this, is that you never knew there is such a thing as a functional computer language. Both types of computer languages tell a computer what to do, but they do it each on their own level. Functional languages don't care how a problem is solved, as long as it is solved. Another example of a functional language is SQL, another example of an imperative language that renders graphics as its core business, is postscript
Re: (Score:3)
Re: (Score:3)
this is just not true
any time you use code to write computer instructions it is "programming"
he uses CMSMS, which means he only codes part of the site "by hand"
internet coding is not complex compared to coding a first-person-shooter, but the demands of the individual coder are different
i've seen many coders spend 10 minutes writing some executable code then spend an hour figuring out how to get it to go where they want in the HTML page on a website to look right
HTML is structure and layout, not programming.
CSS is structured storing of display values, not programming.
Using a structured specified format to lay out static structural content is not quite the same as "computer instructions" Unless you call using notepad to write a shopping list "programming" (you're using the code of the alphabet to instruct the program to display them in a specific static order.....)
If you need your site to do more than display pages of content, you need something more.
A programmi
Re: (Score:3)
Re: (Score:2)
Well, if you're billing hourly you can probably craft your own damn curly braces from scratch, and profit, but you're probably ripping off your customers by doing so, and you risk being forced out of the market by the guy with the site generator who can knock a zero off your price.
My emphasis. This is exactly what the OP is running into and he/she sounds like a buggy manufacturer in the age of automobiles. However, at least they recognize they need to finally learn some new tools after becoming too expensive for their clients if they want to stay in business. Hence the lazy Ask Slashdot question. I say "lazy" because they just need to do their homework since only they know what their needs are.
Re:So, the problem is.. (Score:5, Insightful)
(I'm not suggesting frameworks are good in general; but a good framework is good in its niche; you want to put up a blog.. it takes 10 minutes using an existing blogging framework; you want to write it yourself, order of magnitude more time.)
Problem is it works so well that clients immediately want fifty adjustments not covered by any plugin, and now you're spending ten times longer untangling spaghetti code slapped together by a myriad of well meaning contributors with no interest at all in documentation trying to make that happen.
Obviously. (Score:3, Informative)
Re: (Score:2)
Why would you need to learn any of the others if you already know javascript?
Re: (Score:2)
Why would you need to learn any of the others if you already know javascript?
So you're not continuously wasting time reinventing the wheel.
Re: (Score:2)
No, instead you're wasting time keeping up with the latest and greatest libraries and fashionable trends.
Learn the basics, feel free to use the experience of those that came before to avoid reinventing the wheel, and forget the fancy frameworks.
If someone asks do you know jQuery, tell them no, but you could write it from scratch.
Re: (Score:3)
Yeah, we had a guy at work that came from a C programming background that thought the same. But you know what, in software contracting programming that doesn't fly:
Bluntly, this stuff is a great deal easier than C.
A: Since it is a waste of time trying to get a bug-free code that you wrote from scratch, instead of using something that does the same and it has been heavily tested by everyone.
B: The peculiarities of that particular code you write will not have anything close to the documentation you find for some libraries out there, so again, huge waste of time for the whole team trying to understand "your" way.
Which is great right up until the client requests something not covered in the framework/library, and then hey, you're back in the trenches praying to stackexchange.
C: The whole oh sorry that doesn't work yet part, but we'll get there. (probably two weeks after the deadline if you ever have time)
Yes, which is exactly what happens when you're faced with a requirement not part of the framework's capabilities.
had to act as a mediator to bring some common sense, especially when we had to compete with some other companies that were using the full angular/grunt stack.
Ever had to explain to a client why you could roll out this great website in a couple of days, but changing the layout of the calendar will take a week or so while you unpick the vario
Re: (Score:2)
That doesn't make it a subset of C. For some reasons, C programmers tend to take the reasonable claim of "could learn ..." and stretch it to "know ...".
Windows XP has been insecure for nine months (Score:2)
Oh and your code will be compatible with an Internet Explorer that runs on Windows XP.
For public-facing websites, Internet Explorer on Windows XP hasn't been important for nine months. That's how long ago Microsoft stopped releasing security updates to Windows XP. So we can assume Internet Explorer on Windows XP to be 0wn3d and therefore incapable of upholding the user's privacy.
Re: Windows XP has been insecure for nine months (Score:3)
Wrong. Your customers and customers customers decide when you don't support your OS and ancient version of IE.
XP still has more daily users than all of Macosx and will continue to be used for another decade. Just because update isn't supported anymore doesn't mean the average IE 8 user who doesn't know what a browser even is will stop using it until the machine no longer turns on.
He will think you suck and not his platform
Time to fire stubbornly insecure customers (Score:3)
Your customers and customers customers decide when you don't support your OS and ancient version of IE.
When your customer can't take standard measures to protect the confidentiality of its own information or the information of your "customers customers", it's time to fire a customer.
About 7-8 years ago? (Score:5, Interesting)
Re:About 7-8 years ago? (Score:4, Interesting)
Except 99.999% of web developers will never work for a Fortune 500 company with those kinds of demands. And even if they do they'll still need to know the code back to front.
Re: (Score:2)
I'm now curious as to if there are any statistics on where web developer work ends up...
I started programming before the internet exi
Re: (Score:2)
Re:About 7-8 years ago? (Score:5, Interesting)
I work at Amazon, and I can tell you that there's reams of code written from scratch... and then left to moulder in a corner. Once in a while you might find and old package that still works, saves you a ton of time, and impresses your coworkers, but mostly you'll just get partway through setting it up and you find that it depends on something else that has become incompatible or deprecated.
Knowing what packages are available, what they do, and whether they're still working is a word-of-mouth operation; people occasionally try to gather this tribal knowledge in a wiki page, but the page usually fizzles out after a little while. After six months someone else starts up another wiki page to do the exact...same...thing. This is also why 'the wheel' has been reinvented dozens of times here.
Re: (Score:2)
It really depends on scale. If you run a small site, one that gets less than 10 million hits a month or so, you're fine on a run-of-the-mill CMS like Wordpress. Though I should mention many frameworks will fall over at much less load due to poor design decisions.
It gets interesting when your concurrency goes higher. Things like ORM baked into many frameworks break down, and if your site is interactive, it's a lot harder to add effective caching.
Over the last six years I designed a Linux-Nginx-MySQL-PHP stac
Re:About 7-8 years ago? (Score:4, Informative)
Yeah, the time for coding them from scratch probably passed about 7-8 years ago.
Uh huh.
May I suggest a counterpoint [motherfuckingwebsite.com]?
Learn (Score:5, Interesting)
My advice is to become familiar with HTML/CSS/JS/PHP/MySQL or whatever and build your own stripped down frameworks, basic stuff like a CMS and frontend scaffolding. Then you can adapt that as need be, add bits on or take them away, change it while keeping costs down (since you've already built the basics) and maintain a minimal profile.
It's not that hard once you start laying the foundations.
Honestly, the web is dead. Abandon ship. (Score:2)
There are still tech companies doing stuff that require high-paid expertise, but website design isn't one of those things. So much of the work has been already outsourced to third world countries there's no point anymore in trying when your next cheapest competition is willing to work for 5$ per week. Just get out of the web. Its no longer a high-paid or even respected career choice. You can make better money at Starbucks.
Eff No! (Score:3)
Man up, and get thee to a text editor!
Obvious solution. (Score:2)
In fact, is there anything worth doing on the 'inter-net' for which something very similar isn't true?
Your problem... (Score:5, Interesting)
Your problem is you've mixed design with the site HTML.
Developers are notoriously bad at design work. Being a developer, I can tell you that we are not usually great at the artsy aspects it takes to design good sites.
However, if you give us a design, we can transform it (using our preferred frameworks) into a working site.
Somewhere along the way you got the idea that you can do it all, but that's your problem. You can't (and shouldn't) be coding or generating all of the pages. If your expertise is design, then have at it. But after your design is done, hand it over to a developer for implementation.
Just as I don't want to see a developer designing, I don't want to see a designer developing.
designers are fucking awful! (Score:2, Insightful)
Design right now is the biggest fucking problem.
I see the shit going up these days that's designers are crapping out, yes the designers, and I want to see the developers going back to doing the design.
Crap like: ohh look we have continues pagination on a page, and see the floating search/header bar that scrolls down the page as you scroll. And pages that transform as you type into the search bar.
It's fucking awful! Stop that shit!
If you're a trailblazer, yes (Score:3)
There are guys like Matthew James Taylor and David Walsh who code new and innovative interfaces and widgets - but even their sites are database driven (even maybe homegrown) CMS that they use to display their code inventions.
I write extensions for a popular CMS which make it more useful for myself and others, but an HTML/CSS only designer will have a tough learning curve to jump into that type of development as there are many languages working in concert (PHP/ASP/Java, JS, JSON, XML, SQL, INI, HTML, CSS, ???) with HTML/CSS being perhaps the least used.
Not that I couldn't, but I wouldn't hand code an entire site these days. Efficiency and productivity is the key now and you just can't compete with a modern CMS in those regards.
Couple of CMS options to consider (Score:2)
http://pagekit.com/ [pagekit.com] - The company behind this (Yootheme) has a good track record.
Do your pages load fast? (Score:5, Interesting)
If your page isn't fully loaded in less than 2 seconds over a real world network without using cache, potential clients have will leave before the 1st page load.
If you can write pages that load fast, keep doing the custom work. If your pages are slow, fix it or fix your technique.
I haven't written my own webpage for over a decade (Score:2)
I just use sort of CMS pick some template and off I go.
Static website frameworks - the sweetspot! (Score:3)
Use something like Nikola [getnikola.com] or Pelican [getpelican.com] with [favourite python template system here] to hit the sweet spot between hand-coding/frameworking and CMS. You can adjust any part of the look, feel and templating easily and you can enable customers to have a very easy/cheap way to get the site up, running and maintainable.
Because it is a static website there is no security maintenance needed. You don't have to be a programmer to work with a lot of these static site generators and the time investment to learn them is quite low in my experience.
Also, you can always just drop a PHP script (or embed snippets that are compiled in) with the static site to do any dynamic stuff you may need.
Static website frameworks - the sweetspot! (YES!) (Score:3)
And for Ruby fans there are Middleman [middlemanapp.com] and Jekyll [jekyllrb.com] (among others) with [favorite Ruby template system here].
In fact, you can mix and match templates from like a couple-dozen choices, (using partials) even in the same page. Write headers, footers, menus, etc. in Slim [slim-lang.com], body text in Markdown [daringfireball.net], head material (script and style links, etc.) in ERB [stuartellis.eu] etc. etc. etc.
Slim is great for fine-grained elements - it's got the wierd HAML-like syntax but without the stupidity of HAML. Takes some getting used-to, but perfect for
Save to PDF (Score:5, Funny)
Make your websites a PDF file. It will always look and print nicely without wasted time quibbling over screen size, browser compatibility, fonts, CMS security patches or complaints from clients who need your help changing x, y AND z by themselves for free.
The nice thing about PDF files creating them is just a click away for most WYSIWYG publishing systems and by withholding source document your clients will have no way of making any changes without paying you.
If you object to my response with reasonable arguments it may be better to consider a different approach better addressing your (customers) specific needs.
Re: (Score:2)
Re: (Score:2)
No man, just create it in MS Word and save as index.html in the html format (that part is important I heard) and then upload it with frontpage. Solved!
Frameworks (Score:3)
The beauty of frameworks and content management systems, is there are so many of them to choose from. You really need to do your research, and find one with a very simple templating system.
I, personally, have built my own. I've built and rebuilt it a dozen times now, and it is teetering between framework and CMS. I can crank out a nice, fully responsive, easily managed (with point and click editing) website in an evening.
My pricing is considered high to other local "shops" (ie. basement dwelling teenagers, or those who outsource to india).
I compete in the following ways:
- built fast (depending on project scope)
- no templates, every project is custom designed and developed
- complete customizablilty, and purpose built functionality (restricted by budget, of course)
- actual support (email, or telephone)
- hosted on our infrastructure
I will manage every aspect of the site, including content updates, online marketing, and social media.
Although, I will admit, I make more money building (standards compliant) web based applications for medium sized businesses.
The time for "from scratch" is gone for ALL of IT (Score:5, Insightful)
I can't think of a single thing I do or would want to do with a computer that doesn't have some sort of toolkit, library, framework, or other component out there to get a "leg up" on doing the work, unless you're only doing the most basic and simplistic pieces of code or presentation. In the case of HTML, that means a text document without images, video, or sound; never mind "active" components of the interface via JavaScript.
The hardest lesson to learn as a programmer is that "not invented here" is code for "I am too arrogant to use someone else's solution."
Re:The time for "from scratch" is gone for ALL of (Score:4, Insightful)
Well sure. No one should ever invent anything without written permission from the Flying Spaghetti Monster, countersigned by Bill Gates, His Holiness the Pope and the ghost of Alan Turing. I mean everyone knows that!
Seriously, I quite agree with Dutch Gun's point that we all build on the work of others. I just think that blindly accepting third party solutions can be just as bad as blindly rejecting them. And if no-one ever reinvented the wheel, we'd probably still be coding in COBOL
Re: (Score:2)
And where do those frameworks come from, genius? They were built by the very people you call "too arrogant to use someone else's solution".
You sir, are not a programmer. You are a cobbler-togetherer.
We all build on layers of software written by others, and those layers grow deeper and more expressive as we move forward in time and those layers grow and mature. People like to bitch about how bloated today's software is, but the simple fact of the matter that a lot of those "bloated" layers we bitch about also give us a tremendous leg up in raw productivity and functionality. And yes, everyone knows those layers and abstractions come at the expense of CPU efficiency, and while it's still important to a
Re: (Score:2)
Bingo! At least one person gets my point! :D
CSS (Score:3)
I would be nice if popular CMS's were not so slow (Score:2)
Because of that I continue with my own CMS or create my own then feel foolish for doing so rather than figure out how to get around the integration problems or break them apart to improve their performance.
Anyone else go through this?
Comment removed (Score:4, Interesting)
Re: (Score:2)
Nope. Throwing faster hardware at a problem is much cheaper than having a team of developers spend weeks optimizing a framework or making a new one.
Generally true, but extremely large scales can flip this around. It's the reason C++ is still being used, especially in places like the data center. When your apps have to scale up to millions of users, efficiency still matters, because it translates directly into CPU cycles, which translates directly into ongoing overhead costs. Admittedly, a relatively small percentage of developers are likely working at that scale, but I thought I'd mention that caveat.
I build modular sites (Score:4, Interesting)
It depends on your customer (Score:2)
My problem is, always starting from scratch has become too expensive for most customers. I see more and more online adaptive solutions that seem to be more flexible
Obviously, a solution from scratch is more expensive to develop than a templated one.
If you can throw up a cookie-cutter solution that satisfies the customer, it will be to your advantage for a good percentage of cases.
For customers that need high quality tailored code from scratch, that is just fine, but it's a different kind of project,
my 2cents (Score:2)
instead of Wordpress, try a MVC framework and a Bootstrap 3-based theme has your jumping off point.
i currently use Laravel and BS3 themes from wrapbootstrap.com or, of course, themeforest.
you should find that with composer, you can easily install whatever modules you may need in Laravel, and the hand-coded aspect of the prebuilt BS3 themes makes integrating them pretty darn easy.
it works for me.
Has this person even heard of Sinatra? (Score:2)
Static generator (Score:2)
Use a static site generator. Gets you the best of both worlds. Jekyll is pretty good.
Learn at least some programming (Score:2)
I don't think you can get around learning a bit about programming, but depending on you ambition, it may not have to all that much.
Starting at the front-end and working towards the server side:
1) Learn Javascript + how to use jQuery. This works exclusively on the browser side (except for AJAX) and you can do an amazing lot with it. It is quite easy, and jQuery makes it very easy.
2) Learn a server-side technology. Node.js seems to be popular and there are some that use only that - the advantage being that yo
Depends on the need... (Score:3)
I'd ask yourself (or the client):
If the answer to several of those questions is "yes" and you don't already have a bulging toolkit of your own solutions, then I'd go with off-the-shelf CMS or blogging software. Alternatively, you could do a really nice front-end "sales brochure" in lovingly handcrafted HTML and then link to a CMS/Blog for news, support, customer forums etc.
Frameworks... can have uses but beware the "rapid application development" tarpit whereby you get your basic site/application working in record time and then hit a brick wall because you need to do something that the framework designer never anticipated.
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:3)