Giter Club home page Giter Club logo

walk-of-fame's Introduction

Walk of Fame

Walk of Fame logo

You decide who gets to be the star!


What?

Walk Of Fame is an exercise in code sharing and modularization:

  • First, it used Kotlin Multiplatform to develop a core library containing the business logic and external dependencies, deploying to Android, iOS, JVM for Desktop and JS.
  • This core lib is deployed as a published artifact to multiple platforms.
  • For each platform a client implementation will be provided and the published artifact included as a dependency.
  • The application will be using The Movie DB api to:
    • Search for personalities listed in the DB
    • See details about them and their work

Why?

Modern applications are growing in complexity, and requiring several specialized teams. Since each of these teams usually have their own pipeline and roadmap of activities, it is hard to always keep them in sync.

Code sharing and multiplatform technologies came to aid in that fragmentation issue, by allowing to centralize business logic and minimize the duplication of work. But truth is it may end up creating some friction, since it's not always easy to convince all developers from all teams involved to learn the multiplatform technology and its tools.

So why not create yet another specialized team (at least in concept) responsible for a core library that uses these technologies internally, but export artifacts native to each platform, and that can be used on a regular application, the way native developers are used to? This way, each one can choose in which parts of the application to be involved in.

As a bonus, we keep separated builds for different parts of each application, reducing possible dependencies and tooling issues.

Disclaimer:
This is an exercise to test and exemplify the hypothesis above.
I am by no means an expert on the subject, and doing it to challenge myself and learn while at it.
Hopefully, by the end of it I can share my findings on what works and what doesn't :)

How?

wof-core is a Kotlin Multiplatform library where the business logic motor lives.

wof-compose is where the Android, Desktop and iOS clients are defined. Using Compose library, they can share UI components.

wof-web is a web client built with Compose for Web.

wof-cli is a simple CLI java application.

Who?

Design - melocs
gacordeiro - Programming
            by tutuland, with 💕

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.