How do you feel git affects your workflow as an individual? How would it affect workflow on a team?
      For individual, I can see and learn tons of other developers’ code on github or gitlab. And also contribute my own knowledge to community.
-        I love everyone shares their knowledge on it and learn from each other no matter where I am or what language I am speaking. We can communicate easily via git. This is really a fantastic way to improve our coding skills as individuals.
-        Additionally, when I stuck on some bugs, git as open resources platform helps me addressing quickly.
-        I like to create branches for my personal projects, adding new features and won’t affect my master. After I check all good, then merge these branches and adding commit for future checking purposes.
-        I don’t need to save my code on my local laptop, it is all cloud and is safely saved.
-        If I accidentally delete some code, I still can get them back by git reflog sha. So I don’t need to worry about management for all versions and updates of my project.
About the workflow of a team, there are quite helpful by using git management :
-        We can make project on different environments, such as develop (dev testing), stage (QA), master (live->production). Easy to control as a team. We can define branches and assign to each developer working on the same project at the same time, such as to define feature-add-description, epic-name, hotfix-jira123, staging-7.50.2.3 etc. After dev gets these tickets and done their job, team leader will have a code review. By organizing our teams and processes this way, the team can be a real team, supporting each other, passing the ball, coaching at every coachable moment.
-        Developers that aren’t deploying code, always pull from and push to our central repos at Bitbucket. No hunting for different repos on different projects.
-        Reduce the risk of putting something into production that is unstable.
-        It supplies a really agile development process. Using Docker Containers, a new developer can clone from bitbucket, and start developing immediately.
-        Eliminate the stress of managing a very large-scale project.
 
Aside for accessibility reasons name one potential advantage to using semantical HTML elements over simple <div>'s and <span>'s
By using semantical HTML elements, we can get many good responses for accessibility:
-        Improves your SEO rating.Search engines can index the content so that it ranks well enough that users can find it.
-        Screen readers and other assistive technologies can communicate elements properly to the user.
-        Some browsers add useful enhancements to semantic HTML for free, such as <input type="tel">) will give users a telephone-specific keypad on some mobile browsers.
-        Other browsers give users the option to switch to a simplified view of the page, like Safari’s Reader Mode. We get a clean reading experience without any additional styling on our end.
-        RSS readers can parse and style the elements appropriately.
-        Web pages are easier developed with semantic HTML.
-        It is arguably lighter in file size than non-semantic spaghetti code, and easier to make responsive on mobile devices.
 
What do you like and/or dislike about using a UI framework like Bootstrap?
I personally do not like bootstrap framework very much, but I still think it has lots of advantages as a popular and mature UI framework, to make frontend development convenient, faster and improves our work efficiency. With Bootstrap, web developers can concentrate on the development work, without worrying about design stuff. I list here for my thoughts about its advantages:
-        It helps us addressing lots of CSS and layout configurations.
-        It supports flexbox layout (bootstrap V4 and V5) with Grid system. Convenient!
-        Especially it considers user experience design on mobile devices and responsive web pages’ layout, like “lg” for larger desktops (≥1200px), “xs” for phones (<768px) etc.
-        Very detailed online documents for us to search.  Each class has its specific meaning, so we need to remember the normal classes’ definition, or know how to find out in official documents. Anyway, it is quick to learn and build website by using it.
-        It has consistent design by using re-usable components, such as navbar, form, menu, buttons, modules, progress bar etc.
-        High portability and it maintains wide browser compatibility. It works well on Google Chrome, Safari, Mozilla etc.
-        Built-in support for jQuery plugins and a programmatic JavaScript API.
-        Not only good for developers, it gives web designers a solid foundation for creating tons of interesting Bootstrap themes. I used bootstrap to build my personal portfolio website (https://github.com/shijing0628/bootstrap-jquery-myPortfolio) , also used pure css way to build same topic site(https://github.com/shijing0628/MyPortfolio
-        ). The Bootstrap version looks professional and saved me a lot of time.
                 As I mentioned before, I am not a fan of bootstrap. Why?
-        Similar looks.
-        Loading time might be longer as responsive Bootstrap websites tend to quite heavy at times.
-        CSS Grid is better than Bootstrap for creating layouts sometimes. Such as building an image gallery page, when images’ sizes are different, CSS grid has much more flexibility then. No more 12 column limitation. CSS grid is a purely visual tool, and if used correctly, it should have no effect on the communication of the contents of the document.
-         When we create a page with Bootstrap, we would have to insert jQuery, Bootstrap CSS, and Bootstrap JS, but these resources won’t be used even in half. They are not very large (<500kb), but still it occupies some spaces to lower website or app’s performance.
-        Once we use bootstrap as a framework, but we also want to add our own classes and define styles, sometimes it breaks website, or we must put “important” keyword on values, which means if we choose bootstrap, we have to use their components most of the time, so it causes hard to customize themes sometimes.
   Whether or not use bootstrap, it depends on what I want to do. If just a simple web-page, no need for bootstrap.  However, developing a company app for revenue management or dashboard, maybe choose solid templates and components are good plans. It can be easier for many people to work together on the same project, as it supplies a unified platform for design.
 
