นักพัฒนาเว็บฟอร์ม ASP.NET และนักออกแบบเว็บไซต์: วิธีการโต้ตอบ?


17

ฉันเป็นผู้พัฒนา ASP.NET Webforms และฉันประสบปัญหาบางอย่างเมื่อฉันจัดการกับนักออกแบบ

asp.net server controlsนักออกแบบมักจะบ่นเกี่ยวกับ พวกเขาต้องการเพียงแค่มีไฟล์ html และสร้างcssไฟล์พร้อมกับรูปภาพที่ต้องการเพื่อไปกับไฟล์เหล่านั้น บางครั้งถ้าขั้นตอนการออกแบบเสร็จสิ้นล่วงหน้าฉันจะได้รับไฟล์ html ที่มีไฟล์ css ที่เกี่ยวข้อง แต่จากนั้นเราประสบปัญหามากมายที่รวมการออกแบบเข้ากับaspxไฟล์ (ตัดการควบคุมการควบคุม telerik ... ฯลฯ )

สิ่งที่ฉันต้องการถามคือ:

  • ฉันจะเอาชนะปัญหาเหล่านี้ได้อย่างไร นักออกแบบต้องการนักพัฒนา php- และ mvc เนื่องจากปัญหาเกี่ยวกับการควบคุมเซิร์ฟเวอร์. net ฉันจำเป็นต้องรู้วิธีโต้ตอบกับนักออกแบบในวิธีที่ถูกต้อง
  • มีเครื่องมือหรือแอพพลิเคชั่นใดบ้างเพื่อให้นักออกแบบสามารถแสดงผล (หน้า html) ของหน้า. aspx ได้หรือไม่? โดยที่ฉันหมายถึงหน้าใน runtime มากกว่า aspx ใน Visual Studio พวกเขาใช้ Web Expression แต่พวกเขาต้องการเพจที่แสดงผลเป็น html เช่นกัน

5
Nerf Bats เป้า
Joel Etherton

3
มีเครื่องมือใดที่จะให้หน้า html รันไทม์ที่แสดงผลหรือไม่ เว็บเซิร์ฟเวอร์ควรใช้งานได้
psr

6
นี่คือเหตุผลที่ฉันจะไม่ใช้ตัวควบคุมเซิร์ฟเวอร์ APT.NET ถ้าฉันต้องใช้ ASP.NET ฉันจะใช้ APT.NET MVC อย่างชัดแจ้ง
ryanzec

3
@ryanzec อย่างแน่นอน มุมมองมีดโกนเป็นสิ่งที่ดีสำหรับเรื่องนี้เช่นกันเพียงเล็กน้อยแบบไดนามิกคำสั่งและส่วนที่เหลือเป็น HTML แบบตรง นักพัฒนาพบว่ามันง่ายต่อการพัฒนาและใช้งานนักออกแบบชอบเพราะมันเกือบจะเป็น HTML ที่บริสุทธิ์
Earlz

3
@Ryathal - แสดงไฟล์ Skin ให้พวกเขาเพื่อส่งไปที่ประตู ธีมและสกินนั้นไร้ประโยชน์อย่างยิ่งสำหรับนักออกแบบส่วนใหญ่ พวกเขาเป็น. NET ของการจัดแต่งทรงผม (ส่วนใหญ่) ที่ไม่เป็นธรรมชาติสำหรับนักออกแบบเว็บไซต์
เกรแฮม

คำตอบ:


29

อดีตนักออกแบบที่นี่หัน Dev และฉันเคยฉี่และครางเกี่ยวกับการควบคุมเว็บด้วย สุจริตมันถูกกว่ามากสำหรับนักออกแบบที่จะปรับการปฏิบัติของพวกเขากว่าสำหรับ. NET นักพัฒนาที่จะเจาะลึกการกำหนดเองของ GridView เพราะนักออกแบบยืนยันว่าแต่ละ TD มีแท็ก 'rel' (หรืออะไรก็ตาม)

