>

WPF와 Silverlight의 풍부한 프리젠 테이션 기능은 저와 같은 개발자가 다음 프로젝트에서와 같이 요즘 그래픽 디자이너와 더 긴밀하게 협력 할 것임을 의미합니다.

이를 더 매끄럽게 만드는 데 대한 팁과 경험이있는 사람이 있습니까?

예를 들어 최근에 디자이너에게 소스 컨트롤을 언급했을 때 컨트롤 그래픽, 이미지 등을 소스 할 수 없다는 말을 들었으므로 시간 낭비입니다. 그래서 나는 대답했다. 그러나 WPF/Silverlight의 XAML 파일은 어떻습니까?

Scott Hanselman은 podcast 에서이 주제에 대해 이야기했지만 더 집중했습니다. 의사 소통 문제/관심에 더 관심이있는 반면 도구에 대해 설명합니다.


  • 답변 # 1

    디자이너와 긴밀히 협력하는 프로젝트에서 4 개월을 보냈지 만 여전히 CVS (소스 컨트롤 시스템의 선택이 아님)에 대한 기본 아이디어를 얻지 못했습니다. 템플릿 파일, JavaScript 및 CSS를 말하고 있습니다. 그는 어리석지 않습니다. 일을 더욱 어렵게 만드는 일 중 하나 일뿐입니다. 필자의 경우 거의 모든 JavaScript가 마크 업에 의존한다는 점을 고수해야했고 그가 순수 CSS, DIV 기반 레이아웃을 테이블 기반 레이아웃으로 변경했을 때 JS가 깨질 것입니다.

    종종 프로젝트를 진행하는 동안 저 자신과 일을하지 않고 축구를하는 디자이너와 디자이너는 각자의 책임에 대해 열렬한 교류를했습니다. 내가 이러한 교환을 지나칠 정도로 그를 잘 알지 못하면 견딜 수없는 작업 환경을 만들었을 것입니다. 따라서 프로젝트 기간 동안 양 당사자에게 기대되는 것과 정확히 같은 종류의 관리자 또는 프로젝트 감독자와 함께 당신을 설립하는 것이 중요하다고 생각합니다.

    제 경우에는 CVS의 상황이 정렬되어 있고 느낌이들 때마다 마크 업을 변경할 수 없다는 생각뿐만 아니라 CVS의 상황이 정렬되어 있기 때문에 최근에는 거의 문제가 없었습니다. 디자이너는 템플릿 파일을 만들어서 직접 작업하는 대신 정적 파일 만 사용하여 템플릿 파일에 연결해야합니다.

    이것은 커뮤니케이션과 양쪽의 타협에 관한 것입니다.

  • 답변 # 2

    발견 한 것 중 하나는 개발자가 코드를 디자인하는 방법이 디자이너가 할 수있는 일에 크게 영향을 미친다는 것입니다. 그것으로. 코드가 디자이너 내부에서 제대로 실행되지 않기 때문에 웹에서 Silverlight 또는 WPF 샘플 응용 프로그램을 다운로드하여 Blend에서 열면됩니다. 충돌하지 않으면 실행중인 응용 프로그램과 거의 비슷합니다.

    최근에 Tech Design Australia와 뉴질랜드에서 "디자인을위한 디자인"에 적용 할 수있는 기술에 대해 이야기했습니다. 짧은 따돌림 목록이 포함됩니다 :

    <올>

    데이터 바인딩을 활용할 수있는 코드를 작성하십시오. Model-View-ViewModel 또는 프리젠 테이션 패턴이 이에 적합합니다.

    서비스 종속성에 대한 "디자인 타임"스텁을 제공하십시오. 바인딩하는 클래스가 웹 서비스 호출을 수행하는 경우 웹 서비스 클라이언트를 디자이너가 내부 블렌드에서 소비하는 "더미 데이터"를 리턴하는 스텁 클래스로 바꾸십시오. HtmlPage.IsEnabled == false 인 경우 하나의 구현을 주입하여 IoC 및 종속성 주입을 통해이를 쉽게 수행 할 수 있습니다.

    데이터 바인딩을 사용하여 XAML 파일에있는 "명명 된 요소"의 수를 제한 할 수 있습니다. 코드를 많이 작성하면 C # 코드를 txtName 또는 txtAddress와 같은 명명 된 요소와 결합하게되므로 설계자가 쉽게 "나사"할 수 있습니다.

    click 이벤트 핸들러 뒤에 코드 대신 명령 패턴을 사용하십시오. 처리기에서 이벤트의 호출자를 느슨하게 결합하면 덜 명명 된 요소를 가질 수 있으며 디자이너는 특정 명령을 호출하기 위해 단추 나 메뉴 항목 중에서 자유롭게 선택할 수 있습니다.

    Blend에서 코드를 테스트하십시오! 자신을 순수 개발자라고 생각하더라도 도구에서 코드를 사용할 수 있는지 테스트하고 디자인 타임에 최상의 경험을 얻으려고 노력해야합니다. 어떤 사람들은 "테스트 용 디자인"에 대해 불평하고 코드를보다 테스트 가능하게 만들기 위해 소프트웨어 디자인 결정을 내리는 것처럼 툴이 소프트웨어 디자인에 영향을 미치지 않아야한다고 주장 할 것입니다. 현명한 일이라고 생각하며 실제 디자이너 개발자 워크 플로를 진행할 수있는 유일한 방법입니다.

    다른 팁은 작게 시작하는 것입니다. 디자이너가 XAML, WPF 및 Silverlight를 처음 사용하는 경우 먼저 프로젝트 팀에 디자이너를 소개하고 알고있는 도구에서 기본 디자인을 수행하도록하십시오. Adobe Illustrator에서 일부 단추와 그림을 만들어 XAML로 내보내고 디자인 자산을 직접 활용할 수있는 방법을 보여줍니다. 점점 더 많은 것을 소개하면서 계속해서 관심을 가져서 Blend로 전환하기를 바랍니다. 학습 곡선이지만 확실히 가치가 있습니다!

    행운을 빕니다!

    PS : http://jonas.follesoe.no의 내 블로그에서 패턴에 대한 할당량과 디자이너 친화적 인 코드를 작성했습니다. 또한 Tech Ed 강연의 비디오 녹화에 대한 링크와 해당 주제에 대한 추가 정보를 볼 수있는 링크가 많이 있습니다.

  • 답변 # 3

    약간의 주제 일 수 있습니다. 소스 제어 및 그래픽에 대한 귀하의 질문), 바이너리 데이터 (이미지 등)를 소스 제어에 넣을 수 있습니다 (많은 경우에 제 의견으로는)-더 많은 디스크를 차지합니다. 공간 및 diff보기를 사용하여 의미있는 방식으로 변경된 사항을 분석 할 수는 없지만 각 개정판, 롤백 기능 및 쉽게 보관할 수있는 능력을 문서화 한 커밋 메시지 기록 (개정판 태그 지정)은 SVN 용어로 특정 릴리스/버전에 속하는 모든 파일 (비주얼 자산, 문서, 소스 코드 등)입니다. 또한 빌드 시스템이 소스 컨트롤에서 특정 버전의 소프트웨어를 빌드하는 데 필요한 모든 것을 가져 오는 것이 더 쉽습니다.

  • 답변 # 4

    초기 디자인 및 아키텍처 세션에 그래픽 디자이너를 참여시킵니다.

    잘못 정렬 된 가정을 밝히고 벽을 넘어 물건을 던지기보다는 함께 일하는 패턴을 만들기 위해 그것들을 포함 시키려고합니다.

  • 답변 # 5

    원래 전문 디자이너는 Expression Blend 및 개발자는 Visual Studio에서 작업하여 단일 공유 소스 파일 세트를 변경했습니다. 다른 개발자 나 디자인 도구가 기대하는 것을 깨뜨리지 않았는지 정기적으로 확인하는 한, Microsoft 내부의 일부를 포함하여 많은 개발자 커뮤니티에서 발견했습니다. Blend 및 Visual Studio 프로젝트 활동을 유지하는 이점 SEPARATE-디자이너와 개발자가 단일 작업을 직접 수행 할 수 있도록 신중하게 재구성 된 Blend 생성 Xaml 버전을 "공식적인"VStudio 프로젝트 소스에 직접 붙여 넣을 수있는 시점까지 공유 코드베이스. 영국의 Microsoft 사용자 경험 팀 (User Experience Team)은 실제 프로젝트에서 디자이너와 개발자의 노력을 조정하려고 할 때 발생하는 문제를 설명하는 비디오를 게시했습니다.

    Real_World_WPF_DesignersAndDevelopersWorkingTogether

    배운 주요 교훈 중 하나는 서로의 도메인을 완전히 모르는 디자이너 및 개발자와 함께 프로젝트를 수행 할 수 없다는 것입니다. 개발자는 디자이너에게 디자이너가 꾸미는 데 유용한 UI 셸을 제공하고 디자이너가 인터랙티브 한 디자인을 할 수있는 유용한 데이터 "스텁"을 제공 할 수있는 Blend에 대해 잘 알고 있어야하며 디자이너는 자신이 개발 한 개발 문제를 충분히 이해해야합니다. '컨트롤 삭제와 같은 작업을 수행하지 않고 사용자 지정 시각적 요소로 바꾸십시오. 원래 컨트롤과 연결된 모든 기능이 중단되었다는 사실을 깨닫지 못했습니다.

  • 이전 python - 튜토리얼의 여러 SparkContexts 오류
  • 다음 python - 자바 스크립트의 플라스크 url_for URL