Royce  Reinger

Royce Reinger

1626495325

Polyrepos vs Monorepos vs Independent Components

Introducing independent components: the love child of the monorepo and polyrepo development strategies

The age-old battle we’ve been fighting over on how to structure our projects between the monorepo folks and the polyrepo fanatics is now over.

It’s no longer valid to think of the pros and cons of having all your code inside a single centralized place versus separating everything into multiple, individual repositories. The results are in and they’re not what you would’ve expected, in fact, we all won.

Through the discussion and the innovation that emerged from that battle a new way of working was born:  independent components.

Keep reading for more details…

Let’s see what that means for us.

#monorepo #git #javascript

Polyrepos vs Monorepos vs Independent Components
Royce  Reinger

Royce Reinger

1626495325

Polyrepos vs Monorepos vs Independent Components

Introducing independent components: the love child of the monorepo and polyrepo development strategies

The age-old battle we’ve been fighting over on how to structure our projects between the monorepo folks and the polyrepo fanatics is now over.

It’s no longer valid to think of the pros and cons of having all your code inside a single centralized place versus separating everything into multiple, individual repositories. The results are in and they’re not what you would’ve expected, in fact, we all won.

Through the discussion and the innovation that emerged from that battle a new way of working was born:  independent components.

Keep reading for more details…

Let’s see what that means for us.

#monorepo #git #javascript

Polyrepos vs Monorepos vs Independent Components
Autumn  Blick

Autumn Blick

1598839687

How native is React Native? | React Native vs Native App Development

If you are undertaking a mobile app development for your start-up or enterprise, you are likely wondering whether to use React Native. As a popular development framework, React Native helps you to develop near-native mobile apps. However, you are probably also wondering how close you can get to a native app by using React Native. How native is React Native?

In the article, we discuss the similarities between native mobile development and development using React Native. We also touch upon where they differ and how to bridge the gaps. Read on.

A brief introduction to React Native

Let’s briefly set the context first. We will briefly touch upon what React Native is and how it differs from earlier hybrid frameworks.

React Native is a popular JavaScript framework that Facebook has created. You can use this open-source framework to code natively rendering Android and iOS mobile apps. You can use it to develop web apps too.

Facebook has developed React Native based on React, its JavaScript library. The first release of React Native came in March 2015. At the time of writing this article, the latest stable release of React Native is 0.62.0, and it was released in March 2020.

Although relatively new, React Native has acquired a high degree of popularity. The “Stack Overflow Developer Survey 2019” report identifies it as the 8th most loved framework. Facebook, Walmart, and Bloomberg are some of the top companies that use React Native.

The popularity of React Native comes from its advantages. Some of its advantages are as follows:

  • Performance: It delivers optimal performance.
  • Cross-platform development: You can develop both Android and iOS apps with it. The reuse of code expedites development and reduces costs.
  • UI design: React Native enables you to design simple and responsive UI for your mobile app.
  • 3rd party plugins: This framework supports 3rd party plugins.
  • Developer community: A vibrant community of developers support React Native.

Why React Native is fundamentally different from earlier hybrid frameworks

Are you wondering whether React Native is just another of those hybrid frameworks like Ionic or Cordova? It’s not! React Native is fundamentally different from these earlier hybrid frameworks.

React Native is very close to native. Consider the following aspects as described on the React Native website:

  • Access to many native platforms features: The primitives of React Native render to native platform UI. This means that your React Native app will use many native platform APIs as native apps would do.
  • Near-native user experience: React Native provides several native components, and these are platform agnostic.
  • The ease of accessing native APIs: React Native uses a declarative UI paradigm. This enables React Native to interact easily with native platform APIs since React Native wraps existing native code.

Due to these factors, React Native offers many more advantages compared to those earlier hybrid frameworks. We now review them.

#android app #frontend #ios app #mobile app development #benefits of react native #is react native good for mobile app development #native vs #pros and cons of react native #react mobile development #react native development #react native experience #react native framework #react native ios vs android #react native pros and cons #react native vs android #react native vs native #react native vs native performance #react vs native #why react native #why use react native

How native is React Native? | React Native vs Native App Development

PWA vs Native App: Which Is Better Option In 2021?

Every year, the world is expanding with the launch of new smartphones and other gadgets available in the market. According to Statista, more than 50% of the population will be using smartphones by the end of 2021.

Hence, businesses worldwide have understood the importance of smartphones and are joining the mobile industry by launching native apps.

Apart from native apps, progressive web apps is another technology that is gaining a lot of attention among businesses. Moreover, various leading companies worldwide have openly accepted PWA and built progressive web apps.

Now, the question arises, how is PWA different from the native apps? Read More

#pwa vs native #pwa vs native app #progressive web app vs native #progressive web app vs native app #pwa vs native app performance

PWA vs Native App: Which Is Better Option In 2021?
Wiley  Mayer

Wiley Mayer

1603926000

The Shift from Polyrepos to Monorepos

As code repositories have become more complex to reflect the nature of the intricate microservices architecture that they support⁠—and teams have started using multiple repos to manage different projects—challenges have started to appear in their management.

For starters, it is not always possible to maintain coding best practices in code repos when multiple projects are structured differently. There are also bottlenecks in packaging and deploying codes from multiple repositories.

Organizations are starting to transition from polyrepos to monorepos as a way to bring complex structure back to a manageable level. Having multiple codebases for web and mobile applications alone can be quite complex. Is shifting from polyrepos to monorepos really the answer? How can such transition be done smoothly?

