In ICS 111 I learned how to EZ Graphics for Java—a library of functions created by a grad student used to make graphical implementation simple. This enabled students who had never before seen Java to create fairly complex projects with little effort. While this approach allowed us to do more than we would have been able to do without it, it also left many of the students wildly unprepared to use Java without it.
Learning to use Semantic UI was reminiscent of learning to use EZ Graphics in ICS 111. It provided a high-level description of the underlying code. Just like EZ, I was able to create a finished product that was much more complete and with many more features than I could hope to accomplish in the same time with raw Java or HTML and CSS respectively. Similar to EZ however, I feel that while I was able to accomplish more than without it, my understanding of the underlying code is not very strong. If I had any amount of time, I would not be able to do what I can in Semantic UI with only HTML and CSS without extensive time to learn HTML. While I can see this as an advantage of Semantic UI, I feel I it would have been better to spend more time on learning what exactly it is that Semantic UI does instead of explicitly how to use it.
While I may seem to have a negative opinion of Semantic UI, I do not mean to imply that it is not useful. I whole heartedly agree that Semantic UI is useful, I just feel that it is not a great pathway for students like myself who had only touched HTML for the first-time last week. Instead of learning how to create a website in HTML, I have a merely a working understanding of the syntax of HTML.
Frameworks like Semantic UI are hugely useful for anyone who simply wants to get to a finished product. They enable lots of functionality with little effort and knowledge. This is extremely useful when you must make a project in a language you are not familiar with, and just to save time in general. As long as I can figure out how to fully customize Semantic UI, I do not see any purpose in creating a website without a framework other than for educational purposes.