Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to use steve’s jobs to improve devel👩‍💻🧑‍💻p...

How to use steve’s jobs to improve devel👩‍💻🧑‍💻pers’ experience

W prezentacji opowie jak wykorzystujemy obecne na rynku i budujemy własne narzędzia terminalowe, by ułatwić programistom i programistkom pracę nad aplikacją budowaną z ponad 200 modułów. Z odrobiną SwiftUI spróbujemy dodać Steve’owi nowy job z dostępnych “klocków”.

https://www.facebook.com/letswiftwroclaw/photos/gm.639570770990558/5105582082875769/

Maciej Piotrowski

November 17, 2022
Tweet

More Decks by Maciej Piotrowski

Other Decks in Technology

Transcript

  1. mobile apps big chunk of traf fi c The most

    popular product search engine in Poland
  2. requierements: single language codebase uni fi ed structure of sub-projects

    BUILD project fi les bazel build //Modules/Cart reality: multi language codebase (Swift+ObjC) uni fi ed structure of sub-projects BUILD project fi les bazel build //Modules/Cart Media: https://www.macrumors.com/2011/10/05/steve-jobs-has-passed-away
  3. OVERVIEW: Steve provides you a convenient way to solve daily

    👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Show the version. -h, --help Show help information. SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate multiple items related to Allegro app bazel Use this command to invoke bazel with parameters focus Allows you to focus on selected modules from Allegro workspace test Run tests for given project and scheme Media: https://www.macrumors.com/2011/10/05/steve-jobs-has-passed-away
  4. The Build of iOS Conf SG 2021: Speeding up the

    build process of a monolithic application 276 modules
  5. OVERVIEW: Steve provides you a convenient way to solve daily

    👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Show the version. -h, --help Show help information. SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate multiple items related to Allegro app bazel Use this command to invoke bazel with parameters focus Allows you to focus on selected modules from Allegro workspace test Run tests for given project and scheme
  6. OVERVIEW: Steve provides you a convenient way to solve daily

    👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Shows the version -h, --help Shows help information SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate modules for Allegro app bazel Use this command to invoke Bazel with parameters focus Allows to focus on selected modules from Allegro workspace test Runs tests for the given project and scheme Media: https://www.macrumors.com/2011/10/05/steve-jobs-has-passed-away OVERVIEW: Steve provides you a convenient way to solve daily 👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Shows the version -h, --help Shows help information SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate modules for Allegro app bazel Use this command to invoke Bazel with parameters focus Allows to focus on selected modules from Allegro workspace test Runs tests for the given project and scheme
  7. private public Cart 
 Interface ItemPage 
 Interface Payments 


    Interface SearchEngine 
 Interface Lists 
 Interface … Address 
 Interface Cart ItemPage Payments SearchEngine Lists … Address public & private modules: interfaces & implementations iOS Conf SG 2022: Dependency Injection at Scale
  8. OVERVIEW: Steve provides you a convenient way to solve daily

    👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Shows the version -h, --help Shows help information SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate modules for Allegro app bazel Use this command to invoke Bazel with parameters focus Allows to focus on selected modules from Allegro workspace test Runs tests for the given project and scheme Media: https://www.macrumors.com/2011/10/05/steve-jobs-has-passed-away OVERVIEW: Steve provides you a convenient way to solve daily 👨💻 development problems and complete repetitive tasks. USAGE: steve <subcommand> OPTIONS: --version Shows the version -h, --help Shows help information SUBCOMMANDS: fixme Fixes most common issues that developers encounter generate Allows to generate modules for Allegro app bazel Use this command to invoke Bazel with parameters focus Allows to focus on selected modules from Allegro workspace test Runs tests for the given project and scheme too many options
  9. import SwiftUI struct SteveUI : View { var body: some

    View { NavigationSplitView { // @available: macOS 13, iOS 16 NavigationLink(…) NavigationLink(…) } detail: { ModulesView(…) // runs commands e.g. `./steve focus` } } / / SteveUI : a SwiftUI app
  10. import RegexBuilder import Charts / / @available: macOS 13, iOS

    16 / / Let’s extend SteveUI : cloc (count lines of code)
  11. run virtual machine with macOS 13 / / @available: M1,

    M1 Pro, M1 Max, M2 … / / Let’s extend SteveUI : cloc (count lines of code)
  12. import ArgumentParser // write cmd tools, e.g. `steve` import SwiftUI

    // macOS apps are easy to write import RegexBuilder // are regexps easier? import Charts // we extendend steve’s jobs / / (Sort of) Summary and what you can do?
  13. https: / / github.com/yonaskolb/XcodeGen xcodegen - spec project.yml https: /

    / github.com/AlDanial/cloc cloc Your/Project/Location https: / / gist.github.com/maciejpiotrowski89/ e6892d8ae023e64dff4cab285f06d8e7 https: / / developer.apple.com/documentation/virtualization/ running_macos_in_a_virtual_machine_on_apple_silicon_macs / / (Sort of) Summary and what you can do?
  14. allegro.tech Speeding up iOS builds with Bazel Speeding up warm

    builds in Xcode Maciej Piotrowski twitter.com/macpiotrowski89 swifting.io