Arseni Mourzenko ชี้ให้เห็นอย่างชาญฉลาดการตัดสินใจใช้ Webforms เป็นตัวเลือกของ บริษัท ที่ จำกัด การควบคุม HTML บางส่วนในขณะที่ให้ประสิทธิภาพในการเขียนโค้ด เว้นแต่ บริษัท ยินดีที่จะพิจารณาอีกครั้ง (ซึ่งพวกเขาไม่ควรทำเพื่อทำให้ผู้ออกแบบพอใจ) นักออกแบบจำเป็นต้องยอมรับความจริงนี้ นี่คือบางสิ่งที่พวกเขาสามารถทำได้:

1) หยุดขึ้นอยู่กับ ID คืออะไร ถึงแม้ว่าสิ่งนี้จะรู้สึกผิดในตอนแรก แต่ฉันก็พบว่าชีวิตนั้นง่ายขึ้นมากเมื่อฉันออกแบบทุกอย่างด้วยชั้นเรียน (และการสืบทอดแน่นอน) ก่อนอื่นมันทำให้น้ำหนักตัวเลือกของฉันเท่ากัน ในการสืบทอด CSS ID สำคัญกว่า CLASS มันดีจริง ๆ ที่มีทุกอย่างเป็นเด็กและ / หรือตัวเลือกชั้นเรียนและทำให้การหาลำดับความจำเพาะง่ายขึ้นเล็กน้อย สิ่งเดียวกันในเลเยอร์ JS มันทำให้ฉันมีความเจ็บปวดเป็นศูนย์เพื่อแลกเปลี่ยนตัวเลือกที่ใช้ ID ของฉันสำหรับคนที่ใช้คลาส

2) สอนพวกเขาว่า RadioButtonLists และ CheckboxLists แปลงเป็นอย่างไรพร้อมกับ Label = span, Panel = div และสิ่งอื่น ๆ ที่ไม่ชัดเจนเกี่ยวกับการควบคุมเป็น html วิธีที่. NET แสดงผลเหล่านี้ไปยัง HTML นั้นเป็นสิ่งที่แปลกกว่าที่ฉันคาดไว้เล็กน้อยและมันง่ายกว่ามากสำหรับฉันที่จะสร้างหน้าจอเมื่อฉันรู้ว่า HTML นั้นจะออกมาจากส่วนควบคุมเหล่านั้นอย่างไร

3) ให้พวกเขาทำนักออกแบบของพวกเขาใน ASPX โดยตรงไม่ใช่ HTML ดิบ ( ! สำคัญ ) สอนนักออกแบบเกี่ยวกับพื้นฐานของ GridViews, ListViews และอื่น ๆ ให้ตัวอย่างข้อมูลโค้ดแก่พวกเขาเพื่อผลักดันการเก็บรวบรวมวัตถุที่ไม่ระบุชื่อในการควบคุม Grid / ListView หากพวกเขาสามารถเรียนรู้ CSS ได้พวกเขาสามารถเรียนรู้วิธีคัดลอกวางรหัสนี้ได้พวกเขาสามารถใช้ VS Web Express เวอร์ชันฟรีซึ่งค่อนข้างดีที่ CSS & JS ทำงานได้ในขณะนี้ โปรเจ็กต์เว็บจำลองเหล่านี้จะให้โอกาสผู้ออกแบบในการป้อนตัวควบคุมบางส่วนจากนั้นดูแหล่งที่มาเพื่อดูว่าพวกเขามีการแสดงผลอย่างไร

4) อธิบายว่าแท็กรูปแบบที่ใช้ใน .NET ลืมเรื่องนี้ไปก่อนหน้านี้ แต่สิ่งที่นักออกแบบจะต้องคุ้นเคยก็คือปกติแล้วแท็กรูปแบบเดียวจะล้อมทั้งหน้า สิ่งนี้จะเปลี่ยนแปลงวิธีการควบคุมแบบฟอร์มและคุณไม่สามารถซ้อนแท็กแบบฟอร์มโดยไม่มีผลข้างเคียงแปลก ๆ ตรวจสอบให้แน่ใจว่านักออกแบบเข้าใจสิ่งนี้มิฉะนั้น HTML ในรูปแบบของพวกเขาจะเป็นฝันร้ายใน WebForms

