@@ -716,12 +716,27 @@ using the `var model = { counters: [0] }` approach. <br />
716
716
** 3.** ** Write tests** for the scenario where there
717
717
are multiple counters on the same page.
718
718
719
- Once you have had a go, checkout our solutions: ` examples/multiple-counters `
719
+ Once you have had a go, checkout our solutions:
720
+ [ ` examples/multiple-counters ` ] ( https://github.com/dwyl/learn-elm-architecture-in-javascript/tree/master/examples/multiple-counters )
721
+ <br />
720
722
and corresponding writeup:
721
723
[ ** multiple-counters.md** ] ( https://github.com/dwyl/learn-elm-architecture-in-javascript/blob/master/multiple-counters.md )
722
724
723
725
724
- <br /> <br />
726
+ <br />
727
+
728
+ ### 11. Todo List!
729
+
730
+ The _ ultimate_ test of whether you _ learned/understood_ something is
731
+ applying it to _ different_ context to the one you learned in.
732
+
733
+ Let's "_ turn this up to eleven_ " and build something "_ useful_ "!
734
+
735
+ GOTO:
736
+ [ ` todo-list.md ` ] ( https://github.com/dwyl/learn-elm-architecture-in-javascript/blob/master/todo-list.md )
737
+
738
+ <br />
739
+
725
740
726
741
## Futher/Background Reading
727
742
@@ -734,15 +749,15 @@ http://stackoverflow.com/questions/18666821/what-does-the-term-reason-about-mean
734
749
+ Elm Architecture with JQuery by @steos :
735
750
https://medium.com/javascript-inside/elm-architecture-with-jquery-152cb98a62f
736
751
(_ written in JQuery and no Tests so
737
- not great for teaching beginners good habits, but still a v. good post!_ )
752
+ not ideal for teaching beginners good habits, but still a v. good post!_ )
738
753
+ Pure functions: https://en.wikipedia.org/wiki/Pure_function
739
754
+ Higher Order Functions in JavaScript:
740
755
http://eloquentjavascript.net/05_higher_order.html
741
756
+ Higher-order functions - Part 1 of Functional Programming in JavaScript:
742
757
https://youtu.be/BMUiFMZr7vk
743
758
744
759
745
- <br /> <br /><br /> < br />< br /> < br />< br /> < br />< br /> < br />< br /> < br />
760
+ <br /> <br /><br />
746
761
# tl;dr
747
762
748
763
@@ -764,12 +779,12 @@ the (Core) _Elm **Language**_... <br />
764
779
This is a _ fair_ assumption given the _ ordering_ of the Guide _ however_
765
780
... we have a _ different_ idea:
766
781
767
- ### Hypothesis: Learn (& Practice) Elm Architecture ` before ` Learning Elm?
782
+ ### Hypothesis: Learn (& Practice) Elm Architecture _ ` before ` _ Learning Elm?
768
783
769
784
We *** hypothesize*** that if we _ ** explain** the ** Elm Architecture** _
770
785
(_ ** in detail** _ ) using a ** language** <br />
771
786
people are _ ** already familiar** _ with (_ i.e ** JavaScript** _ )
772
- ` before ` diving into the Elm Language <br />
787
+ _ ` before ` _ diving into the Elm Language <br />
773
788
it will
774
789
[ "*** flatten*** "] ( https://english.stackexchange.com/questions/6212/whats-the-opposite-for-steep-learning-curve )
775
790
the ** learning curve** .
@@ -790,7 +805,7 @@ part of any "**client-side**" web app. <br />
790
805
(including ** Elm** , React and Vue.js) now use a "** Virtual DOM** ".
791
806
> For the purposes of ` this ` tutorial, and for ** most small apps**
792
807
Virtual DOM is total **overkill**! <br />
793
- It's akin to putting a Ferrari engine in a gocart !_
808
+ It's akin to putting a ** jet engine** in a ** go kart ** !_
794
809
795
810
### What is "_ Plain_ " JavaScript?
796
811
@@ -807,10 +822,10 @@ to build something full-featured and easy/fast to read!!
807
822
If you can build with "ES5" JavaScript: <br />
808
823
a) you side-step the
809
824
[ _ noise_ ] ( https://twitter.com/iamdevloper/status/610191865216786432 )
810
- and focus on core skills that _ already_ work everywhere!
825
+ and focus on core skills that ** _ already_ work everywhere** ! < br />
811
826
(_ don't worry you can always "top-up" your
812
- JS knowledge later with ES6, etc!)<br />
813
- b) you don't need to waste time installing
827
+ JS knowledge later with ES6, etc!_ )<br />
828
+ b) you ** don't** need to ** waste time** installing
814
829
[ _ ** Two Hundred Megabytes** _ ] ( https://cloud.githubusercontent.com/assets/194400/13321493/39fcfa30-dbc7-11e5-8b05-f046675f9cb6.png )
815
830
of dependencies just to run a simple project! <br />
816
831
c) You *** save time*** (_ for yourself, your team and end-users!_ )
0 commit comments