The Logic Behind Polyrepos

The simple reason behind keeping services, modules, and libraries in separate repositories is actually very easy to understand. You are dealing with different components, and many of them – while may be interchangeable or used by multiple frontend components – are developed by different teams. Keeping them in separate repositories keeps things tidy.

However, problems start to occur when you try to integrate components from multiple repositories as the development cycle comes to its conclusion. A change in UI element, for example, can have a significant effect in how the entire app functions, and keeping track of that specific change is not easy when there are multiple codebases to track.

Other issues are starting to become more common too. The overhead needed to maintain multiple repositories can be huge when the project is not managed for efficiency. A set of services may require the same modules and dependencies, and each repo needs to configure those dependencies separately for the development to work.

Slowdowns become quite common. Simple tasks such as fixing bugs require thorough assessment, and the process itself becomes incredibly slow at times. Even with microservices in multiple repos linked correctly, it is still not always possible to assess the effects of a major change to the rest of the app.

The biggest concern with polyrepos is the complexity involved in tracking revisions and package updates. You cannot pinpoint which particular revision solves a specific bug, which means rollbacks and annotations are unnecessary complex too. These small difficulties add up, and they result in polyrepos becoming unsuitable for some organizations.

To make matters worse, teams with their own repositories don’t always use standardized tools and frameworks. Each team could have their own preferred tools, and they often introduce unnecessary differences in cofigurations; when I say differences, I mean variations that still require adjustments by the time you have to integrate microservices and push updates.

The Mono Approach

Centralizing the entire development project using a single repository, the monorepo approach, makes sense when the complexities mentioned earlier starts to affect your development cycle. You cannot just combine everything and be done with it though. Some adjustments are still needed before the monorepo can be effective for the whole team.

There are several tools designed to make managing projects with multiple packages easy. Lerna, for instance, works really well for projects that rely on JavaScript. Yarn Workspaces can be used to manage npm packages.

Simplifying component sharing is another thing that needs to be done when transitioning to a monorepo. Fortunately, you have tools like Bit helping you with the process. Bit in particular automates this step by immediately isolating components and their dependencies. When changes are made to one component, Bit makes sure that its dependents are updated too.

The three tools can be used in tandem. Bit + Lerna + Yarn Workspaces are notoriously reliable. Lerna can manage larger packages, while Bit takes care of the small components. Overhead is kept at a minimum when components and resources are shared between multiple packages. Yarn Workspaces, on the other hand, optimizes workflows and ties everything together.

#blog #code #resources #bit #ci/cd pipeline #code #development environments #lerna #monolithic source code repositories #monorepo #polyrepo #yarnl

The Shift from Polyrepos to Monorepos
Zachariah  Wiza

Zachariah Wiza

1625356080

What Is A Monorepo and Why You Should Care - Polyrepo Vs. Polyrepo

What is a monorepo and why you should care? Why would you use mono-repo in the first place? What are the differences between mono repo and polyrepo or multirepo? What are the pros and cons of monorepo? Should you switch to monorepo or keep using poly-repos or multi-repos?

#monorepo #What is a monorepo and why you should care? Why would you use mono-repo in the first place? What are the differences between mono repo and polyrepo or multirepo? What are the pros and cons of monorepo? Should you switch to monorepo or keep using poly-repos or multi-repos?

#monorepo #polyrepo #multirepo

▬▬▬▬▬▬ 🚀 Courses, books, and podcasts 🚀 ▬▬▬▬▬▬
📚 DevOps Catalog, Patterns, And Blueprints: https://www.devopstoolkitseries.com/posts/catalog/
📚 Books and courses: https://www.devopstoolkitseries.com
🎤 Podcast: https://www.devopsparadox.com/
💬 Live streams: https://www.youtube.com/c/DevOpsParadox

▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
➡ Twitter: https://twitter.com/vfarcic
➡ LinkedIn: https://www.linkedin.com/in/viktorfarcic/

▬▬▬▬▬▬ Timecodes ⏱ ▬▬▬▬▬▬
00:00 What is monorepo?
00:32 Who is using monorepos?
01:06 Advantages
02:01 Easier collaboration
03:50 Simplified dependency management
05:04 Easier refactoring
07:25 Disadvantages
12:46 Should you switch to monorepo? #multirepo

▬▬▬▬▬▬ 🚀 Courses, books, and podcasts 🚀 ▬▬▬▬▬▬
📚 DevOps Catalog, Patterns, And Blueprints: https://www.devopstoolkitseries.com/posts/catalog/
📚 Books and courses: https://www.devopstoolkitseries.com
🎤 Podcast: https://www.devopsparadox.com/
💬 Live streams: https://www.youtube.com/c/DevOpsParadox

▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
➡ Twitter: https://twitter.com/vfarcic
➡ LinkedIn: https://www.linkedin.com/in/viktorfarcic/

▬▬▬▬▬▬ Timecodes ⏱ ▬▬▬▬▬▬
00:00 What is monorepo?
00:32 Who is using monorepos?
01:06 Advantages
02:01 Easier collaboration
03:50 Simplified dependency management
05:04 Easier refactoring
07:25 Disadvantages
12:46 Should you switch to monorepo?

#polyrepo

What Is A Monorepo and Why You Should Care - Polyrepo Vs. Polyrepo