5) อยู่ห่างจากธีมและสกิน แม้ว่า. NET Framework จะมีเครื่องมือเหล่านี้เพื่อช่วยในการควบคุมสไตล์ของแอพพลิเคชั่น แต่พวกมันดูแปลกและแปลกไปสำหรับนักออกแบบเว็บทั่วไปและฉันก็ไม่เคยพบพวกมันมาก่อนเลย ดูเหมือนว่าเป็นเครื่องมือที่ดีในการพัฒนาผู้ที่ไม่เชี่ยวชาญใน CSS แต่จะทำให้นักออกแบบชะลอตัวลงเท่านั้น ให้นักออกแบบทำงานในสภาพแวดล้อมตามธรรมชาติ (ไฟล์ html & css) และพวกเขาจะมีความสุขและมีประสิทธิผลมากขึ้น

6) ให้โครงการ "ต้นแบบ" ในการแก้ปัญหาเว็บไซต์ของคุณ เพื่อให้แน่ใจว่านักพัฒนามีเป้าหมายในการสร้างรหัสต่อต้านอยู่เสมอให้นักออกแบบสร้างโครงการเว็บปลอมในโซลูชันที่แท้จริงของคุณเพื่อให้เพจ ASPX เท่านั้นที่เก็บรักษาไว้และไม่ถูกแตะต้องโดยนักพัฒนาจริง ซึ่งหมายความว่าผู้ออกแบบสามารถมองย้อนกลับไปที่ต้นแบบในโซลูชันเดียวกับโครงการจริงเพื่อตรวจสอบว่านักพัฒนาทำอย่างไรและผู้พัฒนาสามารถเรียกใช้ต้นแบบในเวลาใดก็ได้เพื่อให้แน่ใจว่างานของพวกเขาตรงกับเจตนาของนักออกแบบ

ในที่สุดต่อต้านการร้องเรียนใด ๆ ที่จะแปลงเป็น MVC เว้นแต่คุณจะพร้อมฝึกอบรม Devs ของคุณอีกครั้ง ฉันรัก MVC เป็นการส่วนตัว แต่ถ้าคุณมีทีมที่มีความรู้มากมายใน WebForms อย่าไปโยนทิ้งไปโดยไม่มีเหตุผล หากแอปพลิเคชันของคุณกำลังมีปัญหา ViewState ปัญหา SEO หรือปัญหาการเข้าถึงได้ง่ายให้ MVC ดูเป็นเรื่องยาก แต่มันจะใช้เวลามากขึ้นในการฝึกอบรม WebForms devs บน MVC มากกว่าที่จะฝึกอบรมนักออกแบบวิธีการใช้การควบคุมเว็บ

ในตอนท้ายของวันไม่มีการออกแบบฉันมาข้ามที่ฉันไม่สามารถทำงานใน WebForms แม้ว่าฉันจะสาบานที่มืดมน GridView หนึ่งชั่วโมงก่อนที่จะคิดออก

มีเครื่องมือหรือแอพพลิเคชั่นใดบ้างเพื่อให้นักออกแบบสามารถแสดงผล (หน้า html) ของหน้า. aspx ได้หรือไม่?

ลืมการแสดงออก (ฉันไม่เคยชอบมัน) รับ Visual Studio เวอร์ชันฟรี (Web Developer Express) มันสามารถเชื่อมต่อกับโซลูชันการควบคุมแหล่งข้อมูลใด ๆ ที่คุณมีและมันจะช่วยให้นักออกแบบเรียกใช้เพจ ASPX และดู HTML ที่แสดงผลในเบราว์เซอร์ การใช้เครื่องมือ CSS และ JS นั้นดีกว่าที่เคยเป็นมาและมีเครื่องมือที่ยอดเยี่ยมมากมายที่นำเสนอในขอบเขตเช่น Web Essentials การแปลงกฎ CSS ด้วยการคลิกเพียงครั้งเดียวให้เป็นความเบี่ยงเบนเฉพาะของผู้ขายตัวเลือกสีและจานสีทั้งหมดในอินเตอร์เฟส VS คลิกเดียวการฝังรูปภาพลงในไฟล์ css 'การแปลง CSS' น้อย '(คุณสามารถ' โค๊ด 'ใน CSS) F12 'นำทางไปยัง' บน JavaScript รวมถึงการใช้งานจริงอย่างแท้จริงและอีกมากมาย มันเป็นขุมสมบัติสำหรับนักออกแบบตอนนี้ FYI


