[일지 내용]
앱 서비스를 만든다는 것은
클라이언트와 서버 모두 만들어야 한다는 것을 뜻한다.
쉽게 설명하자면
클라이언트는 사용자가 보는 화면이다.
서버는 원하는 데이터가 있는 곳이고,
원하는 데이터를 요청하면 응답해주는 곳이기도 하다.
앱, 즉 클라이언트에서 원하는 데이터가 있을 때마다 서버에 요청하고, 응답 데이터를 받아 사용자에게 보여준다.
앱 개발은 대표적으로 "안드로이드"와 "iOS(아이폰)" 두 가지가 있다.
안드로이드는 Java와 Kotlin이라는 언어로 개발이 가능하고
iOS는 Swift라는 기술로 개발이 가능하다.
먼저 앱 개발 종류를 살펴보자면
안드로이드, iOS 각각 개발 하는 네이티브 앱!
웹 사이트를 만들고 껍데기를 씌워 간단히 배포하는 하이브리드 앱!
마지막으로 위 두 가지 방법을 합친 크로스 플랫폼 앱!
Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램
장점
단점
네이티브 앱과 웹 앱의 기능을 결합한 것(웹 앱: 흔히 사용하는 웹 브라우저를 통해 이용하는 것을 말한다.)
장점
단점
둘 이상 플랫폼에서 돌아가는 앱 만드는것이라 할 수 있다.
장점
단점
리액트 네이티브는 크로스 플랫폼 앱 개발 언어 중 하나로
페이스북에서 만들고 지원하고 있으며,
사용자 인터페이스(UI)를 만드는 데에 특화되어 있는 리액트 React.js 라이브러리/프레임워크 기반으로 앱을 제작하는 기술이다.(js = javascript 줄임말)
[기존 방식]
let a = function() {
console.log("function");
}
a();
[최신 방식]
let a = () => {
console.log("arrow function");
}
a();
//객체
let blog = {
owner : "ho",
url : "ho.tistory.com",
getPost() {
console.log("문법 정리");
}
};
//기존 할당 방식
let owner = blog.owner
let getPost = blog.getPost()
//비구조 할당 방식
let { owner, getPost } = blog;
//각각 blog 객체의 owner , getPost() 의 데이터가 할당
//blog의 키 값과 이름이 같아야한다.
//(예 - owner가 아니라 owner2를 넣으면 아무것도 안 들어온다.)
** 많이 사용할 방식**
//함수에서 비구조 할당 방식으로 전달된 딕셔너리 값 꺼내기
let blogFunction = ({owner,url,getPost}) => {
console.log(owner)
console.log(url)
console.log(getPost())
}
blogFunction(blog)
const id = "myId" ;
const url = `http://ho.tistory.com/login/${id}` ;
const message = "줄바꿈을 하려면 \n이 기호를 써야 했지만"
const message = ` 백틱은 줄바꿈도
마음대로 사용이 가능합니다. `
[기존 방식]
var name = "ho";
var job = "developer";
var user = {
name: name,
job: job
}
console.log(user);
//{name: "ho", job: "developer"}
[최신 방식]
var name = "ho";
var job = "developer";
var user = {
name,
job
}
console.log(user);
//{name: "ho", job: "developer"}
//for문
let numbers = [1,2,3,4,5,6,7];
for(let i=0; i<numbers.length; i++){
console.log(numbers[i]);
}
//map
let numbers = [1,2,3,4,5,6,7];
numbers.map((value,i) => {
console.log(value,i)
})
//numbers.map((value,i) => 는 numbers.map(function(value,i) 와 같다.
//1 0
//2 1
//3 2
//4 3
//5 4
//6 5
//7 6
외부로 내보낸다는 건 밖에서 쓸 수 있게 준비한다는 의미이고, 내부로 가져온다는 것은 외부로 내보낸 것들을 가져온다는 의미이다.
예를 들어 util.js 파일이 있다고 가정해보면
//times, plusTwo 함수를 외부로 내보낼 준비를 한다.
export function times(x) {
return x * x;
}
export function plusTwo(number) {
return number + 2;
}
// util.js에서 내보낸 함수들을 사용하는 모습
import { times, plusTwo } from './util.js';
console.log(times(2));
console.log(plusTwo(3));
export default 로 선언한 함수에 경우
// in util.js
export default function times(x) {
return x * x;
}
// in app.js
import k from './util.js';
console.log(k(4)); // returns 16
감사합니다 😊