본문 바로가기
프로그래밍/Flutter & Dart

Flutter webview widget 이용하기

by 어느덧중반 2020. 6. 27.
반응형

앱 개발을 하게 되면 개발을 어떤식으로 할지 정해야 할 것이다.

정하는 갈림길에는 네이티브, 하이브리드(웹/앱), 웹뷰 등 크게 3가지로 볼 수 있다.

Flutter는 네이티브를 지원(?)한다고 해야하나.. 나도 정확한 개념은 아직 모르지만 우선 웹뷰는 아니다.

웹뷰는 기존의 웹 방식으로 동작하는걸 앱에서 껍데기만 씌워서 껍데기 안에 웹으로 보여지도록 하는 방식이다.

내가 개발 중인 앱 중에 '책 구매하기' 등의 버튼을 클릭하면 인터파크의 책구매 사이트로 이동하도록 구현해야 하는데

이걸 굳이 Dart로 개발하려면 막막한데 웹뷰 라이브러리를 이용하여 나는 껍데기만 만들고 웹뷰로 보여주면

훨씬 수월하게 개발을 할 수가 있다.

아래의 준비과정 및 구현 방법을 통해 Flutter 내에서 웹뷰를 사용할 수 있다.

 


 

1. webview 이용을 위해 패키지 추가하기

 

2. android, ios 설정 추가하기

- android / app / src / main / AndroidManifest.xml

- ios / Runner / Info.plist

 

3. source 추가

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

class BuyBookPage extends StatefulWidget {
  @override
  _BuyBookPageState createState() => _BuyBookPageState();
}

class _BuyBookPageState extends State<BuyBookPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: titleTextColor,
        elevation: 0.0,
        iconTheme: IconThemeData.fallback(),
      ),
      body: SafeArea(
        child: WebView(
          initialUrl: 'http://mbook.interpark.com/shop/product/detail?prdNo=204759681&gclid=EAIaIQobChMInuKbsbSh6gIVxFVgCh0xGwEqEAQYASABEgL43fD_BwE',
          javascriptMode: JavascriptMode.unrestricted,
        ),
      ),
    );
  }
}

 

4. 웹뷰 확인 :  순백의 페이지(껍데기)만 만들고 그 안에서 인터파크의 구매화면을 보여주는 웹뷰로 보여주는 방식

반응형

댓글