3
บรรทัดสุดท้ายของคุณ ... ทางออกระยะยาวคือการทนทุกข์ทรมานและปรับตัวแทนที่จะแก้ไขสาเหตุที่แท้จริง? (ที่ต้นเหตุกำลังรักษาเว็บแอปพลิเคชันเหมือนมันเป็นแอปพลิเคชันบนเดสก์ท็อป)
Earlz

3
@Earlz - มันสามารถสร้างความรู้สึกทางธุรกิจได้หากคุณมีพนักงานของพนักงานพัฒนาที่ไม่มีแบนด์วิดท์เพื่อรับกระบวนทัศน์ใหม่ (MVC) เพียงเพราะพนักงานออกแบบอื่น 1-2 คนไม่ต้องการปรับให้เข้ากับ WebForms ฉันกำลังบอกคุณไม่ใช่เรื่องยากสำหรับนักออกแบบที่จะปรับให้เข้ากับ WebForms หากพวกเขายินดีที่จะปล่อยบางสิ่ง (ID กับความหมายของคลาสการควบคุมที่แม่นยำของแท็กฉลาก ฯลฯ ) ดูฉันตัวเองเป็นนักออกแบบที่คร่ำครวญเกี่ยวกับ. มาร์กอัป. NET อย่างต่อเนื่องจนกว่าฉันจะรู้ว่า (เว้นแต่คุณจะอยู่ในเกม SEO) html source แหล่งจริงๆไม่สำคัญ ฉันขอโทษ แต่มันเป็นเรื่องจริง
เกรแฮม

1
@Earlz: สาเหตุที่แท้จริงคือนักออกแบบไม่สามารถทำงานได้ในสื่อ การเตรียมพวกเขาให้ทำงานในสื่อกลางน่าจะเป็นทางออกที่ประสบความสำเร็จมากที่สุดในระยะยาว
ไวแอตต์บาร์เน็ตต์

3
ไม่ต้องพูดถึงความจริงที่ว่านักออกแบบในบางครั้งมีค่าใช้จ่ายน้อยกว่านักพัฒนาต่อชั่วโมงดังนั้นนักออกแบบที่ราคา $ 30ph จะต้องเปลี่ยนอะไรบางอย่างได้ดีกว่านักพัฒนาที่ราคา $ 60ph เปลี่ยนบางสิ่งบางอย่างเพราะนักออกแบบ
TheMonkeyMan

เงินรางวัลที่ 1 ของฉันชนะ woot!
เกรแฮม

8

มีวิธีการแก้ปัญหาของคุณเป็น แต่มันเกี่ยวข้องกับการเปลี่ยนแปลงรูปแบบการออกแบบเพื่อ MVP นี่คือการลงทุนล่วงหน้าของเวลาที่ต้องพิจารณาอย่างจริงจังก่อนที่จะเริ่ม

โดยทั่วไปปัญหาที่คุณพบไม่ใช่เรื่องใหม่ ในระยะสั้นคุณจะต้องแนะนำมุมมองที่เป็นนามธรรมผ่านส่วนต่อประสานที่ระบุรูปแบบข้อมูลที่มุมมองรองรับ

มันเป็นหัวข้อที่ครอบคลุมมากซึ่งทำให้รู้สึกถึงการเห็นรูปแบบเป็นตัวอย่างชีวิต คุณจะพบตัวอย่างนี้สวยข้อมูลสำหรับกรณีของคุณ - รูปแบบเว็บที่ดีกว่ากับรูปแบบ MVP

แก้ไข:หากข้อเสนอแนะดังกล่าวข้างต้นมีราคาแพงเกินไป (ในแง่ของเวลาและทรัพยากร) ที่จะปฏิบัติตามแน่นอนฉันจะให้คำแนะนำในการทำงานกับนักออกแบบของคุณมากขึ้นใกล้เคียง ฉันเชื่อว่าการสื่อสารปัญหาของคุณภายในทีมจะช่วยแก้ไขปัญหาในการทำงานของนักออกแบบและนักพัฒนาของคุณได้เป็นอย่างมาก นี่คือการทำงานเป็นทีมและการทำงานร่วมกันที่ดีของปัญหาเพื่อขจัดอุปสรรคทั้งหมดในการทำงานเป็นวิธีที่จะประสบความสำเร็จในโครงการเป็นทีม ! นี่คือสิ่งที่เราทำในโครงการของเรา


