-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSERIES.yml
67 lines (67 loc) · 4.67 KB
/
SERIES.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
CLIENT-SIDE:
ANGULAR:
Experience:
- Built my first enterprise level application with Angular 1.
- I was using $scope, but has been since removed from Angular.
- I was using Gulp & LESS for styling and building.
Opinions:
- Nice that Angular has built in routing, as well as, many other normally needed tooling.
- Though has all of these nice toolings, the opinionation around configurations, etc MAY be slightly daunting.
- Personal fan of decorators - so nice to have those available as well.
- The level of abstraction for tooling components and NgModules, etc may seem a little confusing at first without fully thinking through the design.
- Schematics are nice when trying to add functionality to your application (Tailwind CSS).
- The tooling in Angular requires more steps to handling specific tasks, though have good design principles around them.
- The most idomatic way to use Angular w/ DOM is using templateUrls which separates the DOM from the code which I am not personally a fan of that separation.
NEXT/NUXT:
- TODO
REACT:
Experience:
- Started working w/ it 2014
- Had previous experience w/ Angular, but not many other JS based frameworks
- Promised a streamlined approach to building websites with components
- Didn't require the a lot of the boilerplate to create components like Angular did
- Included a new way to create DOM elements with JavaScript (JSX)
- Downside to this, JSX has a bit of a learning curve and is confusing to setup at times (requires bundler support)
- Worked with it professionally for about 4 years on enterprise applications
- Was easy to build and maintain for incredibly extended periods of time (years)
- Has good enough support, bug fix timelines, and releases to where most of the time you can just be focused on developing and not troubleshooting.
- Most of the basic principles of React have not changed - the only major changes that have affected my professional career around React where "Function Components" and "Hooks".
Opinions:
- React is fairly simple to setup and get started with "components".
- React JSX, though sometimes confusing, does allow for direct interaction with JS and the DOM
- React is very easy to compose components, re-use them, and style them if need be.
- React is well maintained and, from my expierence, never introduced a bug that was production impacting.
- React is nice to work with if you follow the KISS approach, but can become VERY convoluted if using improper absraction, etc.
If you want to get started with JS components, React is a VERY strong candidate for the following reasons:
- Not terrible to learn
- Has good maintainability
- JOB OPPORTUNITIES
SAPPER:
- TODO
SVELTE:
Experience: None
Opinions:
- I like that Svelte promotes having all component logic in one file vs. something like Angular where its in many files.
- Although you can use Rollup, using something like Parcel makes the development expierence a lot easier for adding later tech to the stack.
- Component shorthand for passing down properties is very nice and reduces replication of code unlike React.
- Possibly faster being compiled rather than using virtual DOM and you ship less code to the browser.
- Reactive declarations are really easy to use and provide a simple interface for changing from events.
VUE:
Experience: None
Opinions:
- When you're new, the documentation is slightly unorganized and a little confusing to navigate to get to what you want quickly.
- Vue has some very nice tooling around attributes and ease of modifying them (preventDefault -> v-on:submit.prevent, etc)
- The state management library recommended to use with Vue (vuex) has very simple and easy to use interfaces for setting up state stores/management.
- Overall, seems like something nice to have in your toolbelt but does provide more of a personal preference difference rather than technical ones.
SERVER-SIDE:
BLAZOR:
Experience: None
Opinions:
PHOENIX:
Experience: None
Opinions:
- Phoenix provides a bunch of sub modules that help with tooling a web service like ORM (ecto), etc.
- Because it's Elixir - the ability to manage modules in processes and distribute them naturally is nice.
- LiveView provides a nearly identical expierence to a normal SPA but the benefits of server side processing.
- Not sure how I feel about using Webpack with JS modules to connect the frontend to LiveView - but it's an interesting approach.
- It's not JavaScript.