2010-06-17 1 views
4

나는 우리의 응용 프로그램 모음에 웹 사이트 빌더를 추가해야 할 의무가있다. 우리 고객의 대부분은 비 기술적 인 중소 기업 소유자 (벽돌과 박격포 상점, 엄마와 팝 샵)입니다. 나는 내가 완전히 Blogger Template Editor을보고 있어야하며, 내가 완벽하게 기능하고 사용하기 쉬운 것을 만들 수 있는지 알아 내려고한다고 들었다. 고객이 웹 개발에 대해 알지 못해도 자신의 비즈니스를 온라인으로 가져올 수 있어야한다는 생각입니다.'웹 사이트 빌더 만들기'- 어떻게 구성합니까?

저는 주로 하루 하루 C#과 실버 라이트로 작업합니다. 따라서 .net을 사용하는 것이 나에게 가장 좋은 방법 일 것입니다. ASP.NET MVC 및 SPARK는 매우 매력적이지만 다음과 같은 작업을 수행하는 방법에 대해서는 확신 할 수 없습니다.

1- 디자이너가 특정 형식을 사용하는 템플릿을 만드는 데 사용할 수있는 템플릿 시스템을 내 앱과 호환됩니다. 거기에 일반적인 프레임 워크가 있습니까?

2 클라이언트가 사이트의 변경 사항을 유지하는 방법 (예 : 클라이언트가 배경색을 변경하고 페이지에 재료 목록을 추가하는 경우).

편집 : 예 저는 이것이 큰 과제라는 것을 알고 있습니다. 나는 fullblown CMS를 작성하려고 합니다만, 고객은 매우 제한적이고 기본적인 기능이 필요합니다. 반복적 인 프로세스라고 생각합니다. 제품이 성공하면 나중에 더 많은 개발자가 나옵니다. 나는 이러한 우려를 우리 관리자에게 알려줄 것입니다.

처음에는 몇 가지 템플릿 레이아웃을 제공하고 CSS로 다양한 섹션과 색상 및 이미지를 사용자 정의 할 수 있도록 할 계획입니다. HAMLSass은 유용 할 수 있으며 데이터베이스의 모든 사용자 지정 매개 변수를 유지할 수 있습니다.

오른쪽 라인을 따라 생각하거나 여기에서 완전히 벗어 났습니까?

답변

6

귀하의 요구 사항에 따라 크게 달라질 수 있습니다.

간단한 해결책은 콘텐츠/다른 템플릿으로 나중에 채워지는 자리 표시자를 사용하여 여러 개의 기본 템플릿을 만드는 것입니다.

e.e. 템플릿은 다음과 같습니다

<html> 
    <head><title>foo</title></head> 
    <body> 
    <div id="menu">{auto_generated_menu}</div> 
    <h1>{page_header}</h1> 
    <div id="content"> 
     {page_content} 
    </div> 
    </body> 
</html> 

는 그런 다음 페이지 머리글 및 page_contents, 즉 첫 번째는 바로 텍스트 상자 수 있습니다를 정의하는 간단한 방법으로 사용자에게 제공, 컨텐츠는 TinyMCE에 같은 것을 사용하여 채워집니다. 필요한 경우 클라이언트는 콘텐츠에서 다른 자리 표시자를 사용할 수 있지만 그럴 필요는 없습니다.

자동 생성 된 메뉴를 추가 한 후에는 자리 표시자를 사용자 입력 내용 (의 줄에있는 내용)으로 대체하는 논리를 만들고, CSS 스타일 시트에 색상 및 글꼴 설정이 제공되는 CSS 스타일 시트를 추가 할 수 있습니다. 고객.

가장 복잡한 부분은 백엔드 및 사용자 인증입니다.

이 솔루션은 구현하기 쉽고 실제 유연성이 전혀 없지만 고객이 몇 가지 텍스트를 빠르게 작성하고 다른 것을 신경 쓰지 않고 멋진 이미지를 추가 할 수 있습니다.

색상 설정을 유지하려면 변경 될 때마다 데이터베이스에 기록하고 새 CSS 스타일 시트를 만드십시오. 다른 콘텐츠의 경우 "키"및 "값"열이있는 데이터베이스 테이블 "콘텐츠"만 사용하면 모든 변경 사항에 대해 정적 HTML 페이지를 생성 할 수 있습니다.

4

.NET과 함께 가고 싶다면 아주 좋은 커뮤니티 인 Umbraco를 사용하는 것이 좋습니다. 현재 Webforms로 작성되어 있지만 다음 버전 (5)은 ASP.NET MVC에서 다시 실행 중입니다.

Microsoft의 Web App Gallery에서도 사용할 수 있으므로 설치가 용이합니다.

4

귀하는 효과적으로 전체 내용 관리 시스템을 작성해야합니다. 이는 경험에 따라 빌드하는 데 6 개월에서 24 개월 정도 소요될 가능성이 큰 거대한 작업입니다 (이는 다른 CMS의 개발 시간 기준). 예를 들어 Umbraco (오픈 소스 ASP.NET CMS) 개발자는 CMS를 ASP.NET MVC로 포팅하는 중입니다. 올해 초에 작업이 시작되어 내년 중반까지 구축 될 것으로 예상됩니다. 업계에서 가장 재능있는 개발자 중 일부입니다.

나는 당신의 재능에 의문의 여지가 없지만, 당신의 상사가 당신에게 일할 시간이 너무 많거나 최소한의 기능으로 극단적 인 기본 웹 사이트 빌더를 계획하지 않았다면 아마 완전 한 웹 사이트 빌더를 만들거나 CMS가 씹을 수있는 것보다 더 많이 물고 있습니다.

다른 포스터가 추천 한 것처럼 .NET 개발자 인 경우 Umbraco과 같은 시중에 나와있는 기존 CMS를 사용해보아야합니다.

자신 만의 건물을 고집하는 경우 심각한 계획이 필요합니다.DDD (Domain Driven Design)와 같은 소프트웨어 아키텍처 디자인 패턴, Dependency Injection과 같은 SOLID 원칙, 저장소 패턴, Persistance Ignorance, 서비스 계층 등을 살펴보십시오. MVC는 확실히 올바른 방법입니다. 또한 Martins Fowler의 책 Patterns of Enterprise Application Architecture 또는 Dino Esposito의 또는 Eric Evans를 확인하십시오. Domain-Driven Design: Tackling Complexity in the Heart of Software