1
+1: นี่เป็นวิธีแก้ปัญหาที่ดีเนื่องจากข้อ จำกัด ของปัญหา (ASP.NET Webforms) แต่เมื่อคุณชี้ให้เห็นว่าสิ่งนี้อาจมีราคาแพงมากเพราะต้องใช้วินัยและเวลามาก (ซึ่งหมายถึงเงิน) ฉันยืนยันว่าถ้า OP มีความสนใจในโซลูชันที่รวมทุกอย่างแล้วเขาควรพิจารณาเปลี่ยนเป็น ASP.NET MVC (แทนที่จะเป็น Webforms MVP) OP จะเก็บเกี่ยวผลประโยชน์อื่น ๆ อีกมากมายเช่น TTM และการรักษาผู้พัฒนานอกเหนือจากการสื่อสารที่ดีขึ้นกับนักออกแบบ
จิมจี

6

ASP.NET เป็นเฟรมเวิร์กซึ่งย่อส่วนโค้ด HTML ที่สร้างขึ้น ซึ่งหมายความว่าคุณจะไม่สามารถถูกขอให้ทำซ้ำว่าโค้ด HTML ได้รับในโปรแกรมประยุกต์ ASP.NET เว้นแต่คุณจะมีงบประมาณพอที่จะเขียนอะไรที่ถูกสร้างขึ้นโดยการควบคุม

มันขึ้นอยู่กับผู้มีส่วนได้ส่วนเสียในการตัดสินใจ: ไม่ว่าคุณจะใช้การควบคุม ASP.NET ด้วยจุดแข็งและจุดอ่อนของพวกเขาหรือคุณเปลี่ยนมาใช้ HTML แบบแมนนวล (หรือ ASP.NET MVC) ด้วยตนเองเพิ่มต้นทุนของโครงการปัจจุบันหลายพันดอลลาร์ .

การไม่สามารถปรับแต่ง HTML ในบริบทนี้เป็นข้อ จำกัด ที่เหมือนกัน ผู้ออกแบบควรพิจารณาข้อ จำกัด ทางเทคนิคนี้ในงานของพวกเขา กรณีจะคล้ายกันมากหากผู้ออกแบบจะบอกคุณว่าข้อความควรจะแสดงในแบบอักษรที่แน่นอนที่มีขนาดที่แน่นอน: มันคือการสนับสนุนทางเว็บไม่พิมพ์ซึ่งหมายความว่าขนาดของข้อความจะแตกต่างกันไป

สำหรับเครื่องมือฉันไม่รู้ว่าเครื่องมือใดที่จะแปลง HTML ธรรมดาเป็นเทมเพลต ASP.NET เป็นไปได้อย่างไรที่จะเดาว่าตารางที่เฉพาะเจาะจงจะต้องถูกแปลงเป็นตัวควบคุม ASP.NET ที่เจาะจง?


1
+1 สำหรับการชี้ให้เห็นว่ามันขึ้นอยู่กับผู้มีส่วนได้เสียในการตัดสินใจ เมื่อผู้ลงนาม paycheck ตัดสินใจแล้วทุกคนต้องเข้าแถว

ฉันจะไม่พูดแบบนี้เกินไป แต่ฉันคิดว่ากรอบงานอื่น ๆ มีความยืดหยุ่นมากกว่า ในความคิดของฉันการไม่สามารถปรับแต่ง HTML ได้อย่างง่ายดายนั้นเป็นเหตุผลเพียงพอที่จะเริ่มคิดที่จะย้ายไปยังเฟรมเวิร์กอื่น (เช่นทางรถไฟ)
ostroon

6

ในงานสุดท้ายของฉัน devs จะสร้างแอปพลิเคชันแล้วส่งต่อไปยังนักออกแบบเพื่อให้พวกเขาสามารถทำให้ดูเหมือนว่าโปรแกรมเมอร์ซอฟต์แวร์หลายคนไม่ได้สร้างมันขึ้นมา :)

เมื่อเราเริ่มกระบวนการนี้ในครั้งแรกมี devs ไปมาระหว่างผู้ออกแบบและผู้ออกแบบมากมาย พวกเขาไม่เข้าใจหน้าที่ได้รับ สวรรค์ห้ามถ้าเราสร้างเพจแบบไดนามิก! มันเหมือนกับสถานการณ์ที่คุณกำลังอธิบายที่นี่มาก

