AngularJS vs Etoys
(as a tool for younger people to work very deeply by programming and building stuff)
First this is not a fair comparison, as Etoys was designed for this purpose and Angularjs was not. Yet I understand the desire to have a tool to that can be used for exploring ideas, communicating and expressing themselves. I also understand the request to have tool that can be used in a browser.
First I will start with AngularJS’s advantages:
- It has the support of Google
- There are many resources on the Web for learning about AngularJS and very good support groups willing to help beginners
- There are lots of code examples one can learn from and play with on Plunker and JSfiddle.
The challenges of AngularJS:
- You have to spend a lot of time learning about AngularJS and how to do things in AngularJS which takes away from the time spent on learning/expressing/exploring.
- It is built around the Web in particular the DOM. Ie: you are restricted to what the DOM can do. Okay not completely true you can blow a hole in the DOM and using SVG or Canvas but the libraries available to do things here (think D3 et al) are very specific and require high learning curves.
- While the learning curve when compared to other Web Frameworks is not quite as steep, there is a steep learning curve for students especially if they do not have a lot of programming experience.
- It is a text based language (as opposed to a tile based one) which means syntactical errors are easy to make and take time and cognitive load to understand and correct.
The advantages of Etoys:
- It was designed for construction and learning by students
- It supports tile based scripting and lets you switch to text based.
- It lets you directly manipulate objects and extend their functionality.
- The community to support learners is responsive and helpful.
- There are some good educational resources for students and teachers to explore.
The challenges of Etoys:
- There is no large organization or funding supporting Etoys.
- The community while supportive and helpful is not large.
- Etoys currently does not run in browsers or on tablet or phones (Yes, I know it can and there are projects which show its possible, but there is no “supported” fully functional and fast enough version that does so for all “modern” browsers).
- Etoys is not as popular as AngularJS
So all this aside perhaps the best tests are how easy is it to:
- For a teacher to build an educational tool for students
- For a student to create a form of expression
- For a student to explore certain ideas
Now to quote Seymour Papert “It’s hard to think about thinking without thinking about something.” So I will try to think about some things and how they could be done in AngularJS and Etoys (and perhaps some other ways of doing things). So at some point I will try and think about "something" more concrete.
Ideas and suggestions welcome for “what to build”.
P.S. Also made some progress at Code School but poor internet connectivity has limited my time on the computer and increased the time spent with family :)