Separating code from design

  • Thread starter Chad Z. Hower aka Kudzu
  • Start date
C

Chad Z. Hower aka Kudzu

I want to do this.

I want my programmers to do all the code. All of it - run at server and run
at client.

I then want a graphic artist to make the look and the layout of the pages.

The graphic artists cannot use VS to edit the files. They will use any HTML
tool of their choice.

The files that they edit must not contain any developer code. That is the two
must be independent files so that at a later date a graphic artist can
redesign the site without a developer, or any developer tools.

And the opposite, developers must be able to change the logic (but not what
controls exist, or add new ones) without modifying the designer files, or
involving a designer.

It appears that this is not possible in ASP.net. I know about code behind,
but its my understanding that client side JS and other aspects would still
end up in the files the desinger would need.

a) Is my understanding correct.

b) Is there a way to do this is in ASP.net now? If not how about in ASP.net
2?

c) What is the guessimated time of release for ASP.net 2?


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"


ELKNews - Get your free copy at http://www.atozedsoftware.com
 
K

Kevin Spencer

Hi Chad,
a) Is my understanding correct.

Sort of. Your problems are not what you think they are. They are more along
the lines of the fact that this is not a passive web site, but a web
application. An HTML document is static; a web application Page is dynamic.
It is not layout, but uses layout to present the user with an interactive,
dynamic User Interface. Therefore, you can't simply separate the HTML from
the code. The code CREATES the HTML.
b) Is there a way to do this is in ASP.net now? If not how about in
ASP.net 2?

Again, sort of. You can do a number of things which will effectively
separate MOST of your logic from your layout, particularly if you use CSS to
manage your layout. See http://csszengarden.com for examples of CSS handling
almost all the layout characteristics of a web page. However, again, we're
talking about an application which MUST generate HTML for the user. So, your
interface can't be entirely developed by one group or the other. On the
other hand, if you go that route (correctly), the graphic designers will
probably only have to ever change the CSS files, and not touch the code.
c) What is the guessimated time of release for ASP.net 2?

I don't know, but don't expect it to solve your problem. This is simply an
inherent quality of dynamic web applications.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 
M

Max

It sounds like you have a good understanding, so what's the problem? You'll
never be able to separate code from design totally.

I think you have to understand that separating code from design starts with
the design of your application, and the skills of everyone on your team. It
just takes good project management skills. You also have to realize many
people have hybrid skills. I use Photoshop and Flash as much as I use
VS.NET. When I have trouble with my code, I'll go to a senior programmer for
help.

In VS.NET you can have the graphic artists give you the PSD's or the whole
page in HTML from which the programmers can use as a reference when they
program the controls that render the pages.

-Max
 
C

Chad Z. Hower aka Kudzu

Max said:
It sounds like you have a good understanding, so what's the problem?
You'll never be able to separate code from design totally.

I can do all, but my graphic talents are not good. Technical ability does
not equate to talent. And in many cases does not.

Most programmers are not good cross overs and produce layouts and designs
that they are very proud of but make the rest of the world go ack!

And most graphics types often dabble in scripting languages and do ok on
very simple stuff. They then gain enough confidence to venture deeper and
in most (not all cases) produce spaghetti code that a programmer has to
then come in and clean up (or more often is the case rewrite it).

If there could be true separation, or a least a very high degree then you
can have the best of both worlds. Sure Ive seen small companies where the
janitor might also be an accountant - but is that really what we want?

I see it that the tools are forcing, or more or less "pushing" programmers
to be designers and vice versa. That is - we are working around the tool
constraints, not because its the best practice.

My question was based on how we would like to do our development and making
sure that my assesment of how ASP.net can do it and to what degree were
accurate. We are working on something for ASP.net that will quite likely
increase the separation very very close to the degree I described, to the
point that it is very practicable as such.

I would love for nothing more than to be able to build a complete
functional application and afterward pass it to a in house or contracted
out web design team and let them use their tools without ever having to
touch mine. And after have it integrated without me or my team needing to
"push" or cram things back into our system.

Then later we can change at whim, either the design, or the code without
the need to bother the other side or be dependent on them.
I think you have to understand that separating code from design starts
with the design of your application, and the skills of everyone on your

I do understand that - but design is limited or made more difficult, or
easier by the limitations and capabilities of the framework and tools being
used.
team. It just takes good project management skills. You also have to
realize many people have hybrid skills. I use Photoshop and Flash as

I dont want Janitor/Accountant/Dental surgeons.
In VS.NET you can have the graphic artists give you the PSD's or the
whole page in HTML from which the programmers can use as a reference
when they program the controls that render the pages.

That creates a liability, the programmers have to push it into their design
and work around it. Often breaking it and making it harder to update later.


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"


ELKNews - Get your free copy at http://www.atozedsoftware.com
 
C

Chad Z. Hower aka Kudzu

Kevin Spencer said:
Sort of. Your problems are not what you think they are. They are more
along the lines of the fact that this is not a passive web site, but a

Actualy it is - the layout and static parts are exactly that. Passive. As an
application developer I am controlling only the dynamic parts.
Again, sort of. You can do a number of things which will effectively
separate MOST of your logic from your layout, particularly if you use
CSS to manage your layout. See http://csszengarden.com for examples of
CSS handling almost all the layout characteristics of a web page.

Ive been there before. I didnt look at the sources of these particular ones,
but I assume they are like the others and rely on XSLT transformations? ie
thus eliminating the tools preferred by the graphic artists.
I don't know, but don't expect it to solve your problem. This is simply
an inherent quality of dynamic web applications.

Inherent quality of limitation we treat as a inherent quality?


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"


ELKNews - Get your free copy at http://www.atozedsoftware.com
 
C

Chad Z. Hower aka Kudzu

Michael Pearson said:
Well, here's one thought. I've never done this but I've read that it
can be done.
If you make your entire site a Flash app, the Flash folks can call some
.Net Components (Web services usually) and handle getting data. You

Thanks for the ideas. But this one wont work either. Need to stick to HTML
and JS. And unless the artists are just going to make nice flash, it then
requires programming which puts the mixture element back. :)

Flash can separate it - but the UI is still being programmed. All they've
done is split it into a tier and turn the web brower into a local executable.
ActiveX + SOAP or the like.

That is - you've seprated the logic from UI, but not the aesthetic from
source code. This can be done with ASP.net now by just using business
objects.
Take a look at this:
http://www.dotnetjunkies.com/HowTo/E03F192F-E8DD-4CD8-82AD-7B2D2E537421.dcik


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"


ELKNews - Get your free copy at http://www.atozedsoftware.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top