ฉันนั่งลงกับนักออกแบบแต่ละคนและสอนพวกเขาถึงวิธีการติดตั้งเว็บแอปพลิเคชันในกล่องท้องถิ่นของพวกเขา ฉันแสดงให้พวกเขารู้วิธีเรียกใช้และทุกสิ่ง ฉันอธิบายวิธีการควบคุม asp ที่แสดงบนหน้าจอ จากนั้นเราก็เปิดขึ้นในเบราว์เซอร์และใช้ firebug เพื่อดูลิงก์ระหว่างตัวควบคุม asp และสิ่งที่แสดงผล

สิ่งนี้ช่วยพวกเขาได้มาก เมื่อพวกเขาสามารถเห็นมันและเรียกใช้มันในกล่องของพวกเขาและใช้เครื่องมือออกแบบของพวกเขาเพื่อปรับแต่งและเล่นกับสไตล์มันทำให้ชีวิตของพวกเขาง่ายขึ้น

หลังจากที่ฉันทำสิ่งนี้ฉันได้พบกับนักพัฒนาและแจ้งให้พวกเขารู้ว่าพวกเขาควรจะใช้แท็ก CssClass และตรวจสอบให้แน่ใจว่ามีการกำหนดรูปแบบ และอะไรก็ตามที่ถูกวางลงบนหน้าจอจะต้องมีคลาส css ติดอยู่กับมัน b / c ที่นักออกแบบจะไม่สามารถเพิ่มได้

มันเป็นกระบวนการ ต้องใช้เวลาสักครู่สำหรับทั้งสองฝ่ายในการทำความคุ้นเคย แต่มันเปิดสายการสื่อสาร แทนที่จะบ่นเกี่ยวกับการควบคุมที่ใช้นักออกแบบก็สามารถที่จะขอสไตล์เพิ่มเข้าไปในองค์ประกอบต่าง ๆ

ดังนั้นข้อเสนอแนะของฉันคือนั่งกับนักออกแบบและแสดงให้พวกเขาเห็นว่าหน้าเว็บนั้นแสดงผลอย่างไร ใช้ firebug เพื่อแยกหน้าออกและดูว่าหน้านั้นเกิดขึ้นอย่างไร


4

นี่เป็นวิธีที่มีประโยชน์ที่ฉันได้ทำกับผู้ออกแบบในอดีตเมื่อพวกเขาต้องทำงานในโครงการ ASP.NET WebForms ที่กำลังพัฒนา

  1. ปรับใช้ในพื้นที่:นักพัฒนาจัดเตรียมเวอร์ชันกลางของโครงการที่ปรับใช้แบบโลคัล สิ่งนี้ช่วยประหยัดทั้งสองเวลา ผู้ออกแบบร้องขอ. aspx แต่โต้ตอบกับ HTML ที่แสดงผลแทนที่จะเป็นกับรหัสเซิร์ฟเวอร์ วิธีการนี้ย่อรหัสเซิร์ฟเวอร์จากผู้ออกแบบ เขาไม่จำเป็นต้องรู้วิธีสร้าง HTML หรือวิธีการjavscript และcssส่งไฟล์ไปยังลูกค้า หลักสูตรนี้ถือว่าผู้ออกแบบมีทักษะในการตรวจสอบเบราว์เซอร์ / DOM ตรวจสอบ ผู้ออกแบบสามารถใช้cssการเปลี่ยนแปลงทั้งหมดภายในเบราว์เซอร์และนำไปใช้กับcssไฟล์เหล่านั้น
  2. จัดเตรียมแบบจำลอง:เพื่อให้ผู้ออกแบบสามารถทำงานกับ HTML ได้อย่างเหมาะสมยิ่งขึ้นโปรดจัดเตรียมแบบจำลอง HTML ที่แสดงโดยการควบคุมเซิร์ฟเวอร์ พวกเขาสามารถปรับแต่ง HTML นั้นไปยังจุดที่พวกเขาชอบและเสนอการเปลี่ยนแปลงที่จะนำไปใช้ในการใช้งานฝั่งเซิร์ฟเวอร์ สิ่งนี้ต้องทำเร็วและบ่อยครั้งเนื่องจากคุณไม่ต้องการที่จะจบลงด้วยโครงสร้าง HTML ที่การใช้งานฝั่งไคลเอ็นต์นั้นอาศัยและจากนั้นสำหรับนักออกแบบที่จะเสนอการเปลี่ยนแปลงในโครงสร้างนั้น

