패스트캠퍼스) ios 개발 챌린지

패스트캠퍼스 iOS 앱 개발 올인원 패키지 Online. 챌린지 참여 후기

student513 2020. 12. 7. 13:15

이것으로 약 한 달간의 iOS 앱 개발 올인원 패키지 Online. 수강도 마무리가 되었다.

물론 앞으로 들어야할 강의도 한참 남아있지만 천천히 들으려고 한다.

지금 당장은 네이버의 프론트엔드 인턴에 합격하여 React개발에 집중하려고 한다.

(앞으로 React로 계속 구직활동을 하게 될 것 같아서 swift 쓸 일이 있을까 모르겠다..)

 

import UIKit

class BountyViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    let nameList = ["brook", "chopper", "franky", "luffy", "nami", "robin", "sanji", "zoro"]
    let bountyList = [33000000, 50, 4400000, 30000000, 16000000, 8000000, 7700000, 12000000]
    
    //세그웨이 실행준비 함수
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        //DetailVieweController에 데이터를 넘겨주겠다
        if segue.identifier == "showDetail" {
            let vc = segue.destination as? DetailViewController
            
            if let index = sender as? Int{
                vc?.name = nameList[index]
                vc?.bounty = bountyList[index]
            }
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    //UITableViewDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return bountyList.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell=tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? ListCell else  {
            return UITableViewCell()
        }
        let img = UIImage(named: "\(nameList[indexPath.row]).jpg")
        cell.imgView.image = img
        cell.nameLable.text = nameList[indexPath.row]
        cell.bountyLable.text = "\(bountyList[indexPath.row])"
        return cell
    }
    
    //UITableViewDelegate
    func tableView(_ tableView: UITableView,
        didSelectRowAt indexPath: IndexPath){// 테이블뷰의 indexPath번째 셀이 클릭되었을 때 실행됨
        print("-->\(indexPath.row)")
        //세그웨이 수행: 다른 뷰로 넘어가겠다. indexPath번째 셀을 선택해서.
        performSegue(withIdentifier: "showDetail", sender: indexPath.row)
    }
  
}

class ListCell: UITableViewCell {
    @IBOutlet weak var imgView: UIImageView!
    @IBOutlet weak var nameLable: UILabel!
    @IBOutlet weak var bountyLable: UILabel!
}

그동안 위와 같은 개발을 진행하였다. 

간단하지만 두 개의 애플리케이션도 만들어보았고

이런 저런 코드도 작성해보았다

 

공부하면서 가장 크게 느낀 것은 언어가 다 거기서 거기, 고만고만하다는 것?

특히 자바스크립트와 정말 유사하다는 것을 많이 느꼈다.

프로그래밍 언어도 유행을 타고, 대세를 따르다보니 그런 것 같다.

 

대게 요즘은 함수형 프로그래밍 패러다임이 보편화되어있고 그쪽으로 점점 개선되는 것 같다.

그래서 그런지 처음에 언어를 접하는 것에 거부감이 없었고 익숙했다.

 

그리고 하나의 OS를 관리하는 기업에서 직접 만들어 내놓은 프로그래밍 언어여서인지

개발을 하는데 엄청난 편의가 제공된다는 것이 인상적이었다.

(그야 당연히 자기네 OS에서만 들어가는 프로그램을 개발하라고 만든거니까 그런건가?)

 

xcode에서 제공하는 스토리보드나 라이브러리들은 애플리케이션을 만들기에 최적화되어있었다.

vscode도 조금은 닮았으면 좋으련만, 프로그래밍 언어의 범용성을 위해선 어쩔 수 없는 부분이니까..

 

지금까지는 정말로 스위프트에 발 끝만 담군 느낌이다. 

아마 내가 1,2년만 일찍 IOS개발자로 진로를 결정하고, 맥북이 있었다면 지금쯤 열심히 IOS개발자로 구직하고 있지 않았을까?

그만큼 매력적인 언어이다.

 

지난 한 달이 내 인생에서 가장 블로그 활동을 왕성하게 한 시기이다.

물론 수강후기를 보러 오는 사람도 없을 뿐더러 환급 위한 검사 용도의 글이었으니까 그렇게 영양가 있는 정보가 있지는 않다.

 

의외로 이 블로그를 세운 목적이기도 한 첫 글이 인기를 끌고 있더라.

Open API 사용법에 대해 나름대로 친절하게 설명한 글인데 이제 막 개발을 시작한 개발자들에게 도움이 되고 있나보다.

투데이 쌓이는 거 보는 것도 나름 재밌달까

 

일단 IOS 개발에 관심을 갖게 된 것은 지난 7월쯤 IT스타트업에서 인턴을 시작한 무렵이다.

React Native로 모바일 어플리케이션을 개발하면서 흥미를 느끼기도 했고, 

퇴사 후에서 진로를 프론트엔드로 잡고 모바일 어플리케이션을 계속 개발했는데

React Native는 하이브리드 언어다보니까 네이티브 언어를 흉내내기 위해 애로사항이 꽃 피기 시작했다.

그리고 애초에 React Native를 주력으로 개발하는 회사도 별로 없기도 하고.

 

IT 스타트업이라 네이티브 개발 인력이 없어서 React Native를 개발언어로 채용한 것이지

규모가 있는 기업은 보통 네이티브 언어 개발 부서를 나눈다.

그러다보니 RN인력을 채용하는 곳도 적더라.

 

이왕 모바일 프론트엔드로 진로를 결정했으니 네이티브 언어를 사용하고자 했고,

둘 중 당연히 IOS를 고르게 되었다. 

내가 진성 앱등이이기도 하고, IOS가 돈을 또 잘 준다고 하니까?

 

근데 졸업학기인 내가 이제서야 IOS개발을 접한 것에서 유추할 수 있겠지만 진입 장벽이 꽤나 높다.

가난한 대학생이 살 정도로 맥북이 싸지도 않고, 일단 IOS 운영체제에 대한 왠지모를 거부감이 있으니까

 

그래서 접근성이 좋은 React Native를 먼저 접근하게 된 것이고

학기 중에 네이버와 함께하는 React 개발 프로젝트라는 좋은 기회가 생겨서 결국엔 그쪽 공부를 하게 되었다.

채용 전환까지 된다면 스위프트를 사용할 일은 반영구적으로 없을 것 같지만

개발 언어에 대한 시야를 넓히는 좋은 경험이었다.

 

 

 

올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq