Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • historical context on front end technologies (requireJS/webpack/etc.)

    • requireJS was the initial JS dependency tech, along with Backbone, jquery, underscore

    • later, we added webpack in order to support React

    • “react-render” is a function that folks can use to embed React in Django templates

  • django vs mako vs ?? templates - when should you use one vs the other

    • Both of these are deprecated, in favor of React-based Micro-frontends

  • Context:

    • team wants to track upsell links throughout the frontend (fire an event on-click)

  • Q: preferred way to create + use a new JS file/module for use in the monolith’s front end

    • Recommendation:

      • New large-scale frontend development would be implemented in our latest frontend technology: React-based Micro-frontends - using our frontend-template “cookie-cutter”

      • For a minimal change, the team will probably not want to take on an entire re-write effort.

      • For middle-scale changes, the team needs to consider the trade-offs of addressing the tech-debt.

        • Option 1: Complete rewrite

        • Option 2: Middle-ground using “react-render” to embed new React code in the legacy code - to help with future rewrite

        • Option 3: Write in old tech

      • If the page is going to be rewritten within the next N months, don't need to invest as much time on otherwise “Clean Code” practices on the legacy frontend page.

        • With a team-backlog reminder (e.g., TODO statement with a Jira ticket) to remove that “hack” code in N months.

  • Next steps:

    • Immediate collaboration with JJ to unblock her team

    • Adding a Frontend ADR to edx-platform

...