Find another UI framework similar to Bootstrap and find one quality of it you think you might prefer over Bootstrap's equivalent if it exists.
I haven’t been using Materialize but I found it has numerous free plugins for dialogs, drop-downs, collapse, parallaxes, and more functionalities to improve the user experience. In addition, the framework allows end-users to create highly interactive interfaces.
Also, it has very nice looking components and built-in functionalities that allow actual uniqueness to the websites based on Materialize. They look fresher and more appealing. Unlike Bootstrap, it has a wide color palette of base colors. It allows us to choose a large number of colors. I love this feature!
But it has a smaller community and not working older browsers, so these factors need to be considered.
Tailwind from my understanding it is a light small framework and unlike bootstrap (UI framework), it is a utility framework. I don’t want my website looks similar to a normal framework built, but want to use a framework to do this job, then adjust the utility class can hit my purpose.  Much more flexible. Even with the same color palette and sizing scale, it's easy to build the same component with a completely different look in the next project. I love this feature!
 
Currently more and more companies using React to build the front end and if they are using React, I might want to try Ant Design or Material UI instead of react-bootstrap for some big projects.
Do you think you would be more productive writing Vanilla JavaScript or jQuery?
A: I would say “it depends”. In general, I prefer to use jQuery. jQuery makes front-end development easier by simplifying things such as Animations, AJAX Operations, DOM Manipulation, Event Handling, and a lot more. Writing jQuery is more productive for me. jQuery does speed up development time, which is a significant benefit which I do not mean to downplay. It facilitates easy to read, easy to follow code, which is more than some developers are capable of creating on their own. The jQuery team has executed some highly efficient JavaScript in the package as we know. 

However, jQuery is just a vanilla JavaScript Library. If I want to use jQuery in my project, obviously, I need to have a firm basis in JavaScript. Once I learn and know how to use it, jQuery is powerful.  It makes some things which are overly tedious in a cross-browser situation (AJAX is one of the best examples) and smooths over the inconsistencies between the myriad of available browsers and provides a consistent API. I like jQuery because it also easily facilitates concepts like chaining, implied iteration, etc, to simplify working on groups of elements together. I heard some devs love jQuery because they favor libraries over frameworks. jQuery has stood the test of time and when you have to deploy software and maintain it, that has a very strong impact on your library/framework choices.

I was very impressed about jQuery is that using jQuery writing animation functions can shrink tons of lines of code compared with JS when I first touched this library several years ago. However, nowadays, CSS becomes much more powerful. Using jQuery writing animation is faded out the stage. I prefer to use CSS create animations.

Why I pick JS instead of jQuery sometimes? The right question to ask is WHEN should I not use jQuery?

jQuery is often seen as a "crutch" to learning JavaScript, do you agree or disagree with this statement and why?
A: I agree with this statement. In the past few years, yes. It is really necessary to learn both. But nowadays, it is not that necessary but still necessary. Because still there are lots of existing websites or themes written by jQuery. 

Maybe your team develops a new project, your team leaders prefer to choose JS framework. While you need to maintain an old website or need to fix some bug of client’s online store and they used jQuery written before, so you have to know how to use it. Steps should be learning JavaScript at first, then learning jQuery. I personally feel I got a better understanding of some concepts after I learned both. I noticed Shopify’s tons of themes written by jQuery, but last year, some themes developers started to move to React or Angular to build themes.  

Based on some online research, why do you think jQuery is losing its popularity?
A:  - jQuery becoming obsolete nowadays because today we are in an ecosystem where nearly all of the most used browsers include jQuery-like APIs including querySelectorAllPromise, and fetch, so it's becoming less and less necessary to fill in that functionality. Once developers weren't fighting (quite as much) with browsers any more, it became apparent that JavaScript really could drive powerful applications.


-   We used to feel manipulating DOM is a pain by using vanilla JavaScript, and jQuery makes things easier, however, with Angular and React these JS framework’s born, it basically means “You no longer will need to deal with managing the DOM changes by hand", and jQuery wasn't a dependency.”

-   Since so much of the light-touch jQuery work is now built into browsers, it could be considered 'not worth the cost.' For larger applications, often jQuery is not necessary since the application library will (usually) provide that functionality on its own.

-        I think jQuery can still have a role, especially for developers whose primary language is not JavaScript. Additionally, there are lots of themes and websites were written by jQuery, so we need to maintain them.

Based on some online research, why do you think Vanilla JavaScript is gaining its popularity? 
A: - A scenario you'd want to carefully consider before choose jQuery is whether you want to use the library to solve just one simple problem of DOM manipulation or event listening. Do you really want to load an extra 85kb script into your page just because you want to solve one or two simple problems?


- I used to work on an e-commerce store. Their theme uses jQuery to write. My task is to fix an app’s integrated issue which installed on their theme. When I inserted the newest version of jQuery library, it broke their homepage banner. So, I had to pick a certain version and tried. To be honest, I sometimes hate jQuery because it conflicts with themes. These tons of plugins sometimes are pain and take lots of time to do the integration.

- Boostrap 5 for example will drop jQuery from its requirements, meaning that all those UI components will work using modern JavaScript more than the same-old jQuery!

- Browsers engine is much more powerful than before and much better compatibility. So using Vanilla JS writing code can less consider this factor.

-  Meanwhile, using querySelector() of JS to manipulate DOM, writing Ajax by fetching or building animation are not only cool features for jQuery. JS + CSS can make it work and not hard at all. So why we need to install this library on each project?
 

 

You may also like

Back to Top