🌈 오늘은 AWS SDK와 AWS Amplify에 대해 이야기해보려 합니다. 언뜻 보면 비슷해보이지만, 두 도구는 분명한 차이점이 있답니다ㅎㅎ
AWS SDK는 Amazon Web Services의 서비스를 쉽게 이용할 수 있도록 도와주는 개발자 도구킷이에요. AWS SDK를 사용하면 프로그래밍 언어로 AWS 서비스에 직접 연결할 수 있어요. 이게 포인트입니다. SDK는 Amplify보다 좀 더 '직접적'인 친구입니다!! 저수준의 제어에 용이하죠.
예를 들어, JavaScript용 AWS SDK를 사용하여 S3 버킷에 객체를 업로드하는 코드는 다음과 같습니다:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {
Bucket: 'my-bucket',
Key: 'my-key',
Body: 'Hello!'
};
s3.upload(params, function(err, data) {
if (err) {
console.error("Error", err);
} else {
console.log("Upload Success", data.Location);
}
});
📌 자세한 내용은 AWS SDK 공식 문서를 참조하세요.
AWS Amplify는 AWS 서비스를 더 쉽고 편리하게 사용할 수 있게 하는 라이브러리이자, 프레임워크에요. 특히 웹 및 모바일 앱 개발을 쉽고 빠르게 하기 위해 만들어진 친구에요! AWS 서비스에 대한 이해가 없어도 사용할 수 있다는게 가장 큰 장점입니다.
AWS Amplify를 사용하여 JavaScript로 동일한 S3 업로드 작업을 수행하는 코드는 다음과 같이 작성할 수 있어요:
import { Storage } from 'aws-amplify';
async function uploadFile(file) {
try {
const result = await Storage.put('my-key', file);
console.log('File uploaded successfully:', result);
} catch (error) {
console.error('Error uploading file:', error);
}
}
훨씬 코드가 짧죠? SDK는 필요한 파라미터도 많았는데, amplify는 알아서 다 해준답니다~
📘 자세한 내용은 AWS Amplify 공식 문서를 참조하세요.
정리하자면 두 도구 모두 AWS 서비스와 연동하여 작업을 돕지만, AWS Amplify는 특히 프론트엔드 개발에 더 집중되어 있습니다. 반면 AWS SDK는 좀 더 저수준의 API 작업에 중점을 두고 있어요.
AWS SDK:
저수준 API 접근 가능
더 많은 커스터마이징 옵션 제공
* 다양한 AWS 서비스와 직접적인 통합 가능
AWS Amplify:
사용자 친화적이고 높은 수준의 API 제공
빠른 프로토타이핑과 개발 가능
* 모바일 및 프론트엔드 개발에 특화
사실 커스텀이 필요한 기능이 아니라면 Amplify로도 충분할 것 같아요!
훨씬 더 간편하고, 오류도 적게 나더라고요.
프론트, 특히나 서버리스 환경에서 아주 강점을 보입니다.
하지만 기술 선택은 프로젝트의 요구 사항에 따라 달라지니, 각각을 비교해보고 본인의 프로젝트에 가장 적합한 도구를 선택해보세요!
다들 화이팅🍀
글 잘읽었습니다