โดยทั่วไปแล้วผู้ออกแบบควรมีจุดสัมผัสน้อยที่สุดพร้อมรหัสฝั่งเซิร์ฟเวอร์เท่าที่จะเป็นไปได้ดังนั้นจึงควรหลีกเลี่ยงสิ่งเหล่านี้ให้มากที่สุดเท่าที่จะทำได้


2

ในฐานะที่เป็นผู้พัฒนาระบบไฮบริดตัวฉันเอง (ทำงานหนักทั้งในส่วนแบ็คเอนด์และส่วนหน้ามักจะอยู่ด้วยกัน) ฉันไม่ชอบโมเดล ASP.NET WebForms ที่ยาวนานมาก่อน ... ในขณะที่มันเริ่มต้น แรงผลักดันในการออกแบบคือการจัดหาเครื่องมือออกแบบที่ใช้ง่ายลากและวางเพื่อทำให้เป็นประชาธิปไตยในการพัฒนาเว็บ (เช่นเดียวกับที่ Visual Basic ทำให้การเขียนโปรแกรมแอปเข้าถึงได้สำหรับผู้ที่ไม่ใช่ CS-Major) วิธีที่ใช้ในการพยายามบังคับรัฐ สภาพแวดล้อมไร้รัฐ (เว็บ) ถูกใช้อย่างถนัดมือและถูกบังคับ (โอ้ ViewState เป็นวิธีที่ฉันเกลียดเจ้า!)

พวกเขายังละเมิดหลักการสำคัญบางประการของการพัฒนาและการจัดรูปแบบมาร์กอัปโดยข้อเท็จจริงแล้วว่าโดยปกติแล้ว ASP.NET จะใช้แทนแอตทริบิวต์ ID บังคับให้นักออกแบบ CSS ใช้คลาสในลักษณะเดียวกับที่ใช้รหัสจริง องค์ประกอบในการวางเลเยอร์ในกอง div และแท็กที่ซ้อนกันซึ่งสามารถจัดแต่งทรงผมให้เป็นตัวควบคุมฝันร้ายในทุกระบบ แต่เป็นระบบที่ง่ายที่สุด

เส้นทางของคุณไม่ใช่เส้นทางที่ง่ายอย่างที่ฉันคิดว่าการเขียน MVC ใหม่จะต้องเสียค่าใช้จ่ายหรือเสียเวลา

มีวิธีใดบ้างที่จะมอบสภาพแวดล้อมให้กับนักออกแบบในการใช้งานเว็บแอปพลิเคชันเพื่อให้พวกเขาสามารถเห็นการเปลี่ยนแปลง CSS ในแบบเรียลไทม์? เมื่อฉันออกแบบงานใน ASP.NET WebForms ฉันพบว่ามันมีค่ายิ่งที่จะทำให้แอพพลิเคชั่นเว็บขึ้นมาบนเครื่องของฉันเองทำการปรับแต่ง CSS และเรียกใช้งานในเครื่องเพื่อดูว่ามันมีผลกับแอพอย่างไร

ทางเลือกหนึ่งอาจจะตั้งค่าเครื่องเสมือนที่ปรับแต่งเป็นพิเศษเพื่อการพัฒนา ASP.NET ที่ผู้ออกแบบสามารถเรียกใช้จากเวิร์กสเตชันของพวกเขาดังนั้นพวกเขาไม่จำเป็นต้องผสมชุดเครื่องมือทั้งสองของพวกเขาและถ้าพวกเขาเกิดอะไรขึ้นในการพัฒนา พื้นที่มันสามารถโหลดใหม่จากภาพการทำงาน

