ข้อผิดพลาดใน Grails Framework [ปิด]


12

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

คำตอบ:


13

IMO ส่วนที่อ่อนแอที่สุดของ Grails คือการขาดฟังก์ชั่นการถ่ายโอนข้อมูล (ala Rails ActiveRecord migrations) มีปลั๊กอินของบุคคลที่สามที่มีระดับคุณภาพแตกต่างกัน แต่ไม่มีอะไรเป็นทางการ

อย่างไรก็ตามฉันเพิ่งค้นพบว่า Liquibase ได้รับการขยายและกลายเป็นปลั๊กอินการย้ายฐานข้อมูลและดูเหมือนว่าจะมีแนวโน้ม: http://www.grails.org/plugin/database-migration

ในแง่บวกสำหรับทุกสิ่งที่ฉันใช้ Grails สำหรับ (แอพพลิเคชั่นบนเว็บที่เรียบง่ายจนถึงปานกลาง) มันยอดเยี่ยมมาก ฉันว่าฉันจะได้รับประมาณ 2 ถึง 3 เท่าในการพัฒนาประสิทธิภาพการทำงานมากกว่ากอง MVC Java / Hibernate / Spring / Spring


1
+1 ฉันเลือก Grails เพื่อทำงานต่อในแอปพลิเคชั่น Struts 1 ที่เขียนไม่ดี ส่วนที่ยุ่งยากสำหรับฉันคือการแบ่งปันคุกกี้ข้ามทั้งสองเซิร์ฟเล็ต มิฉะนั้นจะชนะทั้งหมด
kevin cline

5

การรันการทดสอบการรวมนั้นช้าเนื่องจากสภาพแวดล้อมของ Grails ต้องใช้เวลาในการโหลดและใช้เวลาเพียงเสี้ยววินาทีในการรันการทดสอบ สิ่งนี้จะเพิ่มระยะเวลาเมื่อคุณพัฒนาโค้ดที่เขียนไปยัง db ปัญหาอื่นได้รับการกล่าวถึงโดย Kaleb ในคำตอบของเขา (เกี่ยวกับการโยกย้ายข้อมูล) ฉันยังพบว่าเมื่อใดก็ตามที่ฉันติดอยู่ไม่มีฟอรัมที่ฉันสามารถขอความช่วยเหลือได้ จำกัด เมื่อเปรียบเทียบกับความช่วยเหลือสำหรับโหมดไฮเบอร์เนตและฤดูใบไม้ผลิ


ใช้การทดสอบ: เพียงแค่เรียกใช้พวกเขาในโหมดอินเทอร์แอคทีฟวิธีนี้คุณจะหลีกเลี่ยงการเริ่มต้นทำงาน
rdmueller

3
ฟอรั่ม: ประสบการณ์ของฉันคือฉันได้รับคำตอบสำหรับคำถามทั้งหมดของฉันภายใน 4 ชั่วโมงใน Stackoverflow - ส่วนใหญ่มาจากผู้มอบหมาย grails ...
rdmueller

3

ข้อผิดพลาดในปัจจุบันที่จะใช้เฟรมเวิร์กคือการรวมที่ไม่ดีในปัจจุบันเข้ากับระบบการสร้างแบบ gradle ขณะนี้ใช้ปลั๊กอินเพื่อทำสิ่งนี้ให้สำเร็จ แต่ตัวปลั๊กอินนั้นแตกกับ grails รุ่นใหม่ (อย่างที่ฉันเพิ่งลองใช้และแก้ไข) พวกเขาวางแผนที่จะแก้ไขปัญหานี้ในรุ่นอนาคตโดยการทำส่วนของระบบการสร้าง grails (แทนที่จะเป็น gant) แต่การขาดระบบการสร้างที่คุณสามารถรวมได้อย่างง่ายดายเป็นปัญหา อย่างไรก็ตามหลุมพรางนี้จะหายไปในอนาคต

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


2

ฉันชอบแนวคิดของ grails / groovy ทั้งหมดแม้ว่าโดยส่วนตัวแล้วฉันจะใช้ groovy ธรรมดามากกว่า grails แต่ฉันคิดว่าพวกมันยอดเยี่ยม

ข้อเสียเดียว (จากประสบการณ์ส่วนตัวของฉัน) คือการสนับสนุน IDE ที่ไม่ดี ฉันคิดว่า (มองโลกในแง่ดี) ว่าในขณะที่ SpringSource มี Eclipse ที่ยอดเยี่ยมและเป็นผู้สนับสนุนที่แข็งแกร่งของ Grails ว่านี่จะเป็นวิธีที่จะไป ปลั๊กอิน Groovy ติดตั้งยากการเขียนโค้ดไม่สมบูรณ์ (มีปัญหากับภาษาแบบไดนามิก แต่ให้ฉันเลือก 60 วิธีที่ไม่เป็นประโยชน์) การดีบักอาจเป็นเรื่องน่าเบื่อเพราะมักต้องใช้ขั้นตอนผ่านโค้ดภายในของ groovy และ ในรีลีสล่าสุดที่ติดตั้งปลั๊กอิน groovy จะเป็นการแตก Java debugger!


0

ขณะนี้มีการสนับสนุน iffy สำหรับคลาสนามธรรม ตัวอย่างเช่นคุณไม่สามารถผูกรายการของการใช้งานเป็นหนึ่งเดียวList<T>ในวัตถุคำสั่ง จริงอยู่สิ่งนี้น่ารำคาญเป็นหลักเพราะฉันชินกับมันทุกอย่างอื่นอย่างน่าอัศจรรย์! : D

โดยทั่วไปแล้วมันยังเป็นแค่ "สีเขียว" เท่านั้น ในที่สุดคุณจะพบกับข้อ จำกัด และข้อผิดพลาดเล็ก ๆ น้อย ๆ มันมาไกลจริงๆในไม่กี่ปีแม้ว่า

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