Sobes.tech
Middle

Por que preferes usar ferramentas de alto nível no teu trabalho?

sobes.tech IA

Resposta da IA

As ferramentas de alto nível permitem criar aplicações complexas mais rapidamente, reduzem o número de erros através da abstração de detalhes de baixo nível e melhoram a manutenção do código. Por exemplo, o uso de SwiftUI ou UIKit acelera significativamente o desenvolvimento de interfaces de utilizador em comparação com a gestão manual do Core Graphics a um nível mais baixo. Elas fornecem componentes prontos a usar, padrões de design e tratamento de eventos, o que reduz o tempo de implementação e permite concentrar-se na lógica de negócio.

Exemplo de uso de um framework de alto nível (SwiftUI):

//
//  ContentView.swift
//  MyCoolApp
//
//  Criado por Developer em 27-10-2023.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Image(systemName: "globe") // Ícone do sistema pronto a usar
                .imageScale(.large)
                .foregroundStyle(.tint)
            Text("Hello, world!") // Componente de texto pronto a usar
        }
        .padding() // Modificador pronto a usar para margens
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Exemplo de uso de uma abordagem de baixo nível (Core Graphics para desenho):

//
//  DrawingView.swift
//  ManualDrawingApp
//
//  Criado por Developer em 27-10-2023.
//

import UIKit

class DrawingView: UIView {

    override func draw(_ rect: CGRect) {
        guard let context = UIGraphicsGetCurrentContext() else { return }

        // Desenho manual de um retângulo
        context.setFillColor(UIColor.blue.cgColor)
        let rectangle = CGRect(x: 10, y: 10, width: 100, height: 50)
        context.addRect(rectangle)
        context.fill(rectangle)

        // Desenho manual de um círculo
        context.setStrokeColor(UIColor.red.cgColor)
        context.setLineWidth(2)
        let circle = CGRect(x: 120, y: 10, width: 50, height: 50)
        context.addEllipse(in: circle)
        context.strokePath()
    }
}

Pode-se ver que para desenhar elementos simples com Core Graphics, é necessário muito mais código e compreensão de detalhes de baixo nível do contexto gráfico, enquanto que o SwiftUI fornece componentes e modificadores prontos a usar para as mesmas tarefas.

Vantagens das ferramentas de alto nível:

  • Velocidade de desenvolvimento: O uso de abstrações e componentes prontos acelera o processo.
  • Manutenção: O código é mais legível e mais fácil de manter graças a uma estrutura clara e abstrações.
  • Redução de erros: As ferramentas de alto nível frequentemente oferecem tratamento integrado de casos comuns e evitam problemas de baixo nível.
  • Padronização: O uso de frameworks leva a um estilo de codificação mais consistente na equipa.

Apesar das vantagens, é importante entender que, em alguns casos específicos, pode ser necessário usar APIs de baixo nível para otimização ou tarefas não padrão, mas para a maioria das tarefas típicas, as ferramentas de alto nível são a escolha preferida.