ใช่หมายความว่าผู้ออกแบบจะต้องเรียนรู้วิธีกด F5 เพื่อเรียกใช้แอป (หรือเพียงแค่ให้พวกเขาเข้าถึง FTP ไปยังไดเรกทอรีที่ CSS, JS และรูปภาพอยู่ในสภาพแวดล้อมการทดสอบ!) มันก็หมายความว่าพวกเขาจะเห็นโค้ดแบ็คเอนด์มากมายแม้ว่าคุณจะบอกพวกเขาให้ เพียงแค่เพิกเฉยไฟล์. cs หรือ. vb ของคุณที่จะป้องกันไม่ให้เกิดการตื่นตระหนกอีกต่อไป ... แน่นอนนั่นหมายความว่าคุณต้องแน่ใจว่าคุณไม่ได้ทำสิ่งต่าง ๆ เช่นการตั้งค่ารูปแบบจากไฟล์ codebehind ของคุณ .. (แต่คุณจะไม่ทำอย่างนั้นคุณจะผูกข้อมูลและดูอย่างใกล้ชิดใช่ไหม)

หากไซต์ของคุณมีโครงสร้างที่ดีพร้อมด้วยไฟล์ CSS และ JS ที่แตกต่างกันและไม่ได้มีการกำหนดสไตล์แบบอินไลน์จำนวนมากที่บังคับให้มาร์กอัปเป็นไปได้ว่าพวกเขาสามารถทำงานส่วนใหญ่ได้โดยเพียงแค่หลีกเลี่ยงพื้นที่ <%%> ในทางกลับกันมันอาจทำให้นักออกแบบรู้สึกซาบซึ้งมากขึ้นถึงสิ่งที่คุณต้องทำเมื่อพยายามแปล HTML / CSS คงที่ของพวกเขาไปเป็นสิ่งที่ใช้งานได้กับแอพแบบไดนามิก


เพื่อดูการเปลี่ยนแปลง CSS แบบเรียลไทม์ฉันแค่ใช้ Firebug มันทำงานได้ทุกที่ ... คุณอาจใช้ Spidermonkey เนื่องจาก Firebug มีแนวโน้มที่จะไม่จดจำการเปลี่ยนแปลงของคุณในหน้าอื่น ๆ
Earlz

ฉันสันนิษฐานว่านักพัฒนาเว็บใด ๆ ที่ควรค่ากับเกลือของพวกเขา (แม้แต่คนที่ทำงานกับ HTML และ CSS แบบคงที่) จะใช้สิ่งที่คล้ายกับ Firebug แต่นั่นเป็นจุดที่ดีที่จะต้องพิจารณา ... การมีเพศสัมพันธ์ Firebug ด้วยการเข้าถึงเซิร์ฟเวอร์ทดสอบหรือเรียกใช้ในพื้นที่และใช้ Firebug ที่ด้านบนสร้างสิ่งที่ใกล้เคียงที่สุดกับสภาพแวดล้อม "อุดมคติ" สำหรับการออกแบบที่ใช้ในการปรับเปลี่ยนที่พวกเขาต้องทำสำหรับเว็บไซต์แบบไดนามิก
Jason M. Batchelor

1

คุณต้องทำให้พวกเขาพูดคุยกันเข้าใจความต้องการและความชอบของแต่ละคน มันเป็น "ปัญหา" ที่ไม่สามารถแก้ไขได้ด้วยซอฟต์แวร์และเครื่องมือ อย่าพยายามทำให้ทั้งสองฝ่ายพอใจซึ่งจะไม่ทำงาน พวกเขาต้องประนีประนอม - มันเหมือนการแต่งงาน

วิธีหนึ่งคือการจัดการ f.ex การประชุมเชิงปฏิบัติการที่แต่ละฝ่ายมีโอกาสอธิบายว่าทำไมจึงเป็นเช่นนั้นเพื่อให้พวกเขาชอบสิ่งที่พวกเขาต้องการ การสื่อสารที่ดีเป็นกุญแจสำคัญในสถานการณ์เช่นนี้เสมอ การรวบรวมสิ่งเหล่านี้สามารถมองได้ว่าเป็นการลงทุน

หรือเพียงแค่กล่าวว่าปัญหาคือการมุ่งเน้นองค์กรไม่ใช่เชิงเทคนิคและเป็นที่ที่คุณต้องการแก้ไขปัญหา

ตัวเลือกอื่นคือการเพิ่มค่าจ้างและบอกให้พวกเขาปิด (โดยปกติจะเป็นทางออกระยะสั้น ... )


บรรทัดสุดท้าย = ตลก
epistemex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.